Interface AttributeDefinitionDraft
- All Superinterfaces:
Draft<AttributeDefinitionDraft>
Specify the Attribute to be created with the ProductTypeDraft.
Example to create an instance using the builder pattern
AttributeDefinitionDraft attributeDefinitionDraft = AttributeDefinitionDraft.builder()
.type(typeBuilder -> typeBuilder)
.name("{name}")
.label(labelBuilder -> labelBuilder)
.isRequired(true)
.build()
-
Method Summary
Modifier and TypeMethodDescriptionbuilder()
builder factory method for AttributeDefinitionDraftbuilder
(AttributeDefinitionDraft template) create builder for AttributeDefinitionDraft instancestatic AttributeDefinitionDraft
deepCopy
(AttributeDefinitionDraft template) factory method to create a deep copy of AttributeDefinitionDraftSpecifies how an Attribute or a combination of Attributes should be validated across all variants of a Product.Provides a visual representation directive for values of this Attribute (only relevant for AttributeTextType and AttributeLocalizableTextType).@Valid LocalizedString
Provides additional information about the Attribute that aids content managers when setting Product details.@NotNull Boolean
Set totrue
if the Attribute is required to have a value on a ProductVariant.Set totrue
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.@NotNull @Valid LocalizedString
getLabel()
Human-readable label for the Attribute.@NotNull String
getName()
User-defined name of the Attribute that is unique with the Project.@NotNull @Valid AttributeType
getType()
Describes the Type of the Attribute.static AttributeDefinitionDraft
of()
factory methodstatic AttributeDefinitionDraft
of
(AttributeDefinitionDraft template) factory method to create a shallow copy AttributeDefinitionDraftvoid
setAttributeConstraint
(AttributeConstraintEnum attributeConstraint) Specifies how an Attribute or a combination of Attributes should be validated across all variants of a Product.void
setInputHint
(TextInputHint inputHint) Provides a visual representation directive for values of this Attribute (only relevant for AttributeTextType and AttributeLocalizableTextType).void
setInputTip
(LocalizedString inputTip) Provides additional information about the Attribute that aids content managers when setting Product details.void
setIsRequired
(Boolean isRequired) Set totrue
if the Attribute is required to have a value on a ProductVariant.void
setIsSearchable
(Boolean isSearchable) Set totrue
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.void
setLabel
(LocalizedString label) Human-readable label for the Attribute.void
User-defined name of the Attribute that is unique with the Project.void
setType
(AttributeType type) Describes the Type of the Attribute.static com.fasterxml.jackson.core.type.TypeReference<AttributeDefinitionDraft>
gives a TypeReference for usage with Jackson DataBinddefault <T> T
accessor map function
-
Method Details
-
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
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 anenum
orlenum
Type and sets thereof.- Returns:
- name
-
getLabel
Human-readable label for the Attribute.
- Returns:
- label
-
getIsRequired
Set to
true
if the Attribute is required to have a value on a ProductVariant.- Returns:
- isRequired
-
getAttributeConstraint
AttributeConstraintEnum getAttributeConstraint()Specifies how an Attribute or a combination of Attributes should be validated across all variants of a Product.
- Returns:
- attributeConstraint
-
getInputTip
Provides additional information about the Attribute that aids content managers when setting Product details.
- Returns:
- inputTip
-
getInputHint
TextInputHint getInputHint()Provides a visual representation directive for values of this Attribute (only relevant for AttributeTextType and AttributeLocalizableTextType).
- Returns:
- inputHint
-
getIsSearchable
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
-
setType
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
-
setName
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 anenum
orlenum
Type and sets thereof.- Parameters:
name
- value to be set
-
setLabel
Human-readable label for the Attribute.
- Parameters:
label
- value to be set
-
setIsRequired
Set to
true
if the Attribute is required to have a value on a ProductVariant.- Parameters:
isRequired
- value to be set
-
setAttributeConstraint
Specifies how an Attribute or a combination of Attributes should be validated across all variants of a Product.
- Parameters:
attributeConstraint
- value to be set
-
setInputTip
Provides additional information about the Attribute that aids content managers when setting Product details.
- Parameters:
inputTip
- value to be set
-
setInputHint
Provides a visual representation directive for values of this Attribute (only relevant for AttributeTextType and AttributeLocalizableTextType).
- Parameters:
inputHint
- value to be set
-
setIsSearchable
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
-
of
factory method- Returns:
- instance of AttributeDefinitionDraft
-
of
factory method to create a shallow copy AttributeDefinitionDraft- Parameters:
template
- instance to be copied- Returns:
- copy instance
-
deepCopy
factory method to create a deep copy of AttributeDefinitionDraft- Parameters:
template
- instance to be copied- Returns:
- copy instance
-
builder
builder factory method for AttributeDefinitionDraft- Returns:
- builder
-
builder
create builder for AttributeDefinitionDraft instance- Parameters:
template
- instance with prefilled values for the builder- Returns:
- builder
-
withAttributeDefinitionDraft
accessor map function- Type Parameters:
T
- mapped type- Parameters:
helper
- function to map the object- Returns:
- mapped value
-
typeReference
gives a TypeReference for usage with Jackson DataBind- Returns:
- TypeReference
-