org.jfree.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 String
CONTENT_LENGTH
static String
CONTENT_TYPE
static String
FILENAME

Method Summary

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

Field Details

CONTENT_LENGTH

public static final String CONTENT_LENGTH

CONTENT_TYPE

public static final String CONTENT_TYPE

FILENAME

public static final String FILENAME

Method Details

getAttribute

public Object getAttribute(String key)

getKey

public ResourceKey getKey()

getResource

public byte[] getResource(ResourceManager caller)
            throws ResourceLoadingException
This is dangerous, especially if the resource is large.
Parameters:
caller -
Returns:

getResource

public int getResource(ResourceManager caller,
                       byte[] target,
                       int offset,
                       int length)
            throws ResourceLoadingException
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.

getResourceAsStream

public InputStream getResourceAsStream(ResourceManager caller)
            throws ResourceLoadingException

getVersion

public long getVersion(ResourceManager caller)
            throws ResourceLoadingException