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 Detail

      • 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