public class Base64BinaryValue extends AtomicValue implements AtomicMatchKey, XPathComparable, ContextFreeAtomicValue
typeLabel
Constructor and Description |
---|
Base64BinaryValue(byte[] value)
Constructor: create a base64Binary value from a given array of bytes
|
Base64BinaryValue(UnicodeString 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) |
int |
compareTo(XPathComparable o) |
AtomicValue |
copyAsSubType(AtomicType typeLabel)
Create a copy of this atomic value (usually so that the type label can be changed).
|
static byte[] |
decode(UnicodeString in)
Decode a character string in base64 notation to yield the encoded octets
|
static UnicodeString |
encode(byte[] value)
Encode a byte sequence into base64 representation
|
boolean |
equals(java.lang.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
|
UnicodeString |
getPrimitiveStringValue()
Convert to string
|
BuiltInAtomicType |
getPrimitiveType()
Determine the primitive type of the value.
|
XPathComparable |
getXPathComparable()
Get an XPathComparable object that supports the semantics of context-free
eq and lt comparisons between atomic values.
|
XPathComparable |
getXPathComparable(StringCollator collator,
int implicitTimezone)
Get an object value that implements the XPath equality and ordering comparison semantics for this value.
|
AtomicMatchKey |
getXPathMatchKey(StringCollator collator,
int implicitTimezone)
Get an object value that implements the XPath equality and ordering comparison semantics for this value.
|
int |
hashCode()
Returns a hash code value for the object.
|
asAtomic, asMapKey, atomize, checkPermittedContents, checkValidInJavascript, effectiveBooleanValue, getCanonicalLexicalRepresentation, getCardinality, getComponent, getGenre, getItemType, getLength, getUnicodeStringValue, getUType, head, identityHashCode, isIdentical, isIdentical, isNaN, isUntypedAtomic, itemAt, iterate, iterator, setTypeLabel, show, toShortString, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asAtomic
getStringValue, isStreamed, reduce, subsequence
asIterable, concatenate, containsNode, materialize
makeRepeatable
public Base64BinaryValue(UnicodeString 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 AtomicValue
typeLabel
- the type label to be attached to the value, a subtype of xs:base64Binarypublic byte[] getBinaryValue()
public BuiltInAtomicType getPrimitiveType()
AtomicValue
getPrimitiveType
in class AtomicValue
public UnicodeString getPrimitiveStringValue()
getPrimitiveStringValue
in class AtomicValue
public int getLengthInOctets()
public XPathComparable getXPathComparable(StringCollator collator, int implicitTimezone) throws NoDynamicContextException
AtomicValue
getXPathComparable
in class AtomicValue
collator
- the collation to be used when comparing stringsimplicitTimezone
- the implicit timezone in the dynamic context, used when comparing
dates/times with and without timezoneNoDynamicContextException
- if the supplied implicit timezone is "NO_TIMEZONE" (meaning
unknown), and the implicit timezone is actually required because the value in question is a date/time
value with no timezone. This can cause a failure to evaluate expressions statically (because the implicit
timezone is not known statically), and it will then be caught, meaning that the expression has to be
evaluated dynamically.public XPathComparable getXPathComparable()
ContextFreeAtomicValue
Comparable
interface, this
cannot be assumed.getXPathComparable
in interface ContextFreeAtomicValue
public AtomicMatchKey getXPathMatchKey(StringCollator collator, int implicitTimezone)
getXPathMatchKey
in class AtomicValue
collator
- the collation (not used in this version of the method)implicitTimezone
- the XPath dynamic evaluation context, used in cases where the comparison is contextpublic boolean equals(java.lang.Object other)
equals
in class AtomicValue
other
- the other valuepublic int hashCode()
AtomicValue
hashCode
in class AtomicValue
protected static int byteArrayHashCode(byte[] value)
public static UnicodeString encode(byte[] value)
value
- the byte sequencepublic static byte[] decode(UnicodeString 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)public int compareTo(XPathComparable o)
compareTo
in interface java.lang.Comparable<XPathComparable>
Copyright (c) 2004-2022 Saxonica Limited. All rights reserved.