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 ResourceFactory
ResourceFactory 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 String
static String
static byte[]
static void
Throw 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 InputStreamvoid
setData
(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:
getResourceURI
in 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:
getItem
in 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:
getContentType
in interfaceResource
- Returns:
- the media type if known; otherwise null
-