Interface IResourceDescriptor

All Superinterfaces:
Serializable
All Known Implementing Classes:
ByteArrayResourceDescriptor, CombinedResourceDescriptor, DevResourceDescriptor, DevResourceDescriptor, EmptyResourceDescriptor, PathResourceDescriptor, SupplyingResourceDescriptor, UrlResourceDescriptor, WrappedResourceDescriptor

public interface IResourceDescriptor extends Serializable
A resource descriptor that consists of an URI serving as the identifier for the resource, and an open() method for accessing the content of the resource. The resource identifier is used, for example, to prevent the same resource from being read multiple times. The content of the resource should not be dynamic and always be the same for a given URI.
Since:
7.0.0
Author:
XIMA MEDIA GmbH
  • Method Details

    • getAbsoluteUri

      URI getAbsoluteUri()
      Gets the absolute URI that identifies this resource. The URI should be unique for each resource. If there are different versions of the same resource, they should have different URIs, e.g. by including a version number in the URI. The URI is not used to access the binary data, but may be used e.g. for caching purposes.

      The URI must be unique globally, i.e. also across different plugins. It is recommended to use a URI scheme that is unlikely to be used by other plugins, e.g. by including the Maven group and artifact ID.

      It is an error for this method to return a URI where URI.isAbsolute() yields false.

      Returns:
      An absolute URI that identifies this resource.
    • getCharset

      default Charset getCharset()
      Returns:
      When this resource is a plain text resource: the charset or encoding of the text. Defaults to UTF_8.
      Since:
      8.0.0
    • open

      InputStream open() throws IOException
      Returns:
      An input stream to the content of the resource.
      Throws:
      IOException - When the resource could not be opened.