Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.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

    public abstract class StringConverter

extends Converter

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
`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

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.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
`static Converter.StringToBase64BinaryConverter` | `STRING_TO_BASE64_BINARY`
`static StringConverter.StringToBoolean` | `STRING_TO_BOOLEAN`
`static StringConverter.StringToDayTimeDuration` | `STRING_TO_DAY_TIME_DURATION`
`static StringConverter.StringToDecimal` | `STRING_TO_DECIMAL`
`static StringConverter.StringToDuration` | `STRING_TO_DURATION`
`static StringConverter.StringToHexBinary` | `STRING_TO_HEX_BINARY`
`static StringConverter.StringToInteger` | `STRING_TO_INTEGER`
`static StringConverter.StringToLanguage` | `STRING_TO_LANGUAGE`
`static StringConverter.StringToNormalizedString` | `STRING_TO_NORMALIZED_STRING`
`static StringConverter.StringToString` | `STRING_TO_STRING`
`static StringConverter.StringToTime` | `STRING_TO_TIME`
`static StringConverter.StringToToken` | `STRING_TO_TOKEN`
`static StringConverter.StringToUntypedAtomic` | `STRING_TO_UNTYPED_ATOMIC`
`static StringConverter.StringToYearMonthDuration` | `STRING_TO_YEAR_MONTH_DURATION`

Fields 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
`StringConverter()` Create a StringConverter
`StringConverter(ConversionRules rules)` Create a StringConverter

Method Summary
`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.
`static StringConverter` | `getStringConverter(AtomicType targetType, ConversionRules rules)` Static factory method to get a StringConverter for a specific target type
`ValidationFailure` | `validate(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, getConverter, getNamespaceResolver, isAlwaysSuccessful, isXPath30Conversion, setConversionRules, setNamespaceResolver`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### STRING_TO_STRING

    public static final StringConverter.StringToString STRING_TO_STRING

### STRING_TO_LANGUAGE

    public static final StringConverter.StringToLanguage STRING_TO_LANGUAGE

### STRING_TO_NORMALIZED_STRING

    public static final StringConverter.StringToNormalizedString STRING_TO_NORMALIZED_STRING

### STRING_TO_TOKEN

    public static final StringConverter.StringToToken STRING_TO_TOKEN

### STRING_TO_DECIMAL

    public static final StringConverter.StringToDecimal STRING_TO_DECIMAL

### STRING_TO_INTEGER

    public static final StringConverter.StringToInteger STRING_TO_INTEGER

### STRING_TO_DURATION

    public static final StringConverter.StringToDuration STRING_TO_DURATION

### STRING_TO_DAY_TIME_DURATION

    public static final StringConverter.StringToDayTimeDuration STRING_TO_DAY_TIME_DURATION

### STRING_TO_YEAR_MONTH_DURATION

    public static final StringConverter.StringToYearMonthDuration STRING_TO_YEAR_MONTH_DURATION

### STRING_TO_TIME

    public static final StringConverter.StringToTime STRING_TO_TIME

### STRING_TO_BOOLEAN

    public static final StringConverter.StringToBoolean STRING_TO_BOOLEAN

### STRING_TO_HEX_BINARY

    public static final StringConverter.StringToHexBinary STRING_TO_HEX_BINARY

### STRING_TO_BASE64_BINARY

    public static final Converter.StringToBase64BinaryConverter STRING_TO_BASE64_BINARY

### STRING_TO_UNTYPED_ATOMIC

    public static final StringConverter.StringToUntypedAtomic STRING_TO_UNTYPED_ATOMIC

Constructor Detail

### StringConverter

    public StringConverter()

  Create a StringConverter

### StringConverter

    public StringConverter(ConversionRules rules)

  Create a StringConverter

  Parameters:
    `rules` - the conversion rules to be applied

Method Detail

### convertString

    public abstract ConversionResult convertString(CharSequence input)

  Convert a string to the target type of this converter.

  Parameters:
    `input` - the string to be converted
  Returns:
    either an `AtomicValue` of the appropriate type for this converter (if conversion succeeded), or a `ValidationFailure` if conversion failed.

### validate

    public ValidationFailure validate(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: `Converter`
  Convert an atomic value from the source type to the target type

  Specified by:
    `convert` in class `Converter`
  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 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.

### getStringConverter

    public static StringConverter getStringConverter(AtomicType targetType,
                                                     ConversionRules rules)

  Static factory method to get a StringConverter for a specific target type

  Parameters:
    `targetType` - the target type of the conversion
    `rules` - 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

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.