Class FieldHandlerImpl

All Implemented Interfaces:
ConfigurableFieldHandler, FieldHandler

public final class FieldHandlerImpl extends AbstractFieldHandler
A field handler that knows how to get/set the values of a field directly or through the get/set methods. Uses reflection.

Note: the field Java type is obtained from TypeInfo.getFieldType(), but if the field is a collection, the actual field/accessor type is obtained from TypeInfo.getCollectionHandler() and the object to create (with newInstance(Object)) is the former field type.

Version:
$Revision: 7995 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
Author:
Assaf Arkin
  • Constructor Details

    • FieldHandlerImpl

      public FieldHandlerImpl(FieldHandler handler, TypeInfo typeInfo)
      Construct a new field handler for the specified field. The field must be public, and may not be static or transient. The field name is determined from the Java field, the type from the type information.
      Parameters:
      handler -
      typeInfo - Type information
    • FieldHandlerImpl

      public FieldHandlerImpl(Field field, TypeInfo typeInfo) throws MappingException
      Construct a new field handler for the specified field. The field must be public, and may not be static or transient. The field name is determined from the Java field, the type from the type information.
      Parameters:
      field - The field being described
      typeInfo - Type information
      Throws:
      MappingException - If the field is not public, is static or transient
    • FieldHandlerImpl

      public FieldHandlerImpl(String fieldName, Method[] getSequence, Method[] setSequence, Method getMethod, Method setMethod, TypeInfo typeInfo) throws MappingException
      Construct a new field handler for the specified field that is accessed through the accessor methods (get/set). The accessor methods must be public and not static. The field name is required for descriptive purposes. The field type must match the return value of the get method and the single parameter of the set method. Either get or set methods are optional.
      Parameters:
      fieldName - The field being described
      getMethod - The method used to retrieve the field value, must accept no parameters and have a return type castable to the field type
      setMethod - The method used to set the field value, must accept a single parameter that is castable to the field type
      typeInfo - Type information
      Throws:
      MappingException - If the get or set method are not public, are static, or do not specify the proper types
  • Method Details