Interface ResourceData
- All Known Subinterfaces:
ResourceBundleData
- All Known Implementing Classes:
AbstractResourceData
,CachingResourceBundleData
,CachingResourceData
,ClassloaderResourceData
,FileObjectResourceData
,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
-
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
-