Class Converter.TwoPhaseConverter

  • Enclosing class:
    Converter

    public static class Converter.TwoPhaseConverter
    extends Converter
    Converter that operates in two phases, via an intermediate type
    • Constructor Detail

      • TwoPhaseConverter

        public TwoPhaseConverter​(Converter phaseOne,
                                 Converter phaseTwo)
    • Method Detail

      • setNamespaceResolver

        public Converter 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
        Returns:
        a new Converter customised with the supplied namespace context. The original Converter is unchanged (see bug 2754)
      • 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. 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 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.