Interface ResourceBundleLoader


public interface ResourceBundleLoader
A resource bundle is a compound archive that holds several resources.
Author:
Thomas Morgner
  • 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

      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.
    • deriveKey

      ResourceKey deriveKey(ResourceKey parent, String path, Map<? extends ParameterKey,? extends Object> 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.
      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.
    • serialize

      String serialize(ResourceKey bundleKey, ResourceKey key) throws ResourceException
      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
    • deserialize

      ResourceKey deserialize(ResourceKey bundleKey, String stringKey) throws ResourceKeyCreationException
      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

      boolean isSupportedDeserializer(String data) throws ResourceKeyCreationException
      Throws:
      ResourceKeyCreationException