Skip to main content
Package com.gpudb

Class TypeObjectMap.ConvertingMethodHandler

java.lang.Object
com.gpudb.TypeObjectMap.ConvertingMethodHandler
All Implemented Interfaces:
Enclosing class:

public static final class TypeObjectMap.ConvertingMethodHandler extends Object implements TypeObjectMap.Accessor, TypeObjectMap.Mutator
A combined TypeObjectMap.Accessor and TypeObjectMap.Mutator that provides access to a field via specified get and set methods using reflection, converting the value to and from the data type of a specified GPUdb column. The get method must be public and take no parameters, and the set method must be public and take one parameter of the same type returned by the get method.
  • Constructor Details

    • ConvertingMethodHandler

      public ConvertingMethodHandler(Method getMethod, Method setMethod, Type.Column column)
      Creates a TypeObjectMap.ConvertingMethodHandler for the specified get and set methods and GPUdb column. Field values will be converted to and from the data type of the column.
      Parameters:
      getMethod - the get method
      setMethod - the set method
      column - the column
      Throws:
      IllegalArgumentException - if the specified methods are not of the correct form or the field does not have a data type that is supported for conversion
  • Method Details

    • get

      public Object get(Object o)
      Returns a value from the specified object via the get method specified in the constructor, converting it to the data type of the GPUdb column specified in the constructor. The object must belong to the class containing the method.
      Specified by:
      Parameters:
      o - the object
      Returns:
      the value returned by the get method
      Throws:
      GPUdbRuntimeException - if the value could not be retrieved
    • set

      public void set(Object o, Object value)
      Sets a value in the specified object via the set method specified in the constructor after converting it from the data type of the GPUdb column specified in the constructor. The object must belong to the class containing the method.
      Specified by:
      set in interface TypeObjectMap.Mutator
      Parameters:
      o - the object
      value - the new value of the field
      Throws:
      GPUdbRuntimeException - if the value could not be set