Package net.sf.saxon.type
Class Converter.TwoPhaseConverter
java.lang.Object
net.sf.saxon.type.Converter
net.sf.saxon.type.Converter.TwoPhaseConverter
- Enclosing class:
Converter
Converter that operates in two phases, via an intermediate type
-
Nested Class Summary
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.PromoterToAnyURI, Converter.PromoterToBase64Binary, Converter.PromoterToDouble, Converter.PromoterToFloat, Converter.PromoterToHexBinary, Converter.PromoterToString, Converter.QNameToNotation, Converter.ToStringConverter, Converter.ToUntypedAtomicConverter, Converter.TwoPhaseConverter, Converter.UnfailingConverter, Converter.UpCastingConverter
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvert
(AtomicValue input) Convert an atomic value from the source type to the target typestatic Converter.TwoPhaseConverter
makeTwoPhaseConverter
(AtomicType inputType, AtomicType viaType, AtomicType outputType, ConversionRules rules) 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.Converter
convert, getConversionRules, getNamespaceResolver, isAlwaysSuccessful, isPromoter, setConversionRules
-
Constructor Details
-
TwoPhaseConverter
-
-
Method Details
-
makeTwoPhaseConverter
public static Converter.TwoPhaseConverter makeTwoPhaseConverter(AtomicType inputType, AtomicType viaType, AtomicType outputType, ConversionRules rules) -
setNamespaceResolver
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 classConverter
- Parameters:
resolver
- the namespace resolver to be used- Returns:
- a new Converter customised with the supplied namespace context. The original Converter is unchanged (see bug 2754)
-
convert
Description copied from class:Converter
Convert an atomic value from the source type to the target type- Specified by:
convert
in 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 aValidationFailure
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.
-