Interface Attribute

All Known Implementing Classes:
AttributeImpl

public interface Attribute
Attribute
Example to create an instance using the builder pattern

     Attribute attribute = Attribute.builder()
             .name("{name}")
             .build()
 
  • Method Details

    • getName

      @NotNull @NotNull String getName()

      Name of the Attribute.

      Returns:
      name
    • getValue

      @NotNull @NotNull Object getValue()

      The AttributeType determines the format of the Attribute value to be provided:

      • For Enum Type and Localized Enum Type, use the key of the Plain Enum Value or Localized Enum Value objects, or the complete objects as value.
      • For Localizable Text Type, use the LocalizedString object as value.
      • For Money Type Attributes, use the Money object as value.
      • For Set Type Attributes, use the entire set object as value.
      • For Nested Type Attributes, use the list of values of all Attributes of the nested Product as value.
      • For Reference Type Attributes, use the Reference object as value.
      Returns:
      value
    • setName

      void setName(String name)

      Name of the Attribute.

      Parameters:
      name - value to be set
    • setValue

      void setValue(Object value)

      The AttributeType determines the format of the Attribute value to be provided:

      • For Enum Type and Localized Enum Type, use the key of the Plain Enum Value or Localized Enum Value objects, or the complete objects as value.
      • For Localizable Text Type, use the LocalizedString object as value.
      • For Money Type Attributes, use the Money object as value.
      • For Set Type Attributes, use the entire set object as value.
      • For Nested Type Attributes, use the list of values of all Attributes of the nested Product as value.
      • For Reference Type Attributes, use the Reference object as value.
      Parameters:
      value - value to be set
    • of

      static Attribute of()
      factory method
      Returns:
      instance of Attribute
    • of

      static Attribute of(Attribute template)
      factory method to create a shallow copy Attribute
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • deepCopy

      @Nullable static Attribute deepCopy(@Nullable Attribute template)
      factory method to create a deep copy of Attribute
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      static AttributeBuilder builder()
      builder factory method for Attribute
      Returns:
      builder
    • builder

      static AttributeBuilder builder(Attribute template)
      create builder for Attribute instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withAttribute

      default <T> T withAttribute(Function<Attribute,T> helper)
      accessor map function
      Type Parameters:
      T - mapped type
      Parameters:
      helper - function to map the object
      Returns:
      mapped value
    • typeReference

      static com.fasterxml.jackson.core.type.TypeReference<Attribute> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference