Interface AttributeType

All Known Subinterfaces:
AttributeBooleanType, AttributeDateTimeType, AttributeDateType, AttributeEnumType, AttributeLocalizableTextType, AttributeLocalizedEnumType, AttributeMoneyType, AttributeNestedType, AttributeNumberType, AttributeReferenceType, AttributeSetType, AttributeTextType, AttributeTimeType

public interface AttributeType

Umbrella type for specific attribute types discriminated by property name.


Example to create a subtype instance using the builder pattern

     AttributeType attributeType = AttributeType.booleanBuilder()
             .build()
 
  • Method Details

    • getName

      @NotNull @NotNull String getName()
      Returns:
      name
    • deepCopy

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

      static AttributeBooleanTypeBuilder booleanBuilder()
      builder for boolean subtype
      Returns:
      builder
    • datetimeBuilder

      static AttributeDateTimeTypeBuilder datetimeBuilder()
      builder for datetime subtype
      Returns:
      builder
    • dateBuilder

      static AttributeDateTypeBuilder dateBuilder()
      builder for date subtype
      Returns:
      builder
    • enumBuilder

      static AttributeEnumTypeBuilder enumBuilder()
      builder for enum subtype
      Returns:
      builder
    • ltextBuilder

      static AttributeLocalizableTextTypeBuilder ltextBuilder()
      builder for ltext subtype
      Returns:
      builder
    • lenumBuilder

      static AttributeLocalizedEnumTypeBuilder lenumBuilder()
      builder for lenum subtype
      Returns:
      builder
    • moneyBuilder

      static AttributeMoneyTypeBuilder moneyBuilder()
      builder for money subtype
      Returns:
      builder
    • nestedBuilder

      static AttributeNestedTypeBuilder nestedBuilder()
      builder for nested subtype
      Returns:
      builder
    • numberBuilder

      static AttributeNumberTypeBuilder numberBuilder()
      builder for number subtype
      Returns:
      builder
    • referenceBuilder

      static AttributeReferenceTypeBuilder referenceBuilder()
      builder for reference subtype
      Returns:
      builder
    • setBuilder

      static AttributeSetTypeBuilder setBuilder()
      builder for set subtype
      Returns:
      builder
    • textBuilder

      static AttributeTextTypeBuilder textBuilder()
      builder for text subtype
      Returns:
      builder
    • timeBuilder

      static AttributeTimeTypeBuilder timeBuilder()
      builder for time subtype
      Returns:
      builder
    • withAttributeType

      default <T> T withAttributeType(Function<AttributeType,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<AttributeType> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference