Class StaticFactoryConverter

All Implemented Interfaces:
PropertyEditor, Converter

public class StaticFactoryConverter extends AbstractConverter
Of the javax and java packages in the Java 8 JVM, there are roughly 10 static factory patterns in use. Here they are listed in the order they are preferred by this library 64 valueOf 7 new 6 decode 5 for 4 of 1 parse 1 from 1 create 1 compile 40 get Though get* has the second most usage in the JVM, it is also the least consistent and in classes that have multiple factories, it is the least preferred. For each of these prefixes there is a sub order of preference, using "create" as an example, this is the preferred usage: - create - create - create*
  • Field Details

    • method

      private final Method method
  • Constructor Details

    • StaticFactoryConverter

      public StaticFactoryConverter(Class type, Method method)
  • Method Details

    • toObjectImpl

      protected Object toObjectImpl(String text)
      Description copied from class: AbstractConverter
      Converts the supplied text in to an instance of the editor type. The text will never be null, and trim() will already have been called.
      Specified by:
      toObjectImpl in class AbstractConverter
      Parameters:
      text - the text to convert
      Returns:
      an instance of the editor type
    • editor

      public static StaticFactoryConverter editor(Class type)
    • getCandidates

      static List<Method> getCandidates(Class type)
    • select

      static Method select(List<Method> candidates)
      We want the selection to be stable and not dependent on VM reflection ordering.
    • sort

      static void sort(List<Method> candidates)
    • grade

      private static int grade(Method a)