Class CachingResourceBundleData
- java.lang.Object
-
- org.pentaho.reporting.libraries.resourceloader.cache.CachingResourceBundleData
-
- All Implemented Interfaces:
Serializable,ResourceBundleData,ResourceData
public class CachingResourceBundleData extends Object implements ResourceBundleData, Serializable
A very simple implementation which is suitable for smaller objects. The complete data is read into memory.- Author:
- Thomas Morgner
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.pentaho.reporting.libraries.resourceloader.ResourceData
CONTENT_LENGTH, CONTENT_TYPE, FILENAME
-
-
Constructor Summary
Constructors Constructor Description CachingResourceBundleData(ResourceBundleData data)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ResourceBundleDatacreateCached(ResourceBundleData data)ResourceBundleDataderiveData(ResourceKey key)ResourceManagerderiveManager(ResourceManager parent)ObjectgetAttribute(String key)ResourceBundleDatagetBackend()ResourceKeygetBundleKey()ResourceKeygetKey()longgetLength()byte[]getResource(ResourceManager caller)This is dangerous, especially if the resource is large.intgetResource(ResourceManager caller, byte[] target, long offset, int length)Tries to read data into the given byte-array.InputStreamgetResourceAsStream(ResourceManager caller)longgetVersion(ResourceManager caller)
-
-
-
Constructor Detail
-
CachingResourceBundleData
public CachingResourceBundleData(ResourceBundleData data)
-
-
Method Detail
-
getResourceAsStream
public InputStream getResourceAsStream(ResourceManager caller) throws ResourceLoadingException
- Specified by:
getResourceAsStreamin interfaceResourceData- Throws:
ResourceLoadingException
-
getLength
public long getLength()
- Specified by:
getLengthin interfaceResourceData
-
getResource
public byte[] getResource(ResourceManager caller) throws ResourceLoadingException
Description copied from interface:ResourceDataThis is dangerous, especially if the resource is large.- Specified by:
getResourcein interfaceResourceData- Returns:
- Throws:
ResourceLoadingException
-
getResource
public int getResource(ResourceManager caller, byte[] target, long offset, int length) throws ResourceLoadingException
Description copied from interface:ResourceDataTries to read data into the given byte-array.- Specified by:
getResourcein interfaceResourceData- Returns:
- the number of bytes read or -1 if no more data can be read.
- Throws:
ResourceLoadingException
-
getAttribute
public Object getAttribute(String key)
- Specified by:
getAttributein interfaceResourceData
-
getKey
public ResourceKey getKey()
- Specified by:
getKeyin interfaceResourceData
-
getVersion
public long getVersion(ResourceManager caller) throws ResourceLoadingException
- Specified by:
getVersionin interfaceResourceData- Throws:
ResourceLoadingException
-
getBundleKey
public ResourceKey getBundleKey()
- Specified by:
getBundleKeyin interfaceResourceBundleData
-
deriveData
public ResourceBundleData deriveData(ResourceKey key) throws ResourceLoadingException
- Specified by:
deriveDatain interfaceResourceBundleData- Throws:
ResourceLoadingException
-
deriveManager
public ResourceManager deriveManager(ResourceManager parent) throws ResourceLoadingException
- Specified by:
deriveManagerin interfaceResourceBundleData- Throws:
ResourceLoadingException
-
getBackend
public ResourceBundleData getBackend()
-
createCached
public static ResourceBundleData createCached(ResourceBundleData data)
-
-