org.pentaho.reporting.libraries.resourceloader

Interface ResourceLoader

public interface ResourceLoader

A resource loader knows how to get binary rawdata from a location specified by an resource key. A resource key is a wrapper around any kind of data that is suitable to identify a resource location. The resource key can also hold configuration data for the factory. If the storage system is hierarchical, a new resource key can be derived from a given path-string.

Author: Thomas Morgner

Method Summary
ResourceKeycreateKey(Object value, Map factoryKeys)
Creates a new resource key from the given object and the factory keys.
ResourceKeyderiveKey(ResourceKey parent, String path, Map factoryKeys)
Derives a new resource key from the given key.
booleanisSupportedKey(ResourceKey key)
Checks, whether this resource loader implementation was responsible for creating this key.
ResourceDataload(ResourceKey key)
Loads the binary data represented by this key.
URLtoURL(ResourceKey key)

Method Detail

createKey

public ResourceKey createKey(Object value, Map factoryKeys)
Creates a new resource key from the given object and the factory keys.

Parameters: value the key value. factoryKeys optional parameter map (can be null).

Returns: the created key or null, if the format was not recognized.

Throws: ResourceKeyCreationException if creating the key failed.

deriveKey

public ResourceKey deriveKey(ResourceKey parent, String path, Map factoryKeys)
Derives a new resource key from the given key. If neither a path nor new factory-keys are given, the parent key is returned.

Parameters: parent the parent path the derived path (can be null). factoryKeys the optional factory keys (can be null).

Returns: the derived key.

Throws: ResourceKeyCreationException if the key cannot be derived for any reason.

isSupportedKey

public boolean isSupportedKey(ResourceKey key)
Checks, whether this resource loader implementation was responsible for creating this key.

Parameters: key the key that should be tested.

Returns: true, if the key is supported.

load

public ResourceData load(ResourceKey key)
Loads the binary data represented by this key.

Parameters: key

Returns:

Throws: ResourceLoadingException

toURL

public URL toURL(ResourceKey key)