Package net.sf.saxon.type
Class StringConverter
- java.lang.Object
-
- net.sf.saxon.type.Converter
-
- net.sf.saxon.type.StringConverter
-
- Direct Known Subclasses:
StringConverter.StringToAnyURI,StringConverter.StringToBase64Binary,StringConverter.StringToBoolean,StringConverter.StringToDate,StringConverter.StringToDateTime,StringConverter.StringToDateTimeStamp,StringConverter.StringToDayTimeDuration,StringConverter.StringToDecimal,StringConverter.StringToDerivedStringSubtype,StringConverter.StringToDuration,StringConverter.StringToFloat,StringConverter.StringToGDay,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,StringToDouble
public abstract class StringConverter extends Converter
AConverterthat 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 Classes Modifier and Type Class Description static classStringConverter.StringToAnyURIConverts string to anyURIstatic classStringConverter.StringToBase64BinaryConverts string to base64static classStringConverter.StringToBooleanConverts a string to a booleanstatic classStringConverter.StringToDateConverts a string to a datestatic classStringConverter.StringToDateTimeConverts a string to a dateTimestatic classStringConverter.StringToDateTimeStampConverts a string to a dateTimeStampstatic classStringConverter.StringToDayTimeDurationConverts a string to a dayTimeDurationstatic classStringConverter.StringToDecimalConverts a string to an xs:decimalstatic classStringConverter.StringToDerivedStringSubtypeConverts from xs;string to a user-defined type derived from a built-in subtype of xs:stringstatic classStringConverter.StringToDurationConverts a string to a durationstatic classStringConverter.StringToFloatConverts a string to xs:floatstatic classStringConverter.StringToGDayConverts a string to a gDaystatic classStringConverter.StringToGMonthConverts a string to a gMonthstatic classStringConverter.StringToGMonthDayConverts a string to a gMonthDaystatic classStringConverter.StringToGYearConverts a string to a gYearstatic classStringConverter.StringToGYearMonthConverts a string to a gYearMonthstatic classStringConverter.StringToHexBinaryConverts a string to hexBinarystatic classStringConverter.StringToIntegerConverts a string to an integerstatic classStringConverter.StringToIntegerSubtypeConverts a string to a built-in subtype of integerstatic classStringConverter.StringToLanguageConverts from xs:string to xs:languagestatic classStringConverter.StringToNameConverts from xs:string to xs:Namestatic classStringConverter.StringToNCNameConverts from xs:string to xs:NCName, xs:ID, xs:IDREF, or xs:ENTITYstatic classStringConverter.StringToNMTOKENConverts from xs:string to xs:NMTOKENstatic classStringConverter.StringToNonStringDerivedTypeConverter 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 classStringConverter.StringToNormalizedStringConverts from xs:string to xs:normalizedStringstatic classStringConverter.StringToNotationConverts String to NOTATIONstatic classStringConverter.StringToQNameConverts String to QNamestatic classStringConverter.StringToStringConverts from xs:string or xs:untypedAtomic to xs:Stringstatic classStringConverter.StringToStringSubtypeConverts from xs:string to a user-defined type derived directly from xs:stringstatic classStringConverter.StringToTimeConverts a string to a timestatic classStringConverter.StringToTokenConverts from xs:string to xs:tokenstatic classStringConverter.StringToUnionConverterConverter from string to plain union typesstatic classStringConverter.StringToUntypedAtomicConverts from xs:string or xs:untypedAtomic to xs:untypedAtomicstatic classStringConverter.StringToYearMonthDurationConverts a string to a yearMonthDuration-
Nested 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.IdentityConverter, Converter.IntegerToDecimal, Converter.NotationToQName, Converter.NumericToBoolean, Converter.NumericToDecimal, Converter.NumericToDouble, Converter.NumericToFloat, Converter.NumericToInteger, Converter.PromoterToDouble, Converter.PromoterToFloat, Converter.QNameToNotation, Converter.ToStringConverter, Converter.ToUntypedAtomicConverter, Converter.TwoPhaseConverter, Converter.UnfailingConverter, Converter.UpCastingConverter
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedStringConverter()Create a StringConverterprotectedStringConverter(ConversionRules rules)Create a StringConverter
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ConversionResultconvert(AtomicValue input)Convert an atomic value from the source type to the target typeabstract ConversionResultconvertString(java.lang.CharSequence input)Convert a string to the target type of this converter.ValidationFailurevalidate(java.lang.CharSequence input)Validate a string for conformance to the target type, without actually performing the conversion-
Methods inherited from class net.sf.saxon.type.Converter
convert, getConversionRules, getNamespaceResolver, isAlwaysSuccessful, setConversionRules, setNamespaceResolver
-
-
-
-
Constructor Detail
-
StringConverter
protected StringConverter()
Create a StringConverter
-
StringConverter
protected StringConverter(ConversionRules rules)
Create a StringConverter- Parameters:
rules- the conversion rules to be applied
-
-
Method Detail
-
convertString
public abstract ConversionResult convertString(java.lang.CharSequence input)
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
public ValidationFailure validate(java.lang.CharSequence input)
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
public ConversionResult convert(AtomicValue input)
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. The results are undefined if the value is of the wrong type; possible outcomes are (apparent) success, or a ClassCastException.- 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.
-
-