Class MethodFromStringConverter<T>

  • Type Parameters:
    T - the type of the converter
    All Implemented Interfaces:
    FromStringConverter<T>, TypedFromStringConverter<T>

    final class MethodFromStringConverter<T>
    extends java.lang.Object
    implements TypedFromStringConverter<T>
    Conversion from a string using a static method.

    The fromString method must meet the following signature:
    static T anyName(String) on any class.

    MethodFromStringConverter is thread-safe and immutable.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Class<?> effectiveType
      Effective type.
      private java.lang.reflect.Method fromString
      Conversion from a string.
    • Constructor Summary

      Constructors 
      Constructor Description
      MethodFromStringConverter​(java.lang.Class<T> cls, java.lang.reflect.Method fromString, java.lang.Class<?> effectiveType)
      Creates an instance using two methods.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T convertFromString​(java.lang.Class<? extends T> cls, java.lang.String str)
      Converts the specified object from a String.
      java.lang.Class<?> getEffectiveType()
      Gets the effective type that the converter works on.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • fromString

        private final java.lang.reflect.Method fromString
        Conversion from a string.
      • effectiveType

        private final java.lang.Class<?> effectiveType
        Effective type.
    • Constructor Detail

      • MethodFromStringConverter

        MethodFromStringConverter​(java.lang.Class<T> cls,
                                  java.lang.reflect.Method fromString,
                                  java.lang.Class<?> effectiveType)
        Creates an instance using two methods.
        Parameters:
        cls - the class this converts for, not null
        fromString - the fromString method, not null
        Throws:
        java.lang.RuntimeException - (or subclass) if the method signatures are invalid
    • Method Detail

      • convertFromString

        public T convertFromString​(java.lang.Class<? extends T> cls,
                                   java.lang.String str)
        Description copied from interface: FromStringConverter
        Converts the specified object from a String.
        Specified by:
        convertFromString in interface FromStringConverter<T>
        Parameters:
        cls - the class to convert to, not null
        str - the string to convert, not null
        Returns:
        the converted object, may be null but generally not
      • getEffectiveType

        public java.lang.Class<?> getEffectiveType()
        Description copied from interface: TypedFromStringConverter
        Gets the effective type that the converter works on.

        For example, if a class declares the FromString and ToString then the effective type of the converter is that class. If a subclass is queried for a converter, then the effective type is that of the superclass.

        Specified by:
        getEffectiveType in interface TypedFromStringConverter<T>
        Returns:
        the effective type