Package 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

## Field Summary

### Fields inherited from interface org.pentaho.reporting.libraries.resourceloader.ResourceData

`CONTENT_LENGTH, CONTENT_TYPE, FILENAME`

## Constructor Summary

Constructors
Constructor
Description
`CachingResourceData(ResourceData data)`

## Method Summary

Modifier and Type
Method
Description
`static ResourceData`
`createCached(ResourceData data)`
`Object`
`getAttribute(String key)`
`ResourceKey`
`getKey()`
`long`
`getLength()`
`byte[]`
`getResource(ResourceManager caller)`
This is dangerous, especially if the resource is large.
`int`
`getResource(ResourceManager caller, byte[] target, long offset, int length)`
Tries to read data into the given byte-array.
`InputStream`
`getResourceAsStream(ResourceManager caller)`
`long`
`getVersion(ResourceManager caller)`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### CachingResourceData

public CachingResourceData(ResourceData data)

## Method Details

### 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`
Parameters:
  `caller` -
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`
Parameters:
  `caller` -
  `target` -
  `offset` -
  `length` -
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)