public class Base64BinaryValue extends AtomicValue
Rewritten for Saxon 9.5 to avoid dependency on the open-source Netscape code, whose license many users were unhappy with.
typeLabel| Constructor and Description |
|---|
Base64BinaryValue(byte[] value)
Constructor: create a base64Binary value from a given array of bytes
|
Base64BinaryValue(CharSequence s)
Constructor: create a base64Binary value from a supplied string in base64 encoding
|
| Modifier and Type | Method and Description |
|---|---|
protected static int |
byteArrayHashCode(byte[] value) |
AtomicValue |
copyAsSubType(AtomicType typeLabel)
Create a copy of this atomic value (usually so that the type label can be changed).
|
static byte[] |
decode(CharSequence in)
Decode a character string in base64 notation to yield the encoded octets
|
static CharSequence |
encode(byte[] value)
Encode a byte sequence into base64 representation
|
boolean |
equals(Object other)
Test if the two base64Binary values are equal.
|
byte[] |
getBinaryValue()
Get the binary value
|
int |
getLengthInOctets()
Get the number of octets in the value
|
String |
getPrimitiveStringValue()
Convert to string
|
BuiltInAtomicType |
getPrimitiveType()
Determine the primitive type of the value.
|
Comparable |
getSchemaComparable()
Support XML Schema comparison semantics
|
Object |
getXPathComparable(boolean ordered,
StringCollator collator,
XPathContext context)
Get an object value that implements the XPath equality and ordering comparison semantics for this value.
|
int |
hashCode() |
asAtomic, checkPermittedContents, effectiveBooleanValue, getCanonicalLexicalRepresentation, getCardinality, getComponent, getItemType, getStringValue, getStringValueCS, head, isIdentical, isIdentical, isNaN, itemAt, iterate, process, setTypeLabel, toStringgetLength, reduce, subsequenceclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetLengthreduce, subsequencepublic Base64BinaryValue(CharSequence s) throws XPathException
s - the lexical representation of the base64 binary value. There is no requirement
that whitespace should already be collapsed.XPathException - if the supplied value is not in the lexical
space of the xs:base64Binary data typepublic Base64BinaryValue(byte[] value)
value - array of bytes holding the octet sequencepublic AtomicValue copyAsSubType(AtomicType typeLabel)
copyAsSubType in class AtomicValuetypeLabel - the type label to be attached to the value, a subtype of xs:base64Binarypublic byte[] getBinaryValue()
public BuiltInAtomicType getPrimitiveType()
AtomicValuegetPrimitiveType in class AtomicValuepublic String getPrimitiveStringValue()
getPrimitiveStringValue in class AtomicValuepublic int getLengthInOctets()
public Comparable getSchemaComparable()
getSchemaComparable in interface AtomicSequencegetSchemaComparable in class AtomicValuepublic Object getXPathComparable(boolean ordered, StringCollator collator, XPathContext context)
getXPathComparable in class AtomicValueordered - true if an ordered comparison is required. In this case the result is null if the
type is unordered; in other cases the returned value will be a Comparable.collator - the collation (not used in this version of the method)context - the XPath dynamic evaluation context, used in cases where the comparison is context
sensitive @return an Object whose equals() and hashCode() methods implement the XPath comparison semanticspublic boolean equals(Object other)
equals in class AtomicValueother - the other valueprotected static int byteArrayHashCode(byte[] value)
public static CharSequence encode(byte[] value)
value - the byte sequencepublic static byte[] decode(CharSequence in) throws XPathException
in - the lexical representationXPathException - if the format is invalid (as required by XSD, this method
does draconian error handling, unlike many other base64 decoders which are liberal
in what they accept)Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.