Class Converter.UpCastingConverter

  • Enclosing class:
    Converter

    public static class Converter.UpCastingConverter
    extends Converter.UnfailingConverter
    Converter that does nothing except change the type annotation of the value. The caller is responsible for ensuring that this type annotation is legimite, that is, that the value is in the value space of this type
    • Constructor Detail

      • UpCastingConverter

        public UpCastingConverter​(AtomicType annotation)
    • Method Detail

      • convert

        public AtomicValue 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.UnfailingConverter
        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.