org.pentaho.reporting.libraries.resourceloader

Interface ResourceData

public interface ResourceData

A resource data object encapsulates the raw data of an resource at a given point in the past. Any change to the resource increases the version number. Version numbers are not needed to be checked regulary, but must be checked on each call to 'getVersion()'. This definitly does *not* solve the problem of concurrent modifications; if you need to be sure that the resource has not been altered between the last call to 'getVersion' and 'getResource..' external locking mechanism have to be implemented.

Author: Thomas Morgner

Field Summary
static StringCONTENT_LENGTH
static StringCONTENT_TYPE
static StringFILENAME
Method Summary
ObjectgetAttribute(String key)
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)

Field Detail

CONTENT_LENGTH

public static final String CONTENT_LENGTH

CONTENT_TYPE

public static final String CONTENT_TYPE

FILENAME

public static final String FILENAME

Method Detail

getAttribute

public Object getAttribute(String key)

getKey

public ResourceKey getKey()

getLength

public long getLength()

getResource

public byte[] getResource(ResourceManager caller)
This is dangerous, especially if the resource is large.

Parameters: caller

Returns:

Throws: ResourceLoadingException

getResource

public int getResource(ResourceManager caller, byte[] target, long offset, int length)
Tries to read data into the given byte-array.

Parameters: caller target offset length

Returns: the number of bytes read or -1 if no more data can be read.

Throws: ResourceLoadingException

getResourceAsStream

public InputStream getResourceAsStream(ResourceManager caller)

getVersion

public long getVersion(ResourceManager caller)