org.pentaho.reporting.libraries.resourceloader.cache
Class CachingResourceData
java.lang.Object
org.pentaho.reporting.libraries.resourceloader.cache.CachingResourceData
- All Implemented Interfaces:
- Serializable, ResourceData
public class CachingResourceData
- extends Object
- implements ResourceData, 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
CachingResourceData
public CachingResourceData(ResourceData data)
getResourceAsStream
public InputStream getResourceAsStream(ResourceManager caller)
throws ResourceLoadingException
- Specified by:
getResourceAsStream
in interface ResourceData
- Throws:
ResourceLoadingException
getLength
public long getLength()
- Specified by:
getLength
in interface ResourceData
getResource
public byte[] getResource(ResourceManager caller)
throws ResourceLoadingException
- Description copied from interface:
ResourceData
- This is dangerous, especially if the resource is large.
- Specified by:
getResource
in interface ResourceData
- Returns:
-
- Throws:
ResourceLoadingException
getResource
public int getResource(ResourceManager caller,
byte[] target,
long offset,
int length)
throws ResourceLoadingException
- Description copied from interface:
ResourceData
- Tries to read data into the given byte-array.
- Specified by:
getResource
in interface ResourceData
- 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:
getAttribute
in interface ResourceData
getKey
public ResourceKey getKey()
- Specified by:
getKey
in interface ResourceData
getVersion
public long getVersion(ResourceManager caller)
throws ResourceLoadingException
- Specified by:
getVersion
in interface ResourceData
- Throws:
ResourceLoadingException
createCached
public static ResourceData createCached(ResourceData data)