Class DefaultAccessorParser

java.lang.Object
me.ahoo.cosid.accessor.parser.DefaultAccessorParser
All Implemented Interfaces:
CosIdAccessorParser

public class DefaultAccessorParser extends Object implements CosIdAccessorParser
Default implementation of CosIdAccessorParser.

Parses classes to find @CosId annotated fields and creates accessors using getters/setters or direct field access.

  • Field Details

  • Constructor Details

    • DefaultAccessorParser

      public DefaultAccessorParser(FieldDefinitionParser definitionParser)
      Creates a parser with the specified definition parser.
      Parameters:
      definitionParser - the field definition parser
  • Method Details

    • parse

      public CosIdAccessor parse(Class<?> clazz)
      Description copied from interface: CosIdAccessorParser
      Parses a class to create its accessor.
      Specified by:
      parse in interface CosIdAccessorParser
      Parameters:
      clazz - the class to parse
      Returns:
      the accessor
    • capitalize

      public static String capitalize(String name)
      Capitalizes a string (first character upper case).
      Parameters:
      name - the name to capitalize
      Returns:
      the capitalized name
    • parseGetter

      public static Method parseGetter(Field field)
      Parses a getter method for a field.
      Parameters:
      field - the field
      Returns:
      the getter method or null
    • parseSetter

      public static Method parseSetter(Field field)
      Parses a setter method for a field.
      Parameters:
      field - the field
      Returns:
      the setter method or null
    • parseClass

      protected CosIdAccessor parseClass(Class<?> clazz)
    • definitionAsAccessor

      protected CosIdAccessor definitionAsAccessor(IdDefinition idDefinition)