public final class JRLoader
extends java.lang.Object
Many JasperReports processes, like report compilation, report filling and exporting, often work with serialized objects. Sometimes it is useful to manually load those serialized objects before submitting them to the desired JasperReport process.
The most interesting method exposed by this class is
getLocationInputStream(String location)
.
When calling this method to load an InputStream object from
the supplied location, the program first tries to interpret the location as a valid resource name. If
this fails, then the program assumes that the supplied location is the name of a file on
disk and tries to read from it. If no file is found at that location, it will assume that the location
represents a valid URL. Only after this third
try fails an exception is thrown.
Modifier and Type | Method and Description |
---|---|
protected static void |
collectResources(java.lang.String resourceName,
java.lang.ClassLoader classLoader,
java.util.Map<java.net.URL,ClassLoaderResource> resources) |
protected static void |
collectResources(java.lang.String resourceName,
java.lang.ClassLoader classLoader,
java.util.Set<java.net.URL> resources) |
static java.util.List<ClassLoaderResource> |
getClassLoaderResources(java.lang.String resource)
Scans the context classloader and the classloader of this class for all
resources that have a specified name, and returns a list of
ClassLoaderResource objects for the found resources. |
static java.io.InputStream |
getFileInputStream(java.lang.String filename)
Tries to open a file for reading.
|
static java.io.InputStream |
getInputStream(java.io.File file) |
static java.io.InputStream |
getInputStream(java.net.URL url) |
static java.io.InputStream |
getLocationInputStream(java.lang.String location)
Tries to open an input stream for a location.
|
static java.net.URL |
getResource(java.lang.String resource)
Returns the resource URL for a specified resource name.
|
static java.io.InputStream |
getResourceInputStream(java.lang.String resource)
Tries to open an input stream for a resource.
|
static java.util.List<java.net.URL> |
getResources(java.lang.String resource)
Scans the context classloader and the classloader of this class for all
resources that have a specified name, and returns a list of
URL s for the found resources. |
static java.io.InputStream |
getURLInputStream(java.lang.String spec)
Tries to open an input stream for an URL.
|
static byte[] |
loadBytes(java.io.File file) |
static byte[] |
loadBytes(java.io.InputStream is) |
static byte[] |
loadBytes(java.net.URL url) |
static byte[] |
loadBytesFromResource(java.lang.String resourceName) |
static byte[] |
loadBytesFromResource(java.lang.String resourceName,
java.lang.ClassLoader classLoader) |
static JasperPrint |
loadJasperPrint(java.io.File file,
JRVirtualizer virtualizer)
Loads a JasperPrint object from a file, optionally using a virtualizer for
the object.
|
static JasperPrint |
loadJasperPrint(java.io.InputStream is,
JRVirtualizer virtualizer)
Loads a JasperPrint object from a stream, optionally using a virtualizer for
the object.
|
static JasperPrint |
loadJasperPrint(java.net.URL url,
JRVirtualizer virtualizer)
Loads a JasperPrint object from a URL, optionally using a virtualizer for
the object.
|
static JasperPrint |
loadJasperPrintFromFile(java.lang.String fileName,
JRVirtualizer virtualizer)
Loads a JasperPrint object from a file, optionally using a virtualizer for
the object.
|
static java.lang.Object |
loadObject(java.io.File file) |
static java.lang.Object |
loadObject(java.io.InputStream is) |
static java.lang.Object |
loadObject(JasperReportsContext jasperReportsContext,
java.io.File file) |
static java.lang.Object |
loadObject(JasperReportsContext jasperReportsContext,
java.io.InputStream is) |
static java.lang.Object |
loadObject(JasperReportsContext jasperReportsContext,
java.net.URL url) |
static java.lang.Object |
loadObject(java.net.URL url) |
static java.lang.Object |
loadObjectFromFile(java.lang.String fileName) |
static java.io.InputStream |
loadToMemoryInputStream(java.io.InputStream is) |
public static final java.lang.String EXCEPTION_MESSAGE_KEY_BYTE_DATA_FROM_INPUT_STREAM_ERROR
public static final java.lang.String EXCEPTION_MESSAGE_KEY_BYTE_DATA_LOADING_ERROR
public static final java.lang.String EXCEPTION_MESSAGE_KEY_CLASS_NOT_FOUND_FROM_FILE
public static final java.lang.String EXCEPTION_MESSAGE_KEY_CLASS_NOT_FOUND_FROM_INPUT_STREAM
public static final java.lang.String EXCEPTION_MESSAGE_KEY_CLASS_NOT_FOUND_FROM_URL
public static final java.lang.String EXCEPTION_MESSAGE_KEY_FILE_OPEN_ERROR
public static final java.lang.String EXCEPTION_MESSAGE_KEY_INPUT_STREAM_FROM_FILE_OPEN_ERROR
public static final java.lang.String EXCEPTION_MESSAGE_KEY_INPUT_STREAM_FROM_URL_OPEN_ERROR
public static final java.lang.String EXCEPTION_MESSAGE_KEY_OBJECT_FROM_FILE_LOADING_ERROR
public static final java.lang.String EXCEPTION_MESSAGE_KEY_OBJECT_FROM_INPUT_STREAM_LOADING_ERROR
public static final java.lang.String EXCEPTION_MESSAGE_KEY_OBJECT_FROM_URL_LOADING_ERROR
public static final java.lang.String EXCEPTION_MESSAGE_KEY_RESOURCE_NOT_FOUND
public static final java.lang.String EXCEPTION_MESSAGE_KEY_URL_OPEN_ERROR
public static java.lang.Object loadObjectFromFile(java.lang.String fileName) throws JRException
JRException
public static java.lang.Object loadObject(java.io.File file) throws JRException
JRException
public static java.lang.Object loadObject(JasperReportsContext jasperReportsContext, java.io.File file) throws JRException
JRException
public static java.lang.Object loadObject(java.net.URL url) throws JRException
JRException
public static java.lang.Object loadObject(JasperReportsContext jasperReportsContext, java.net.URL url) throws JRException
JRException
public static java.lang.Object loadObject(java.io.InputStream is) throws JRException
JRException
public static java.lang.Object loadObject(JasperReportsContext jasperReportsContext, java.io.InputStream is) throws JRException
JRException
public static java.io.InputStream getInputStream(java.io.File file) throws JRException
JRException
public static java.io.InputStream getInputStream(java.net.URL url) throws JRException
JRException
public static byte[] loadBytes(java.io.File file) throws JRException
JRException
public static byte[] loadBytes(java.net.URL url) throws JRException
JRException
public static byte[] loadBytes(java.io.InputStream is) throws JRException
JRException
public static java.io.InputStream loadToMemoryInputStream(java.io.InputStream is) throws JRException
JRException
public static byte[] loadBytesFromResource(java.lang.String resourceName) throws JRException
JRException
public static byte[] loadBytesFromResource(java.lang.String resourceName, java.lang.ClassLoader classLoader) throws JRException
JRException
public static java.io.InputStream getLocationInputStream(java.lang.String location) throws JRException
The method tries to interpret the location as a file name, a resource name or an URL. If any of these succeed, an input stream is created and returned.
location
- the locationnull
otherwise.JRException
public static java.io.InputStream getFileInputStream(java.lang.String filename) throws JRException
filename
- the file namenull
if the file was not foundJRException
public static java.io.InputStream getResourceInputStream(java.lang.String resource)
resource
- the resource namenull
if the resource was not foundpublic static java.util.List<java.net.URL> getResources(java.lang.String resource)
URL
s for the found resources.resource
- the resource namesURL
s of resources with the specified name;
the list is empty if no resources have been found for the nameClassLoader.getResources(String)
protected static void collectResources(java.lang.String resourceName, java.lang.ClassLoader classLoader, java.util.Set<java.net.URL> resources)
public static java.util.List<ClassLoaderResource> getClassLoaderResources(java.lang.String resource)
ClassLoaderResource
objects for the found resources.
The returned list contains the URLs of the resources, and for each resource the highest classloader in the classloader hierarchy on which the resource was found.
resource
- the resource namesClassLoader.getResources(String)
protected static void collectResources(java.lang.String resourceName, java.lang.ClassLoader classLoader, java.util.Map<java.net.URL,ClassLoaderResource> resources)
public static java.net.URL getResource(java.lang.String resource)
resource
- the resource namenull
if none foundClassLoader.getResource(String)
public static java.io.InputStream getURLInputStream(java.lang.String spec) throws JRException
spec
- the string to parse as an URLspec
is not a valid URLJRException
public static JasperPrint loadJasperPrintFromFile(java.lang.String fileName, JRVirtualizer virtualizer) throws JRException
fileName
- the file namevirtualizer
- the virtualizerJRException
JRVirtualizationHelper.setThreadVirtualizer(JRVirtualizer)
public static JasperPrint loadJasperPrint(java.io.File file, JRVirtualizer virtualizer) throws JRException
file
- the filevirtualizer
- the virtualizerJRException
JRVirtualizationHelper.setThreadVirtualizer(JRVirtualizer)
public static JasperPrint loadJasperPrint(java.net.URL url, JRVirtualizer virtualizer) throws JRException
url
- the URLvirtualizer
- the virtualizerJRException
JRVirtualizationHelper.setThreadVirtualizer(JRVirtualizer)
public static JasperPrint loadJasperPrint(java.io.InputStream is, JRVirtualizer virtualizer) throws JRException
is
- the streamvirtualizer
- the virtualizerJRException
JRVirtualizationHelper.setThreadVirtualizer(JRVirtualizer)
© 2001-2014 TIBCO Software Inc. www.jaspersoft.com