|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.value.Value net.sf.saxon.value.AtomicValue net.sf.saxon.value.StringValue
public class StringValue
An atomic value of type xs:string
Nested Class Summary | |
---|---|
class |
StringValue.CharacterIterator
CharacterIterator is used to iterate over the characters in a string, returning them as integers representing the Unicode code-point. |
Field Summary | |
---|---|
static StringValue |
EMPTY_STRING
|
static StringValue |
FALSE
|
static StringValue |
SINGLE_SPACE
|
static StringValue |
TRUE
|
Fields inherited from class net.sf.saxon.value.Value |
---|
EMPTY_CLASS_ARRAY, INDETERMINATE_ORDERING |
Fields inherited from interface net.sf.saxon.om.ValueRepresentation |
---|
EMPTY_VALUE_ARRAY |
Fields inherited from interface net.sf.saxon.om.ValueRepresentation |
---|
EMPTY_VALUE_ARRAY |
Constructor Summary | |
---|---|
StringValue(CharSequence value)
Constructor. |
Method Summary | |
---|---|
boolean |
codepointEquals(StringValue other)
Test whether this StringValue is equal to another under the rules of the codepoint collation |
boolean |
containsSurrogatePairs()
Determine whether the string contains surrogate pairs |
static CharSequence |
contract(int[] codes,
int used)
Contract an array of integers containing Unicode codepoints into a Java string |
ConversionResult |
convertPrimitive(BuiltInAtomicType requiredType,
boolean validate,
XPathContext context)
Convert a value to another primitive data type, with control over how validation is handled. |
static ConversionResult |
convertStringToAtomicType(CharSequence value,
AtomicType targetType,
NameChecker checker)
Convert the value to a given type. |
static ConversionResult |
convertStringToBuiltInType(CharSequence value,
BuiltInAtomicType requiredType,
NameChecker checker)
Convert a string value to another built-in data type, with control over how validation is handled. |
Object |
convertToJava(Class target,
XPathContext context)
Convert to Java object (for passing to external functions) |
AtomicValue |
copyAsSubType(AtomicType typeLabel)
Create a copy of this atomic value, with a different type label |
static String |
diagnosticDisplay(String s)
Produce a diagnostic representation of the contents of the string |
boolean |
effectiveBooleanValue()
Get the effective boolean value of a string |
boolean |
equals(Object other)
Determine if two AtomicValues are equal, according to XPath rules. |
int[] |
expand()
Expand a string containing surrogate pairs into an array of 32-bit characters |
static int[] |
expand(CharSequence s)
Expand a string containing surrogate pairs into an array of 32-bit characters |
BuiltInAtomicType |
getPrimitiveType()
Determine the primitive type of the value. |
Comparable |
getSchemaComparable()
Get a Comparable value that implements the XML Schema comparison semantics for this value. |
int |
getStringLength()
Get the length of this string, as defined in XPath. |
static int |
getStringLength(CharSequence s)
Get the length of a string, as defined in XPath. |
String |
getStringValue()
Get the string value as a String |
CharSequence |
getStringValueCS()
Get the value of the item as a CharSequence. |
Object |
getXPathComparable(boolean ordered,
StringCollator collator,
XPathContext context)
Get an object value that implements the XPath equality and ordering comparison semantics for this value. |
boolean |
isZeroLength()
Determine whether the string is a zero-length string. |
UnfailingIterator |
iterateCharacters()
Iterate over a string, returning a sequence of integers representing the Unicode code-point values |
static ConversionResult |
makeRestrictedString(CharSequence value,
BuiltInAtomicType typeLabel,
NameChecker checker)
Factory method to create a string value belonging to a built-in type derived from string |
static StringValue |
makeStringValue(CharSequence value)
Factory method. |
void |
setStringValueCS(CharSequence value)
Set the value of the item as a CharSequence. |
String |
toString()
Get string value. |
static ValidationFailure |
validate(BuiltInAtomicType typeLabel,
CharSequence val,
NameChecker checker)
Validate that the string conforms to the rules for a built-in subtype of xs:string |
Methods inherited from class net.sf.saxon.value.AtomicValue |
---|
asAtomic, checkPermittedContents, convert, convert, getCardinality, getComponent, getItemType, getLength, getTypedValue, getTypeLabel, isNaN, itemAt, iterate, process, setTypeLabel, subsequence |
Methods inherited from class net.sf.saxon.value.Value |
---|
asItem, asItem, asIterator, asValue, convertJavaObjectToXPath, convertToJava, fromItem, getCanonicalLexicalRepresentation, getIterator, iterate, makeQNameValue, reduce, stringToNumber |
Methods inherited from class java.lang.Object |
---|
getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final StringValue EMPTY_STRING
public static final StringValue SINGLE_SPACE
public static final StringValue TRUE
public static final StringValue FALSE
Constructor Detail |
---|
public StringValue(CharSequence value)
value
- the String value. Null is taken as equivalent to "".Method Detail |
---|
public AtomicValue copyAsSubType(AtomicType typeLabel)
copyAsSubType
in class AtomicValue
typeLabel
- the type label of the new copy. The caller is responsible for checking that
the value actually conforms to this type.
public BuiltInAtomicType getPrimitiveType()
getPrimitiveType
in class AtomicValue
public static StringValue makeStringValue(CharSequence value)
value
- the String value. Null is taken as equivalent to "".
public final String getStringValue()
getStringValue
in interface Item
getStringValue
in interface ValueRepresentation
getStringValue
in class AtomicValue
Item.getStringValueCS()
public final CharSequence getStringValueCS()
getStringValueCS
in interface Item
getStringValueCS
in interface ValueRepresentation
getStringValueCS
in class AtomicValue
Item.getStringValue()
public final void setStringValueCS(CharSequence value)
For system use only. In principle, a StringValue is immutable. However, in special circumstances, if it is newly constructed, the content can be changed to reflect the effect of the whiteSpace facet.
value
- the value of the stringpublic ConversionResult convertPrimitive(BuiltInAtomicType requiredType, boolean validate, XPathContext context)
requiredType
- type code of the required atomic typevalidate
- true if validation is required. If set to false, the caller guarantees that
the value is valid for the target data type, and that further validation is therefore not required.
Note that a validation failure may be reported even if validation was not requested.context
- XPath dynamic context. Used only where the target type is one such as
NCName whose definition is context-sensitive
public static ConversionResult convertStringToBuiltInType(CharSequence value, BuiltInAtomicType requiredType, NameChecker checker)
value
- the value to be convertedrequiredType
- the required atomic typechecker
- if validation is required, a NameChecker. If set to null, the caller guarantees that
the value is valid for the target data type, and that further validation is therefore not required.
Note that a validation failure may be reported even if validation was not requested.
ValidationFailure
. The caller must check for this condition. No exception is thrown, instead
the exception will be encapsulated within the ValidationFailure.public static ConversionResult convertStringToAtomicType(CharSequence value, AtomicType targetType, NameChecker checker)
value
- the value to be convertedtargetType
- the type to which the value is to be convertedchecker
- a NameChecker if validation is required, null if the caller already knows that the
value is valid. Note that a non-null NameChecker acts as a signal that validation is
required, even when the value to be checked is not a name.
ValidationFailure
if conversion failed. The
caller must check for this condition. Validation may fail even if validation was not requested.public int getStringLength()
public static int getStringLength(CharSequence s)
s
- The string whose length is required
public boolean isZeroLength()
public boolean containsSurrogatePairs()
public UnfailingIterator iterateCharacters()
public int[] expand()
public static int[] expand(CharSequence s)
s
- the string to be expanded
public static CharSequence contract(int[] codes, int used)
codes
- an array of integers representing the Unicode code pointsused
- the number of items in the array that are actually used
public Object getXPathComparable(boolean ordered, StringCollator collator, XPathContext context)
getXPathComparable
in class AtomicValue
ordered
- 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
- Collation to be used for comparing stringscontext
- the XPath dynamic evaluation context, used in cases where the comparison is context
sensitive
public boolean equals(Object other)
equals
in class AtomicValue
other
- the other value
ClassCastException
- alwayspublic boolean codepointEquals(StringValue other)
other
- the value to be compared with this value
public boolean effectiveBooleanValue()
effectiveBooleanValue
in class AtomicValue
public Object convertToJava(Class target, XPathContext context) throws XPathException
convertToJava
in class Value
target
- the required target classcontext
- the XPath dynamic evaluation context
XPathException
public String toString()
AtomicValue
toString
in class AtomicValue
public static ConversionResult makeRestrictedString(CharSequence value, BuiltInAtomicType typeLabel, NameChecker checker)
value
- the String value. Null is taken as equivalent to "".typeLabel
- the required type, must be a built in type derived from xs:stringchecker
- a NameChecker if validation is required,
null if the caller already knows that the value is valid
public static ValidationFailure validate(BuiltInAtomicType typeLabel, CharSequence val, NameChecker checker)
typeLabel
- the built-in atomic type against which the string should be validatedval
- the string to be validatedchecker
- object that checks names against the XML 1.0 or XML 1.1 rules as appropriate
public Comparable getSchemaComparable()
getSchemaComparable
in class AtomicValue
public static String diagnosticDisplay(String s)
s
- the string
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |