Interface ResourceData
- All Known Subinterfaces:
ResourceBundleData
- All Known Implementing Classes:
AbstractResourceData, CachingResourceBundleData, CachingResourceData, ClassloaderResourceData, FileResourceData, RawResourceData, URLResourceData, ZipResourceData
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
Fields -
Method Summary
Modifier and TypeMethodDescriptiongetAttribute
(String key) getKey()
long
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.getResourceAsStream
(ResourceManager caller) long
getVersion
(ResourceManager caller)
-
Field Details
-
CONTENT_LENGTH
- See Also:
-
CONTENT_TYPE
- See Also:
-
FILENAME
- See Also:
-
-
Method Details
-
getResourceAsStream
- Throws:
ResourceLoadingException
-
getResource
This is dangerous, especially if the resource is large.- Parameters:
caller
-- Returns:
- Throws:
ResourceLoadingException
-
getResource
int getResource(ResourceManager caller, byte[] target, long 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
-
getLength
long getLength() -
getAttribute
-
getKey
ResourceKey getKey() -
getVersion
- Throws:
ResourceLoadingException
-