Record Class EntitySchema.KeyComponentInfo

java.lang.Object
java.lang.Record
dev.hogwai.dynamodb.simplified.entity.EntitySchema.KeyComponentInfo
Record Components:
component - the key component name
position - the ordering position within the composite key
attributeName - the entity attribute name
extractor - the strategy for extracting the value from an entity instance
Enclosing class:
EntitySchema<T>

public static record EntitySchema.KeyComponentInfo(String component, int position, String attributeName, UnaryOperator<Object> extractor) extends Record
Describes a single key component part with its attribute name, position, and a strategy for extracting the value from an entity instance.
  • Constructor Details

    • KeyComponentInfo

      public KeyComponentInfo(String component, int position, String attributeName, UnaryOperator<Object> extractor)
      Creates an instance of a KeyComponentInfo record class.
      Parameters:
      component - the value for the component record component
      position - the value for the position record component
      attributeName - the value for the attributeName record component
      extractor - the value for the extractor record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • component

      public String component()
      Returns the value of the component record component.
      Returns:
      the value of the component record component
    • position

      public int position()
      Returns the value of the position record component.
      Returns:
      the value of the position record component
    • attributeName

      public String attributeName()
      Returns the value of the attributeName record component.
      Returns:
      the value of the attributeName record component
    • extractor

      public UnaryOperator<Object> extractor()
      Returns the value of the extractor record component.
      Returns:
      the value of the extractor record component