Interface ResourceBundleLoader
public interface ResourceBundleLoader
A resource bundle is a compound archive that holds several resources.
- Author:
- Thomas Morgner
-
Method Summary
Modifier and TypeMethodDescriptionderiveKey
(ResourceKey parent, String path, Map<? extends ParameterKey, ? extends Object> factoryKeys) Derives a new resource key from the given key.deserialize
(ResourceKey bundleKey, String stringKey) Creates aResourceKey
based off theString
representation of the key.boolean
boolean
Checks, whether this resource loader implementation was responsible for creating this key.loadBundle
(ResourceManager resourceManager, ResourceKey key) Tries to load the bundle.serialize
(ResourceKey bundleKey, ResourceKey key) Serializes the resource key to a String representation which can be recreated using thedeserialize(ResourceKey)
method.
-
Method Details
-
loadBundle
ResourceBundleData loadBundle(ResourceManager resourceManager, ResourceKey key) throws ResourceLoadingException Tries to load the bundle. If the key does not point to a usable resource-bundle, this method returns null. The Exception is only thrown if the bundle is not readable because of IO-Errors. A resource-bundle loader should only load the bundle for the key itself, never for any of the derived subkeys. It is the ResourceManager's responsibility to search the key's hierachy for the correct key.- Parameters:
key
- the resource key pointing to the bundle.- Returns:
- the loaded bundle or null, if the resource was not understood.
- Throws:
ResourceLoadingException
- if something goes wrong.
-
isSupportedKey
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.
-
deriveKey
ResourceKey deriveKey(ResourceKey parent, String path, Map<? extends ParameterKey, ? extends Object> factoryKeys) throws ResourceKeyCreationExceptionDerives 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 parentpath
- 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.
-
serialize
Serializes the resource key to a String representation which can be recreated using thedeserialize(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
-
deserialize
ResourceKey deserialize(ResourceKey bundleKey, String stringKey) throws ResourceKeyCreationException Creates aResourceKey
based off theString
representation of the key. TheString
should have been created using theserialize
method.- Parameters:
bundleKey
-stringKey
- theString
representation of theResourceKey
@return aResourceKey
which matches theString
representation- Throws:
ResourceKeyCreationException
- indicates an error occurred in the creation or deserialization of theResourceKey
-
isSupportedDeserializer
- Throws:
ResourceKeyCreationException
-