public final class JRLoader extends 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(String resourceName,
ClassLoader classLoader,
Map<URL,ClassLoaderResource> resources) |
protected static void |
collectResources(String resourceName,
ClassLoader classLoader,
Set<URL> resources) |
static List<ClassLoaderResource> |
getClassLoaderResources(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 InputStream |
getFileInputStream(String filename)
Tries to open a file for reading.
|
static InputStream |
getInputStream(File file) |
static InputStream |
getInputStream(URL url) |
static InputStream |
getLocationInputStream(String location)
Tries to open an input stream for a location.
|
static URL |
getResource(String resource)
Returns the resource URL for a specified resource name.
|
static InputStream |
getResourceInputStream(String resource)
Tries to open an input stream for a resource.
|
static List<URL> |
getResources(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 InputStream |
getURLInputStream(String spec)
Tries to open an input stream for an URL.
|
static byte[] |
loadBytes(File file) |
static byte[] |
loadBytes(InputStream is) |
static byte[] |
loadBytes(URL url) |
static byte[] |
loadBytesFromResource(String resourceName) |
static byte[] |
loadBytesFromResource(String resourceName,
ClassLoader classLoader) |
static JasperPrint |
loadJasperPrint(File file,
JRVirtualizer virtualizer)
Loads a JasperPrint object from a file, optionally using a virtualizer for
the object.
|
static JasperPrint |
loadJasperPrint(InputStream is,
JRVirtualizer virtualizer)
Loads a JasperPrint object from a stream, optionally using a virtualizer for
the object.
|
static JasperPrint |
loadJasperPrint(URL url,
JRVirtualizer virtualizer)
Loads a JasperPrint object from a URL, optionally using a virtualizer for
the object.
|
static JasperPrint |
loadJasperPrintFromFile(String fileName,
JRVirtualizer virtualizer)
Loads a JasperPrint object from a file, optionally using a virtualizer for
the object.
|
static Object |
loadObject(File file) |
static Object |
loadObject(InputStream is) |
static Object |
loadObject(JasperReportsContext jasperReportsContext,
File file) |
static Object |
loadObject(JasperReportsContext jasperReportsContext,
InputStream is) |
static Object |
loadObject(JasperReportsContext jasperReportsContext,
URL url) |
static Object |
loadObject(URL url) |
static Object |
loadObjectFromFile(String fileName) |
static byte[] |
readBytes(InputStream is) |
public static final String EXCEPTION_MESSAGE_KEY_BYTE_DATA_FROM_INPUT_STREAM_ERROR
public static final String EXCEPTION_MESSAGE_KEY_BYTE_DATA_LOADING_ERROR
public static final String EXCEPTION_MESSAGE_KEY_CLASS_NOT_FOUND_FROM_FILE
public static final String EXCEPTION_MESSAGE_KEY_CLASS_NOT_FOUND_FROM_INPUT_STREAM
public static final String EXCEPTION_MESSAGE_KEY_CLASS_NOT_FOUND_FROM_URL
public static final String EXCEPTION_MESSAGE_KEY_FILE_OPEN_ERROR
public static final String EXCEPTION_MESSAGE_KEY_INPUT_STREAM_FROM_FILE_OPEN_ERROR
public static final String EXCEPTION_MESSAGE_KEY_INPUT_STREAM_FROM_URL_OPEN_ERROR
public static final String EXCEPTION_MESSAGE_KEY_OBJECT_FROM_FILE_LOADING_ERROR
public static final String EXCEPTION_MESSAGE_KEY_OBJECT_FROM_INPUT_STREAM_LOADING_ERROR
public static final String EXCEPTION_MESSAGE_KEY_OBJECT_FROM_URL_LOADING_ERROR
public static final String EXCEPTION_MESSAGE_KEY_RESOURCE_NOT_FOUND
public static final String EXCEPTION_MESSAGE_KEY_URL_OPEN_ERROR
public static Object loadObjectFromFile(String fileName) throws JRException
JRException
public static Object loadObject(File file) throws JRException
JRException
public static Object loadObject(JasperReportsContext jasperReportsContext, File file) throws JRException
JRException
public static Object loadObject(URL url) throws JRException
JRException
public static Object loadObject(JasperReportsContext jasperReportsContext, URL url) throws JRException
JRException
public static Object loadObject(InputStream is) throws JRException
JRException
public static Object loadObject(JasperReportsContext jasperReportsContext, InputStream is) throws JRException
JRException
public static InputStream getInputStream(File file) throws JRException
JRException
public static InputStream getInputStream(URL url) throws JRException
JRException
public static byte[] loadBytes(File file) throws JRException
JRException
public static byte[] loadBytes(URL url) throws JRException
JRException
public static byte[] loadBytes(InputStream is) throws JRException
JRException
public static byte[] readBytes(InputStream is) throws IOException
IOException
public static byte[] loadBytesFromResource(String resourceName) throws JRException
JRException
public static byte[] loadBytesFromResource(String resourceName, ClassLoader classLoader) throws JRException
JRException
public static InputStream getLocationInputStream(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 InputStream getFileInputStream(String filename) throws JRException
filename
- the file namenull
if the file was not foundJRException
public static InputStream getResourceInputStream(String resource)
resource
- the resource namenull
if the resource was not foundpublic static List<URL> getResources(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(String resourceName, ClassLoader classLoader, Set<URL> resources)
public static List<ClassLoaderResource> getClassLoaderResources(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(String resourceName, ClassLoader classLoader, Map<URL,ClassLoaderResource> resources)
public static URL getResource(String resource)
resource
- the resource namenull
if none foundClassLoader.getResource(String)
public static InputStream getURLInputStream(String spec) throws JRException
spec
- the string to parse as an URLspec
is not a valid URLJRException
public static JasperPrint loadJasperPrintFromFile(String fileName, JRVirtualizer virtualizer) throws JRException
fileName
- the file namevirtualizer
- the virtualizerJRException
JRVirtualizationHelper.setThreadVirtualizer(JRVirtualizer)
public static JasperPrint loadJasperPrint(File file, JRVirtualizer virtualizer) throws JRException
file
- the filevirtualizer
- the virtualizerJRException
JRVirtualizationHelper.setThreadVirtualizer(JRVirtualizer)
public static JasperPrint loadJasperPrint(URL url, JRVirtualizer virtualizer) throws JRException
url
- the URLvirtualizer
- the virtualizerJRException
JRVirtualizationHelper.setThreadVirtualizer(JRVirtualizer)
public static JasperPrint loadJasperPrint(InputStream is, JRVirtualizer virtualizer) throws JRException
is
- the streamvirtualizer
- the virtualizerJRException
JRVirtualizationHelper.setThreadVirtualizer(JRVirtualizer)
Copyright © 2023 Cloud Software Group, Inc.. All rights reserved.