Class UrlResourceDescriptor

java.lang.Object
de.xima.fc.workflow.UrlResourceDescriptor
All Implemented Interfaces:
IResourceDescriptor, Serializable

public final class UrlResourceDescriptor extends Object implements IResourceDescriptor
Implements IResourceDescriptor via an URL.
Since:
7.0.0
Author:
XIMA MEDIA GmbH
See Also:
  • Constructor Details

  • Method Details

    • getAbsoluteUri

      public URI getAbsoluteUri()
      Description copied from interface: IResourceDescriptor
      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.

      Specified by:
      getAbsoluteUri in interface IResourceDescriptor
      Returns:
      An absolute URI that identifies this resource.
    • getCharset

      public Charset getCharset()
      Specified by:
      getCharset in interface IResourceDescriptor
      Returns:
      When this resource is a plain text resource: the charset or encoding of the text. Defaults to UTF_8.
    • open

      public InputStream open() throws IOException
      Specified by:
      open in interface IResourceDescriptor
      Returns:
      An input stream to the content of the resource.
      Throws:
      IOException - When the resource could not be opened.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • forClasspathResource

      public static IResourceDescriptor forClasspathResource(Class<?> clazz, String path, Charset charset) throws URISyntaxException
      Creates a new resource descriptor that reads the data from the given classpath.
      Parameters:
      clazz - Class with a class loader for reading the resource.
      path - Path of the resource. Always interpreted as an absolute path, may or may not start with a slash.
      charset - Charset for plain text files. null for binary files.
      Returns:
      A new resource descriptor that reads the data from the given classpath.
      Throws:
      URISyntaxException - When no URI was given and the URL obtained from the class loader cannot be converted to a URI.
      IllegalArgumentException - When the path cannot be loaded by the class loader.
    • forClasspathResource

      public static IResourceDescriptor forClasspathResource(ClassLoader loader, String path, Charset charset) throws URISyntaxException
      Creates a new resource descriptor that reads the data from the given classpath.
      Parameters:
      loader - Class loader for reading the resource.
      path - Path of the resource. Always interpreted as an absolute path, may or may not start with a slash.
      charset - Charset for plain text files. null for binary files.
      Returns:
      A new resource descriptor that reads the data from the given classpath.
      Throws:
      URISyntaxException - When no URI was given and the URL obtained from the class loader cannot be converted to a URI.
      IllegalArgumentException - When the path cannot be loaded by the class loader.
    • forClasspathResource

      public static IResourceDescriptor forClasspathResource(Class<?> clazz, String path, URI uri, Charset charset) throws URISyntaxException
      Creates a new resource descriptor that reads the data from the given classpath.
      Parameters:
      clazz - Class with a class loader for reading the resource.
      path - Path of the resource. Always interpreted as an absolute path, may or may not start with a slash.
      uri - Identifier of the resource.
      charset - Charset for plain text files. null for binary files.
      Returns:
      A new resource descriptor that reads the data from the given classpath.
      Throws:
      URISyntaxException - When no URI was given and the URL obtained from the class loader cannot be converted to a URI.
      IllegalArgumentException - When the path cannot be loaded by the class loader.
    • forClasspathResource

      public static IResourceDescriptor forClasspathResource(ClassLoader loader, String path, URI uri, Charset charset) throws URISyntaxException
      Creates a new resource descriptor that reads the data from the given classpath.
      Parameters:
      loader - Class loader for reading the resource.
      path - Path of the resource. Always interpreted as an absolute path, may or may not start with a slash.
      uri - Identifier of the resource.
      charset - Charset for plain text files. null for binary files.
      Returns:
      A new resource descriptor that reads the data from the given classpath.
      Throws:
      URISyntaxException - When no URI was given and the URL obtained from the class loader cannot be converted to a URI.
      IllegalArgumentException - When the path cannot be loaded by the class loader.