Interface ItemConverter


public interface ItemConverter
The concrete realization of a strategy for converting between Java objects and DynamoDB AttributeValues. Typically created by a ConversionSchema.
  • Method Details

    • getFieldModel

      DynamoDBMapperFieldModel getFieldModel(Method getter)
      Returns the metadata (e.g. name, type) of the DynamoDB attribute that the return value of the given getter will be converted to.
      Parameters:
      getter - the getter method to inspect
      Returns:
      the metadata of the DynamoDB attribute that the result of the getter will be converted to
    • convert

      AttributeValue convert(Method getter, Object value)
      Converts a Java object into a DynamoDB AttributeValue. Potentially able to handle both scalar and complex types.
      Parameters:
      getter - the getter that returned the value to be converted
      value - the value to be converted
      Returns:
      the converted AttributeValue
    • convert

      Map<String,AttributeValue> convert(Object value)
      Converts an appropriately-annotated POJO into a Map of AttributeValues.
      Parameters:
      value - the POJO to convert
      Returns:
      the resulting map of attribute values
    • unconvert

      Object unconvert(Method getter, Method setter, AttributeValue value)
      Reverses the convert(Method, Object) method, turning a DynamoDB AttributeValue back into a Java object suitable for passing to the given setter.
      Parameters:
      getter - the getter for the value to be unconverted
      setter - the setter for the value to be unconverted
      value - the attribute value to be unconverted
      Returns:
      the unconverted Java object
    • unconvert

      <T> T unconvert(Class<T> clazz, Map<String,AttributeValue> values)
      Reverses the convert(Object) method, turning a map of attribute values back into a POJO of the given class.
      Type Parameters:
      T - the compile-time type of the object to create
      Parameters:
      clazz - the runtime type of the object to create
      values - the the map of attribute values to unconvert
      Returns:
      the unconverted POJO