Package net.sf.saxon.resource
Class BinaryResource
java.lang.Object
net.sf.saxon.resource.BinaryResource
- All Implemented Interfaces:
Resource
A binary resource that might appear in a resource collection. Currently limited to 2G octets.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ResourceFactoryResourceFactory suitable for creating a BinaryResource -
Constructor Summary
ConstructorsConstructorDescriptionBinaryResource(String href, String contentType, byte[] content) Create a binary resource supplying the actual content as a byte arrayCreate a binary resource -
Method Summary
Modifier and TypeMethodDescriptionstatic Stringstatic Stringstatic byte[]static voidThrow an errorGet the media type (MIME type) of the resource if known, for example "image/jpeg".byte[]getData()Get the content of the resource as an array of bytesgetItem()Get an XDM Item holding the contents of this resource.Get the URI of the resourcestatic byte[]readBinaryFromStream(InputStream in, String path) Utility method to construct an array of bytes from the content of an InputStreamvoidsetData(byte[] data) Set the content of the resource as an array of bytes
-
Field Details
-
FACTORY
ResourceFactory suitable for creating a BinaryResource
-
-
Constructor Details
-
BinaryResource
Create a binary resource- Parameters:
in- details about the resource
-
BinaryResource
Create a binary resource supplying the actual content as a byte array- Parameters:
href- the URI of the resourcecontentType- the media typecontent- the actual content as a byte array
-
-
Method Details
-
encode
- Throws:
XPathException
-
decode
- Throws:
XPathException
-
decode
public static String decode(byte[] value, int offset, int len, String encoding) throws XPathException - Throws:
XPathException
-
error
Throw an error- Parameters:
message- the error message- Throws:
XPathException- always
-
setData
public void setData(byte[] data) Set the content of the resource as an array of bytes- Parameters:
data- the content of the resource
-
getData
public byte[] getData()Get the content of the resource as an array of bytes- Returns:
- the content (if it has been set using setData())
-
getResourceURI
Get the URI of the resource- Specified by:
getResourceURIin interfaceResource- Returns:
- the URI of the resource
-
readBinaryFromStream
Utility method to construct an array of bytes from the content of an InputStream- Parameters:
in- the input stream. The method consumes the input stream but does not close it.path- file name or URI used only for diagnostics- Returns:
- byte array representing the content of the InputStream
- Throws:
XPathException- if a failure occurs obtaining a connection or reading the stream
-
getItem
Get an XDM Item holding the contents of this resource.- Specified by:
getItemin interfaceResource- Returns:
- an item holding the contents of the resource. For a binary resource
the value will always be a
Base64BinaryValue. This does not mean that the content is actually encoded in Base64 internally; rather it means that when converted to a string, the content is presented in Base64 encoding. - Throws:
XPathException- if a failure occurs materializing the resource
-
getContentType
Get the media type (MIME type) of the resource if known, for example "image/jpeg".- Specified by:
getContentTypein interfaceResource- Returns:
- the media type if known; otherwise null
-