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 java.lang.String CONTENT_LENGTH
           
static java.lang.String CONTENT_TYPE
           
static java.lang.String FILENAME
           
 
Method Summary
 java.lang.Object getAttribute(java.lang.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.
 java.io.InputStream getResourceAsStream(ResourceManager caller)
           
 long getVersion(ResourceManager caller)
           
 

Field Detail

CONTENT_LENGTH

static final java.lang.String CONTENT_LENGTH
See Also:
Constant Field Values

CONTENT_TYPE

static final java.lang.String CONTENT_TYPE
See Also:
Constant Field Values

FILENAME

static final java.lang.String FILENAME
See Also:
Constant Field Values
Method Detail

getResourceAsStream

java.io.InputStream getResourceAsStream(ResourceManager caller)
                                        throws ResourceLoadingException
Throws:
ResourceLoadingException

getResource

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

Parameters:
caller -
Returns:
Throws:
ResourceLoadingException

getResource

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.
Throws:
ResourceLoadingException

getAttribute

java.lang.Object getAttribute(java.lang.String key)

getKey

ResourceKey getKey()

getVersion

long getVersion(ResourceManager caller)
                throws ResourceLoadingException
Throws:
ResourceLoadingException