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.
ResourceKeydeserialize(ResourceKey bundleKey, String stringKey)
Creates a ResourceKey based off the String representation of the key.
booleanisSupportedDeserializer(String data)
Determines if the resource loader is capable of deserializing the serialized version of the ResourceKey.
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.
Stringserialize(ResourceKey bundleKey, ResourceKey key)
Serializes the resource key to a String representation which can be recreated using the deserialize(ResourceKey) method.
URLtoURL(ResourceKey key)
Generates a URL version of the supplied ResourceKey.

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.

deserialize

public ResourceKey deserialize(ResourceKey bundleKey, String stringKey)
Creates a ResourceKey based off the String representation of the key. The String should have been created using the serialize method.

Parameters: bundleKey stringKey the String representation of the ResourceKey @return a ResourceKey which matches the String representation

Throws: ResourceKeyCreationException indicates an error occurred in the creation or deserialization of the ResourceKey

isSupportedDeserializer

public boolean isSupportedDeserializer(String data)
Determines if the resource loader is capable of deserializing the serialized version of the ResourceKey.

Parameters: data the serialized version of the resource key

Returns: true if this ResourceLoader is capable of deserializing the serialized version of this resource key, false otherwise.

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

serialize

public String serialize(ResourceKey bundleKey, ResourceKey key)
Serializes the resource key to a String representation which can be recreated using the deserialize(ResourceKey) method.

Parameters: bundleKey key

Returns: a String which is a serialized version of the ResourceKey

Throws: ResourceException indicates an error serializing the resource key

toURL

public URL toURL(ResourceKey key)
Generates a URL version of the supplied ResourceKey.

Parameters: key the ResourceKey from which a URL will be created

Returns: the URL representation of the ResourceKey