Class StringConverter

    • Constructor Detail

      • StringConverter

        protected StringConverter()
        Create a StringConverter
      • StringConverter

        protected StringConverter​(ConversionRules rules)
        Create a StringConverter
        Parameters:
        rules - the conversion rules to be applied
    • Method Detail

      • convertString

        public abstract ConversionResult convertString​(java.lang.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​(java.lang.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. 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.