Package de.xima.fc.workflow
Class SupplyingResourceDescriptor
- java.lang.Object
-
- de.xima.fc.workflow.SupplyingResourceDescriptor
-
- All Implemented Interfaces:
IResourceDescriptor,Serializable
public final class SupplyingResourceDescriptor extends Object implements IResourceDescriptor
ImplementsIResourceDescriptorby lazily obtaining data from a supplier.- Since:
- 8.0.0
- Author:
- XIMA MEDIA GmbH
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SupplyingResourceDescriptor(URI uri, IIOSupplier<InputStream> data, Charset charset)Creates a new resource descriptor for the given URI with the given data.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static IResourceDescriptorfromByteArray(URI uri, IIOSupplier<byte[]> data, Charset charset)Creates a new resource descriptor for the given URI with the given data.static IResourceDescriptorfromString(URI uri, IIOSupplier<String> data, Charset charset)Creates a new resource descriptor for the given URI with the given data.URIgetAbsoluteUri()Gets the absolute URI that identifies this resource.CharsetgetCharset()InputStreamopen()StringtoString()
-
-
-
Constructor Detail
-
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, passnull.
-
-
Method Detail
-
getAbsoluteUri
public URI getAbsoluteUri()
Description copied from interface:IResourceDescriptorGets 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()yieldsfalse.- Specified by:
getAbsoluteUriin interfaceIResourceDescriptor- Returns:
- An absolute URI that identifies this resource.
-
getCharset
public Charset getCharset()
- Specified by:
getCharsetin interfaceIResourceDescriptor- 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:
openin interfaceIResourceDescriptor- Returns:
- An input stream to the content of the resource.
- Throws:
IOException- When the resource could not be opened.
-
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.
-
-