package org.alien4cloud.tosca.model.types; import java.util.List; import javax.validation.Valid; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; import org.alien4cloud.tosca.model.definitions.PropertyConstraint; import org.alien4cloud.tosca.model.types.DataType; import org.elasticsearch.annotation.ESObject; import alien4cloud.json.deserializer.PropertyConstraintDeserializer; import alien4cloud.tosca.container.validation.ToscaPropertyConstraintDuplicate; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * Complex data type used for property definition */ @Getter @Setter @EqualsAndHashCode(of = {}, callSuper = true) @ESObject public class PrimitiveDataType extends DataType { /** * Only data types that derive from a simple type have associated constraints. */ @Valid @ToscaPropertyConstraintDuplicate @JsonDeserialize(contentUsing = PropertyConstraintDeserializer.class) private List<PropertyConstraint> constraints; public PrimitiveDataType() { super(); this.setDeriveFromSimpleType(true); } }