org.pentaho.reporting.libraries.resourceloader.loader.resource

## Class ClassloaderResourceLoader

- java.lang.Object
- - org.pentaho.reporting.libraries.resourceloader.loader.resource.ClassloaderResourceLoader

All Implemented Interfaces:
  ResourceLoader

    public class ClassloaderResourceLoader
    extends java.lang.Object
    implements ResourceLoader

Creation-Date: 05.04.2006, 14:40:59

Author:
  Thomas Morgner

### Field Summary

Fields
`static java.lang.String` `SCHEMA_NAME`

### Constructor Summary

Constructors
Constructor and Description
`ClassloaderResourceLoader()`

### Method Summary

Methods
`ResourceKey` `createKey(java.lang.Object value, java.util.Map factoryKeys)` Creates a new resource key from the given object and the factory keys.
`static java.lang.String` `createResourceKey(java.lang.Class c, java.lang.String resource)` A helper method to make it easier to create resource descriptions.
`ResourceKey` `deriveKey(ResourceKey parent, java.lang.String path, java.util.Map factoryKeys)` Derives a new resource key from the given key.
`ResourceKey` `deserialize(ResourceKey bundleKey, java.lang.String stringKey)` Parses the input string and returns a newly created ResourceKey based on the string data
`boolean` `isSupportedDeserializer(java.lang.String data)` Determines if the resource loader is capable of deserializing the serialized version of the ResourceKey.
`boolean` `isSupportedKey(ResourceKey key)` Checks, whether this resource loader implementation was responsible for creating this key.
`ResourceData` `load(ResourceKey key)` Loads the binary data represented by this key.
`java.lang.String` `serialize(ResourceKey bundleKey, ResourceKey key)` Creates a String version of the resource key that can be used to generate a new ResourceKey object via deserialization
`java.net.URL` `toURL(ResourceKey key)` Generates a `URL` version of the supplied `ResourceKey`.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### SCHEMA_NAME

    public static final java.lang.String SCHEMA_NAME

### Constructor Detail

#### ClassloaderResourceLoader

    public ClassloaderResourceLoader()

### Method Detail

#### isSupportedKey

    public boolean isSupportedKey(ResourceKey key)

Checks, whether this resource loader implementation was responsible for creating this key.

Specified by:
  `isSupportedKey` in interface `ResourceLoader`
Parameters:
  `key` -
Returns:

#### createKey

    public ResourceKey createKey(java.lang.Object value,
                        java.util.Map factoryKeys)
                          throws ResourceKeyCreationException

Creates a new resource key from the given object and the factory keys.

Specified by:
  `createKey` in interface `ResourceLoader`
Parameters:
  `value` -
  `factoryKeys` -
Returns:
  the created key.
Throws:
  `ResourceKeyCreationException` - if creating the key failed.

#### deriveKey

    public ResourceKey deriveKey(ResourceKey parent,
                        java.lang.String path,
                        java.util.Map factoryKeys)
                          throws ResourceKeyCreationException

Derives a new resource key from the given key. If neither a path nor new factory-keys are given, the parent key is returned.

Specified by:
  `deriveKey` in interface `ResourceLoader`
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.

#### toURL

    public java.net.URL toURL(ResourceKey key)

Description copied from interface: `ResourceLoader`
Generates a `URL` version of the supplied `ResourceKey`.

Specified by:
  `toURL` in interface `ResourceLoader`
Parameters:
  `key` - the `ResourceKey` from which a `URL` will be created
Returns:
  the URL representation of the `ResourceKey`

#### load

    public ResourceData load(ResourceKey key)
                      throws ResourceLoadingException

Description copied from interface: `ResourceLoader`
Loads the binary data represented by this key.

Specified by:
  `load` in interface `ResourceLoader`
Returns:
Throws:
  `ResourceLoadingException`

#### createResourceKey

    public static java.lang.String createResourceKey(java.lang.Class c,
                                     java.lang.String resource)

A helper method to make it easier to create resource descriptions.

Parameters:
  `c` -
  `resource` -
Returns:

#### serialize

    public java.lang.String serialize(ResourceKey bundleKey,
                             ResourceKey key)
                               throws ResourceException

Creates a String version of the resource key that can be used to generate a new ResourceKey object via deserialization

Specified by:
  `serialize` in interface `ResourceLoader`
Parameters:
  `bundleKey` -
  `key` -
Returns:
  a `String`which is a serialized version of the `ResourceKey```
Throws:
  `ResourceException` - indicates an error serializing the resource key

#### deserialize

    public ResourceKey deserialize(ResourceKey bundleKey,
                          java.lang.String stringKey)
                            throws ResourceKeyCreationException

Parses the input string and returns a newly created ResourceKey based on the string data

Specified by:
  `deserialize` in interface `ResourceLoader`
  `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(java.lang.String data)

Description copied from interface: `ResourceLoader`
Determines if the resource loader is capable of deserializing the serialized version of the ResourceKey.

Specified by:
  `isSupportedDeserializer` in interface `ResourceLoader`
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.