public abstract class StringConverter extends Converter
Converter
that accepts a string as input. This subclass of Converter is provided
to avoid having to wrap the string into a StringValue prior to conversion. Every Converter whose
source type is xs:string must be an instance of this subclass.
The input to a StringConverter can also be an xs:untypedAtomic value, since the conversion semantics are always the same as from a string.
A StringConverter also provides a method to validate that a string is valid against the target type, without actually performing the conversion.
Modifier and Type | Class and Description |
---|---|
static class |
StringConverter.IdentityConverter
Converter that does nothing - it returns the input unchanged
|
static class |
StringConverter.StringToAnyURI
Converts string to anyURI
|
static class |
StringConverter.StringToBoolean
Converts a string to a boolean
|
static class |
StringConverter.StringToDate
Converts a string to a date
|
static class |
StringConverter.StringToDateTime
Converts a string to a dateTime
|
static class |
StringConverter.StringToDayTimeDuration
Converts a string to a dayTimeDuration
|
static class |
StringConverter.StringToDecimal
Converts a string to an xs:decimal
|
static class |
StringConverter.StringToDerivedStringSubtype
Converts from xs;string to a user-defined type derived from a built-in subtype of xs:string
|
static class |
StringConverter.StringToDouble
Converts a string to a double.
|
static class |
StringConverter.StringToDuration
Converts a string to a duration
|
static class |
StringConverter.StringToFloat
Converts a string to xs:float
|
static class |
StringConverter.StringToGDayConverter
Converts a string to a gDay
|
static class |
StringConverter.StringToGMonth
Converts a string to a gMonth
|
static class |
StringConverter.StringToGMonthDay
Converts a string to a gMonthDay
|
static class |
StringConverter.StringToGYear
Converts a string to a gYear
|
static class |
StringConverter.StringToGYearMonth
Converts a string to a gYearMonth
|
static class |
StringConverter.StringToHexBinary
Converts a string to hexBinary
|
static class |
StringConverter.StringToInteger
Converts a string to an integer
|
static class |
StringConverter.StringToIntegerSubtype
Converts a string to a built-in subtype of integer
|
static class |
StringConverter.StringToLanguage
Converts from xs:string to xs:language
|
static class |
StringConverter.StringToName
Converts from xs:string to xs:Name
|
static class |
StringConverter.StringToNCName
Converts from xs:string to xs:NCName, xs:ID, xs:IDREF, or xs:ENTITY
|
static class |
StringConverter.StringToNMTOKEN
Converts from xs:string to xs:NMTOKEN
|
static class |
StringConverter.StringToNonStringDerivedType
Converter from string to a derived type (derived from a type other than xs:string),
where the derived type needs to retain the original
string for validating against lexical facets such as pattern.
|
static class |
StringConverter.StringToNormalizedString
Converts from xs:string to xs:normalizedString
|
static class |
StringConverter.StringToNotation
Converts String to NOTATION
|
static class |
StringConverter.StringToQName
Converts String to QName
|
static class |
StringConverter.StringToString
Converts from xs:string or xs:untypedAtomic to xs:String
|
static class |
StringConverter.StringToStringSubtype
Converts from xs:string to a user-defined type derived directly from xs:string
|
static class |
StringConverter.StringToTime
Converts a string to a time
|
static class |
StringConverter.StringToToken
Converts from xs:string to xs:token
|
static class |
StringConverter.StringToUnionConverter
Converter from string to plain union types
|
static class |
StringConverter.StringToUntypedAtomic
Converts from xs:string or xs:untypedAtomic to xs:untypedAtomic
|
static class |
StringConverter.StringToYearMonthDuration
Converts a string to a yearMonthDuration
|
Converter.Base64BinaryToHexBinary, Converter.BooleanToDecimal, Converter.BooleanToDouble, Converter.BooleanToFloat, Converter.BooleanToInteger, Converter.DateTimeToDate, Converter.DateTimeToGDay, Converter.DateTimeToGMonth, Converter.DateTimeToGMonthDay, Converter.DateTimeToGYear, Converter.DateTimeToGYearMonth, Converter.DateTimeToTime, Converter.DateToDateTime, Converter.DecimalToInteger, Converter.DoubleToDecimal, Converter.DoubleToInteger, Converter.DownCastingConverter, Converter.DurationToDayTimeDuration, Converter.DurationToYearMonthDuration, Converter.FloatToDecimal, Converter.FloatToInteger, Converter.HexBinaryToBase64Binary, Converter.IntegerToDecimal, Converter.NotationToQName, Converter.NumericToBoolean, Converter.NumericToDecimal, Converter.NumericToDouble, Converter.NumericToFloat, Converter.NumericToInteger, Converter.PromoterToDouble, Converter.PromoterToFloat, Converter.QNameToNotation, Converter.StringToBase64BinaryConverter, Converter.ToStringConverter, Converter.ToUntypedAtomicConverter, Converter.TwoPhaseConverter, Converter.UpCastingConverter
BASE64_BINARY_TO_HEX_BINARY, BOOLEAN_TO_DECIMAL, BOOLEAN_TO_DOUBLE, BOOLEAN_TO_FLOAT, BOOLEAN_TO_INTEGER, DATE_TIME_TO_DATE, DATE_TIME_TO_G_DAY, DATE_TIME_TO_G_MONTH, DATE_TIME_TO_G_MONTH_DAY, DATE_TIME_TO_G_YEAR, DATE_TIME_TO_G_YEAR_MONTH, DATE_TIME_TO_TIME, DATE_TO_DATE_TIME, DECIMAL_TO_INTEGER, DOUBLE_TO_DECIMAL, DOUBLE_TO_INTEGER, DURATION_TO_DAY_TIME_DURATION, DURATION_TO_YEAR_MONTH_DURATION, FLOAT_TO_DECIMAL, FLOAT_TO_INTEGER, HEX_BINARY_TO_BASE64_BINARY, IDENTITY_CONVERTER, INTEGER_TO_DECIMAL, NOTATION_TO_QNAME, NUMERIC_TO_BOOLEAN, NUMERIC_TO_DECIMAL, NUMERIC_TO_DOUBLE, NUMERIC_TO_FLOAT, NUMERIC_TO_INTEGER, QNAME_TO_NOTATION, TO_STRING, TO_UNTYPED_ATOMIC
Modifier | Constructor and Description |
---|---|
protected |
StringConverter()
Create a StringConverter
|
protected |
StringConverter(ConversionRules rules)
Create a StringConverter
|
Modifier and Type | Method and Description |
---|---|
ConversionResult |
convert(AtomicValue input)
Convert an atomic value from the source type to the target type
|
abstract ConversionResult |
convertString(CharSequence input)
Convert a string to the target type of this converter.
|
ValidationFailure |
validate(CharSequence input)
Validate a string for conformance to the target type, without actually performing
the conversion
|
convert, getConversionRules, getNamespaceResolver, isAlwaysSuccessful, isXPath30Conversion, setConversionRules, setNamespaceResolver
public static final StringConverter.StringToString STRING_TO_STRING
public static final StringConverter.StringToLanguage STRING_TO_LANGUAGE
public static final StringConverter.StringToNormalizedString STRING_TO_NORMALIZED_STRING
public static final StringConverter.StringToToken STRING_TO_TOKEN
public static final StringConverter.StringToDecimal STRING_TO_DECIMAL
public static final StringConverter.StringToInteger STRING_TO_INTEGER
public static final StringConverter.StringToDuration STRING_TO_DURATION
public static final StringConverter.StringToDayTimeDuration STRING_TO_DAY_TIME_DURATION
public static final StringConverter.StringToYearMonthDuration STRING_TO_YEAR_MONTH_DURATION
public static final StringConverter.StringToTime STRING_TO_TIME
public static final StringConverter.StringToBoolean STRING_TO_BOOLEAN
public static final StringConverter.StringToHexBinary STRING_TO_HEX_BINARY
public static final Converter.StringToBase64BinaryConverter STRING_TO_BASE64_BINARY
public static final StringConverter.StringToUntypedAtomic STRING_TO_UNTYPED_ATOMIC
protected StringConverter()
protected StringConverter(ConversionRules rules)
rules
- the conversion rules to be appliedpublic abstract ConversionResult convertString(CharSequence input)
input
- the string to be convertedAtomicValue
of the appropriate type for this converter (if conversion
succeeded), or a ValidationFailure
if conversion failed.public ValidationFailure validate(CharSequence input)
input
- the string to be validatedpublic ConversionResult convert(AtomicValue input)
Converter
convert
in class Converter
input
- the atomic value to be converted, which the caller guarantees to be of the appropriate
type for the converter. The results are undefined if the value is of the wrong type;
possible outcomes are (apparent) success, or a ClassCastException.AtomicValue
, if conversion succeeds, or a ValidationFailure
object describing the reasons for failure if conversion is not possible. Note that the ValidationFailure
object is not (and does not contain) an exception, because it does not necessarily result in an error being
thrown, and creating exceptions on non-failure paths is expensive.Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.