Class AttributeDefinitionDraftBuilder

java.lang.Object
com.commercetools.api.models.product_type.AttributeDefinitionDraftBuilder
All Implemented Interfaces:
Builder<AttributeDefinitionDraft>

public class AttributeDefinitionDraftBuilder extends Object implements Builder<AttributeDefinitionDraft>
AttributeDefinitionDraftBuilder
Example to create an instance using the builder pattern

     AttributeDefinitionDraft attributeDefinitionDraft = AttributeDefinitionDraft.builder()
             .type(typeBuilder -> typeBuilder)
             .name("{name}")
             .label(labelBuilder -> labelBuilder)
             .isRequired(true)
             .build()
 
  • Constructor Details

    • AttributeDefinitionDraftBuilder

      public AttributeDefinitionDraftBuilder()
  • Method Details

    • type

      Describes the Type of the Attribute.

      When the type is different for an AttributeDefinition using the same name in multiple ProductTypes, an AttributeDefinitionTypeConflict error is returned.

      Parameters:
      type - value to be set
      Returns:
      Builder
    • type

      Describes the Type of the Attribute.

      When the type is different for an AttributeDefinition using the same name in multiple ProductTypes, an AttributeDefinitionTypeConflict error is returned.

      Parameters:
      builder - function to build the type value
      Returns:
      Builder
    • name

      User-defined name of the Attribute that is unique with the Project.

      When using the same name for an Attribute in multiple ProductTypes, all fields of the AttributeDefinition of this Attribute must be the same across the ProductTypes, else an AttributeDefinitionAlreadyExists error is returned. An exception to this are the values of an enum or lenum Type and sets thereof.

      Parameters:
      name - value to be set
      Returns:
      Builder
    • label

      Human-readable label for the Attribute.

      Parameters:
      builder - function to build the label value
      Returns:
      Builder
    • withLabel

      Human-readable label for the Attribute.

      Parameters:
      builder - function to build the label value
      Returns:
      Builder
    • label

      Human-readable label for the Attribute.

      Parameters:
      label - value to be set
      Returns:
      Builder
    • isRequired

      public AttributeDefinitionDraftBuilder isRequired(Boolean isRequired)

      Set to true if the Attribute is required to have a value on a ProductVariant.

      Parameters:
      isRequired - value to be set
      Returns:
      Builder
    • attributeConstraint

      public AttributeDefinitionDraftBuilder attributeConstraint(@Nullable AttributeConstraintEnum attributeConstraint)

      Specifies how an Attribute or a combination of Attributes should be validated across all variants of a Product.

      Parameters:
      attributeConstraint - value to be set
      Returns:
      Builder
    • inputTip

      Provides additional information about the Attribute that aids content managers when setting Product details.

      Parameters:
      builder - function to build the inputTip value
      Returns:
      Builder
    • withInputTip

      Provides additional information about the Attribute that aids content managers when setting Product details.

      Parameters:
      builder - function to build the inputTip value
      Returns:
      Builder
    • inputTip

      Provides additional information about the Attribute that aids content managers when setting Product details.

      Parameters:
      inputTip - value to be set
      Returns:
      Builder
    • inputHint

      Provides a visual representation directive for values of this Attribute (only relevant for AttributeTextType and AttributeLocalizableTextType).

      Parameters:
      inputHint - value to be set
      Returns:
      Builder
    • isSearchable

      public AttributeDefinitionDraftBuilder isSearchable(@Nullable Boolean isSearchable)

      Set to true if the Attribute's values should be available in the Product Projections Search API and can be used in full-text search queries, filters, and facets. Which exact features are available with this flag depends on the specific AttributeType. The maximum size of a searchable field is restricted by the Field content size limit. This constraint is enforced at both Product creation and Product update. If the length of the input exceeds the maximum size, an InvalidField error is returned.

      Parameters:
      isSearchable - value to be set
      Returns:
      Builder
    • getType

      public AttributeType getType()

      Describes the Type of the Attribute.

      When the type is different for an AttributeDefinition using the same name in multiple ProductTypes, an AttributeDefinitionTypeConflict error is returned.

      Returns:
      type
    • getName

      public String getName()

      User-defined name of the Attribute that is unique with the Project.

      When using the same name for an Attribute in multiple ProductTypes, all fields of the AttributeDefinition of this Attribute must be the same across the ProductTypes, else an AttributeDefinitionAlreadyExists error is returned. An exception to this are the values of an enum or lenum Type and sets thereof.

      Returns:
      name
    • getLabel

      public LocalizedString getLabel()

      Human-readable label for the Attribute.

      Returns:
      label
    • getIsRequired

      public Boolean getIsRequired()

      Set to true if the Attribute is required to have a value on a ProductVariant.

      Returns:
      isRequired
    • getAttributeConstraint

      @Nullable public AttributeConstraintEnum getAttributeConstraint()

      Specifies how an Attribute or a combination of Attributes should be validated across all variants of a Product.

      Returns:
      attributeConstraint
    • getInputTip

      @Nullable public LocalizedString getInputTip()

      Provides additional information about the Attribute that aids content managers when setting Product details.

      Returns:
      inputTip
    • getInputHint

      @Nullable public TextInputHint getInputHint()

      Provides a visual representation directive for values of this Attribute (only relevant for AttributeTextType and AttributeLocalizableTextType).

      Returns:
      inputHint
    • getIsSearchable

      @Nullable public Boolean getIsSearchable()

      Set to true if the Attribute's values should be available in the Product Projections Search API and can be used in full-text search queries, filters, and facets. Which exact features are available with this flag depends on the specific AttributeType. The maximum size of a searchable field is restricted by the Field content size limit. This constraint is enforced at both Product creation and Product update. If the length of the input exceeds the maximum size, an InvalidField error is returned.

      Returns:
      isSearchable
    • build

      public AttributeDefinitionDraft build()
      builds AttributeDefinitionDraft with checking for non-null required values
      Specified by:
      build in interface Builder<AttributeDefinitionDraft>
      Returns:
      AttributeDefinitionDraft
    • buildUnchecked

      public AttributeDefinitionDraft buildUnchecked()
      builds AttributeDefinitionDraft without checking for non-null required values
      Returns:
      AttributeDefinitionDraft
    • of

      public static AttributeDefinitionDraftBuilder of()
      factory method for an instance of AttributeDefinitionDraftBuilder
      Returns:
      builder
    • of

      create builder for AttributeDefinitionDraft instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder