net.sf.saxon.type
Class Converter.TwoPhaseConverter

java.lang.Object
  extended by net.sf.saxon.type.Converter
      extended by net.sf.saxon.type.StringConverter
          extended by net.sf.saxon.type.Converter.TwoPhaseConverter
Enclosing class:
Converter

public static class Converter.TwoPhaseConverter
extends StringConverter

Converter that operates in two phases, via an intermediate type


Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.saxon.type.StringConverter
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.StringToName, 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
 
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
 
Fields inherited from class net.sf.saxon.type.StringConverter
STRING_TO_BASE64_BINARY, STRING_TO_BOOLEAN, STRING_TO_DAY_TIME_DURATION, STRING_TO_DECIMAL, STRING_TO_DURATION, STRING_TO_HEX_BINARY, STRING_TO_INTEGER, STRING_TO_LANGUAGE, STRING_TO_NORMALIZED_STRING, STRING_TO_STRING, STRING_TO_TIME, STRING_TO_TOKEN, STRING_TO_UNTYPED_ATOMIC, 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
Converter.TwoPhaseConverter(Converter phaseOne, Converter phaseTwo)
           
 
Method Summary
 ConversionResult convert(AtomicValue input)
          Convert an atomic value from the source type to the target type
 ConversionResult convertString(CharSequence input)
          Convert a string to the target type of this converter.
static Converter.TwoPhaseConverter makeTwoPhaseConverter(AtomicType inputType, AtomicType viaType, AtomicType outputType, ConversionRules rules)
           
 void setNamespaceResolver(NamespaceResolver resolver)
          Provide a namespace resolver, needed for conversion to namespace-sensitive types such as QName and NOTATION.
 
Methods inherited from class net.sf.saxon.type.StringConverter
getStringConverter, validate
 
Methods inherited from class net.sf.saxon.type.Converter
convert, getConversionRules, getConverter, getNamespaceResolver, isAlwaysSuccessful, isXPath30Conversion, setConversionRules
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Converter.TwoPhaseConverter

public Converter.TwoPhaseConverter(Converter phaseOne,
                                   Converter phaseTwo)
Method Detail

makeTwoPhaseConverter

public static Converter.TwoPhaseConverter makeTwoPhaseConverter(AtomicType inputType,
                                                                AtomicType viaType,
                                                                AtomicType outputType,
                                                                ConversionRules rules)

setNamespaceResolver

public void setNamespaceResolver(NamespaceResolver resolver)
Description copied from class: Converter
Provide a namespace resolver, needed for conversion to namespace-sensitive types such as QName and NOTATION. The resolver is ignored if the target type is not namespace-sensitive

Overrides:
setNamespaceResolver in class Converter
Parameters:
resolver - the namespace resolver to be used

convert

public ConversionResult convert(AtomicValue input)
Description copied from class: Converter
Convert an atomic value from the source type to the target type

Overrides:
convert in class StringConverter
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.

convertString

public ConversionResult convertString(CharSequence input)
Description copied from class: StringConverter
Convert a string to the target type of this converter.

Specified by:
convertString in class StringConverter
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.


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