Package net.sf.saxon.type
Class StringConverter
java.lang.Object
net.sf.saxon.type.Converter
net.sf.saxon.type.StringConverter
- Direct Known Subclasses:
Converter.StringToBase64BinaryConverter,Converter.TwoPhaseConverter,StringConverter.IdentityConverter,StringConverter.StringToAnyURI,StringConverter.StringToBoolean,StringConverter.StringToDate,StringConverter.StringToDateTime,StringConverter.StringToDayTimeDuration,StringConverter.StringToDecimal,StringConverter.StringToDerivedStringSubtype,StringConverter.StringToDouble,StringConverter.StringToDuration,StringConverter.StringToExternalObjectType,StringConverter.StringToFloat,StringConverter.StringToGDayConverter,StringConverter.StringToGMonth,StringConverter.StringToGMonthDay,StringConverter.StringToGYear,StringConverter.StringToGYearMonth,StringConverter.StringToHexBinary,StringConverter.StringToInteger,StringConverter.StringToIntegerSubtype,StringConverter.StringToLanguage,StringConverter.StringToNCName,StringConverter.StringToNMTOKEN,StringConverter.StringToNonStringDerivedType,StringConverter.StringToNormalizedString,StringConverter.StringToNotation,StringConverter.StringToQName,StringConverter.StringToString,StringConverter.StringToStringSubtype,StringConverter.StringToTime,StringConverter.StringToToken,StringConverter.StringToUnionConverter,StringConverter.StringToUntypedAtomic,StringConverter.StringToYearMonthDuration
A
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classConverter that does nothing - it returns the input unchangedstatic classConverts string to anyURIstatic classConverts a string to a booleanstatic classConverts a string to a datestatic classConverts a string to a dateTimestatic classConverts a string to a dayTimeDurationstatic classConverts a string to an xs:decimalstatic classConverts from xs;string to a user-defined type derived from a built-in subtype of xs:stringstatic classConverts a string to a double.static classConverts a string to a durationstatic classstatic classConverts a string to xs:floatstatic classConverts a string to a gDaystatic classConverts a string to a gMonthstatic classConverts a string to a gMonthDaystatic classConverts a string to a gYearstatic classConverts a string to a gYearMonthstatic classConverts a string to hexBinarystatic classConverts a string to an integerstatic classConverts a string to a built-in subtype of integerstatic classConverts from xs:string to xs:languagestatic classConverts from xs:string to xs:Namestatic classConverts from xs:string to xs:NCName, xs:ID, xs:IDREF, or xs:ENTITYstatic classConverts from xs:string to xs:NMTOKENstatic classConverter 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 classConverts from xs:string to xs:normalizedStringstatic classConverts String to NOTATIONstatic classConverts String to QNamestatic classConverts from xs:string or xs:untypedAtomic to xs:Stringstatic classConverts from xs;string to a user-defined type derived directly from xs:stringstatic classConverts a string to a timestatic classConverts from xs:string to xs:tokenstatic classConverter from string to plain union typesstatic classConverts from xs:string or xs:untypedAtomic to xs:untypedAtomicstatic classConverts a string to a yearMonthDurationNested classes/interfaces inherited from class net.sf.saxon.type.Converter
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 -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Converter.StringToBase64BinaryConverterstatic final StringConverter.StringToBooleanstatic final StringConverter.StringToDayTimeDurationstatic final StringConverter.StringToDecimalstatic final StringConverter.StringToDurationstatic final StringConverter.StringToHexBinarystatic final StringConverter.StringToIntegerstatic final StringConverter.StringToLanguagestatic final StringConverter.StringToNormalizedStringstatic final StringConverter.StringToStringstatic final StringConverter.StringToTimestatic final StringConverter.StringToTokenstatic final StringConverter.StringToUntypedAtomicstatic final StringConverter.StringToYearMonthDurationFields inherited from class net.sf.saxon.type.Converter
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 -
Constructor Summary
ConstructorsConstructorDescriptionCreate a StringConverterStringConverter(ConversionRules rules) Create a StringConverter -
Method Summary
Modifier and TypeMethodDescriptionconvert(AtomicValue input) Convert an atomic value from the source type to the target typeabstract ConversionResultconvertString(CharSequence input) Convert a string to the target type of this converter.static StringConvertergetStringConverter(AtomicType targetType, ConversionRules rules) Static factory method to get a StringConverter for a specific target typevalidate(CharSequence input) Validate a string for conformance to the target type, without actually performing the conversionMethods inherited from class net.sf.saxon.type.Converter
convert, getConversionRules, getConverter, getNamespaceResolver, isAlwaysSuccessful, isXPath30Conversion, setConversionRules, setNamespaceResolver
-
Field Details
-
STRING_TO_STRING
-
STRING_TO_LANGUAGE
-
STRING_TO_NORMALIZED_STRING
-
STRING_TO_TOKEN
-
STRING_TO_DECIMAL
-
STRING_TO_INTEGER
-
STRING_TO_DURATION
-
STRING_TO_DAY_TIME_DURATION
-
STRING_TO_YEAR_MONTH_DURATION
-
STRING_TO_TIME
-
STRING_TO_BOOLEAN
-
STRING_TO_HEX_BINARY
-
STRING_TO_BASE64_BINARY
-
STRING_TO_UNTYPED_ATOMIC
-
-
Constructor Details
-
StringConverter
public StringConverter()Create a StringConverter -
StringConverter
Create a StringConverter- Parameters:
rules- the conversion rules to be applied
-
-
Method Details
-
convertString
Convert a string to the target type of this converter.- Parameters:
input- the string to be converted- Returns:
- either an
AtomicValueof the appropriate type for this converter (if conversion succeeded), or aValidationFailureif conversion failed.
-
validate
Validate a string for conformance to the target type, without actually performing the conversion- Parameters:
input- the string to be validated- Returns:
- null if validation is successful, or a ValidationFailure indicating the reasons for failure if unsuccessful
-
convert
Description copied from class:ConverterConvert an atomic value from the source type to the target type- Specified by:
convertin classConverter- Parameters:
input- the atomic value to be converted, which the caller guarantees to be of the appropriate type for the converter- Returns:
- the result of the conversion, as an
AtomicValue, if conversion succeeds, or aValidationFailureobject 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.
-
getStringConverter
Static factory method to get a StringConverter for a specific target type- Parameters:
targetType- the target type of the conversionrules- the conversion rules in use- Returns:
- a StringConverter that can be used to convert strings to the target type, or to validate strings against the target type
-