Class SupplyingResourceDescriptor

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

public final class SupplyingResourceDescriptor extends Object implements IResourceDescriptor
Implements IResourceDescriptor by lazily obtaining data from a supplier.
Since:
8.0.0
Author:
XIMA MEDIA GmbH
See Also:
  • Constructor Details

    • SupplyingResourceDescriptor

      public SupplyingResourceDescriptor(URI uri, IIOSupplier<InputStream> data, Charset charset)
      Creates a new resource descriptor for the given URI with the given data.
      Parameters:
      uri - URI of the resource.
      data - Data of the resource.
      charset - Charset for plain text files. For binary files, pass null.
  • Method Details

    • getAbsoluteUri

      public URI getAbsoluteUri()
      Specified by:
      getAbsoluteUri in interface IResourceDescriptor
      Returns:
      An absolute URI that identifies this resource. It is an error for this to return an URI where URI.isAbsolute() yields false.
    • 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
    • fromString

      public static IResourceDescriptor fromString(URI uri, IIOSupplier<String> data, Charset charset)
      Creates a new resource descriptor for the given URI with the given data.
      Parameters:
      uri - URI of the resource.
      data - Data of the resource.
      charset - Encoding to use for reading the string's bytes.
      Returns:
      A resource descriptor for the given data.
    • fromByteArray

      public static IResourceDescriptor fromByteArray(URI uri, IIOSupplier<byte[]> data, Charset charset)
      Creates a new resource descriptor for the given URI with the given data.
      Parameters:
      uri - URI of the resource.
      data - Data of the resource.
      charset - Encoding of the string represented by the supplied bytes.
      Returns:
      A resource descriptor for the given data.