
com.commercetools.importapi.models.customfields.CustomField Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of commercetools-sdk-java-importapi Show documentation
Show all versions of commercetools-sdk-java-importapi Show documentation
The e-commerce SDK from commercetools for Java
package com.commercetools.importapi.models.customfields;
import java.time.*;
import java.util.*;
import java.util.function.Function;
import javax.annotation.Nullable;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.annotation.*;
import io.vrap.rmf.base.client.utils.Generated;
import jakarta.validation.constraints.NotNull;
/**
* Provides the value for a Custom Field of a specific type.
*
*
* Example to create a subtype instance using the builder pattern
*
*
* CustomField customField = CustomField.booleanBuilder()
* value(true)
* .build()
*
*
*/
@JsonSubTypes({
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.BooleanFieldImpl.class, name = BooleanField.BOOLEAN),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.BooleanSetFieldImpl.class, name = BooleanSetField.BOOLEAN_SET),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.DateFieldImpl.class, name = DateField.DATE),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.DateSetFieldImpl.class, name = DateSetField.DATE_SET),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.DateTimeFieldImpl.class, name = DateTimeField.DATE_TIME),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.DateTimeSetFieldImpl.class, name = DateTimeSetField.DATE_TIME_SET),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.EnumFieldImpl.class, name = EnumField.ENUM),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.EnumSetFieldImpl.class, name = EnumSetField.ENUM_SET),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.LocalizedEnumFieldImpl.class, name = LocalizedEnumField.LOCALIZED_ENUM),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.LocalizedEnumSetFieldImpl.class, name = LocalizedEnumSetField.LOCALIZED_ENUM_SET),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.LocalizedStringFieldImpl.class, name = LocalizedStringField.LOCALIZED_STRING),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.LocalizedStringSetFieldImpl.class, name = LocalizedStringSetField.LOCALIZED_STRING_SET),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.MoneyFieldImpl.class, name = MoneyField.MONEY),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.MoneySetFieldImpl.class, name = MoneySetField.MONEY_SET),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.NumberFieldImpl.class, name = NumberField.NUMBER),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.NumberSetFieldImpl.class, name = NumberSetField.NUMBER_SET),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.ReferenceFieldImpl.class, name = ReferenceField.REFERENCE),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.ReferenceSetFieldImpl.class, name = ReferenceSetField.REFERENCE_SET),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.StringFieldImpl.class, name = StringField.STRING),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.StringSetFieldImpl.class, name = StringSetField.STRING_SET),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.TimeFieldImpl.class, name = TimeField.TIME),
@JsonSubTypes.Type(value = com.commercetools.importapi.models.customfields.TimeSetFieldImpl.class, name = TimeSetField.TIME_SET) })
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "type", defaultImpl = CustomFieldImpl.class, visible = true)
@JsonDeserialize(as = CustomFieldImpl.class)
@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
public interface CustomField {
/**
* The type of this field.
* @return type
*/
@NotNull
@JsonProperty("type")
public String getType();
/**
* factory method to create a deep copy of CustomField
* @param template instance to be copied
* @return copy instance
*/
@Nullable
public static CustomField deepCopy(@Nullable final CustomField template) {
if (template == null) {
return null;
}
if (template instanceof com.commercetools.importapi.models.customfields.BooleanField) {
return com.commercetools.importapi.models.customfields.BooleanField
.deepCopy((com.commercetools.importapi.models.customfields.BooleanField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.BooleanSetField) {
return com.commercetools.importapi.models.customfields.BooleanSetField
.deepCopy((com.commercetools.importapi.models.customfields.BooleanSetField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.DateField) {
return com.commercetools.importapi.models.customfields.DateField
.deepCopy((com.commercetools.importapi.models.customfields.DateField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.DateSetField) {
return com.commercetools.importapi.models.customfields.DateSetField
.deepCopy((com.commercetools.importapi.models.customfields.DateSetField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.DateTimeField) {
return com.commercetools.importapi.models.customfields.DateTimeField
.deepCopy((com.commercetools.importapi.models.customfields.DateTimeField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.DateTimeSetField) {
return com.commercetools.importapi.models.customfields.DateTimeSetField
.deepCopy((com.commercetools.importapi.models.customfields.DateTimeSetField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.EnumField) {
return com.commercetools.importapi.models.customfields.EnumField
.deepCopy((com.commercetools.importapi.models.customfields.EnumField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.EnumSetField) {
return com.commercetools.importapi.models.customfields.EnumSetField
.deepCopy((com.commercetools.importapi.models.customfields.EnumSetField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.LocalizedEnumField) {
return com.commercetools.importapi.models.customfields.LocalizedEnumField
.deepCopy((com.commercetools.importapi.models.customfields.LocalizedEnumField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.LocalizedEnumSetField) {
return com.commercetools.importapi.models.customfields.LocalizedEnumSetField
.deepCopy((com.commercetools.importapi.models.customfields.LocalizedEnumSetField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.LocalizedStringField) {
return com.commercetools.importapi.models.customfields.LocalizedStringField
.deepCopy((com.commercetools.importapi.models.customfields.LocalizedStringField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.LocalizedStringSetField) {
return com.commercetools.importapi.models.customfields.LocalizedStringSetField
.deepCopy((com.commercetools.importapi.models.customfields.LocalizedStringSetField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.MoneyField) {
return com.commercetools.importapi.models.customfields.MoneyField
.deepCopy((com.commercetools.importapi.models.customfields.MoneyField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.MoneySetField) {
return com.commercetools.importapi.models.customfields.MoneySetField
.deepCopy((com.commercetools.importapi.models.customfields.MoneySetField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.NumberField) {
return com.commercetools.importapi.models.customfields.NumberField
.deepCopy((com.commercetools.importapi.models.customfields.NumberField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.NumberSetField) {
return com.commercetools.importapi.models.customfields.NumberSetField
.deepCopy((com.commercetools.importapi.models.customfields.NumberSetField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.ReferenceField) {
return com.commercetools.importapi.models.customfields.ReferenceField
.deepCopy((com.commercetools.importapi.models.customfields.ReferenceField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.ReferenceSetField) {
return com.commercetools.importapi.models.customfields.ReferenceSetField
.deepCopy((com.commercetools.importapi.models.customfields.ReferenceSetField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.StringField) {
return com.commercetools.importapi.models.customfields.StringField
.deepCopy((com.commercetools.importapi.models.customfields.StringField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.StringSetField) {
return com.commercetools.importapi.models.customfields.StringSetField
.deepCopy((com.commercetools.importapi.models.customfields.StringSetField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.TimeField) {
return com.commercetools.importapi.models.customfields.TimeField
.deepCopy((com.commercetools.importapi.models.customfields.TimeField) template);
}
if (template instanceof com.commercetools.importapi.models.customfields.TimeSetField) {
return com.commercetools.importapi.models.customfields.TimeSetField
.deepCopy((com.commercetools.importapi.models.customfields.TimeSetField) template);
}
CustomFieldImpl instance = new CustomFieldImpl();
return instance;
}
/**
* builder for boolean subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.BooleanFieldBuilder booleanBuilder() {
return com.commercetools.importapi.models.customfields.BooleanFieldBuilder.of();
}
/**
* builder for booleanSet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.BooleanSetFieldBuilder booleanSetBuilder() {
return com.commercetools.importapi.models.customfields.BooleanSetFieldBuilder.of();
}
/**
* builder for date subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.DateFieldBuilder dateBuilder() {
return com.commercetools.importapi.models.customfields.DateFieldBuilder.of();
}
/**
* builder for dateSet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.DateSetFieldBuilder dateSetBuilder() {
return com.commercetools.importapi.models.customfields.DateSetFieldBuilder.of();
}
/**
* builder for dateTime subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.DateTimeFieldBuilder dateTimeBuilder() {
return com.commercetools.importapi.models.customfields.DateTimeFieldBuilder.of();
}
/**
* builder for dateTimeSet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.DateTimeSetFieldBuilder dateTimeSetBuilder() {
return com.commercetools.importapi.models.customfields.DateTimeSetFieldBuilder.of();
}
/**
* builder for enum subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.EnumFieldBuilder enumBuilder() {
return com.commercetools.importapi.models.customfields.EnumFieldBuilder.of();
}
/**
* builder for enumSet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.EnumSetFieldBuilder enumSetBuilder() {
return com.commercetools.importapi.models.customfields.EnumSetFieldBuilder.of();
}
/**
* builder for localizedEnum subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.LocalizedEnumFieldBuilder localizedEnumBuilder() {
return com.commercetools.importapi.models.customfields.LocalizedEnumFieldBuilder.of();
}
/**
* builder for localizedEnumSet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.LocalizedEnumSetFieldBuilder localizedEnumSetBuilder() {
return com.commercetools.importapi.models.customfields.LocalizedEnumSetFieldBuilder.of();
}
/**
* builder for localizedString subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.LocalizedStringFieldBuilder localizedStringBuilder() {
return com.commercetools.importapi.models.customfields.LocalizedStringFieldBuilder.of();
}
/**
* builder for localizedStringSet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.LocalizedStringSetFieldBuilder localizedStringSetBuilder() {
return com.commercetools.importapi.models.customfields.LocalizedStringSetFieldBuilder.of();
}
/**
* builder for money subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.MoneyFieldBuilder moneyBuilder() {
return com.commercetools.importapi.models.customfields.MoneyFieldBuilder.of();
}
/**
* builder for moneySet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.MoneySetFieldBuilder moneySetBuilder() {
return com.commercetools.importapi.models.customfields.MoneySetFieldBuilder.of();
}
/**
* builder for number subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.NumberFieldBuilder numberBuilder() {
return com.commercetools.importapi.models.customfields.NumberFieldBuilder.of();
}
/**
* builder for numberSet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.NumberSetFieldBuilder numberSetBuilder() {
return com.commercetools.importapi.models.customfields.NumberSetFieldBuilder.of();
}
/**
* builder for reference subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.ReferenceFieldBuilder referenceBuilder() {
return com.commercetools.importapi.models.customfields.ReferenceFieldBuilder.of();
}
/**
* builder for referenceSet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.ReferenceSetFieldBuilder referenceSetBuilder() {
return com.commercetools.importapi.models.customfields.ReferenceSetFieldBuilder.of();
}
/**
* builder for string subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.StringFieldBuilder stringBuilder() {
return com.commercetools.importapi.models.customfields.StringFieldBuilder.of();
}
/**
* builder for stringSet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.StringSetFieldBuilder stringSetBuilder() {
return com.commercetools.importapi.models.customfields.StringSetFieldBuilder.of();
}
/**
* builder for time subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.TimeFieldBuilder timeBuilder() {
return com.commercetools.importapi.models.customfields.TimeFieldBuilder.of();
}
/**
* builder for timeSet subtype
* @return builder
*/
public static com.commercetools.importapi.models.customfields.TimeSetFieldBuilder timeSetBuilder() {
return com.commercetools.importapi.models.customfields.TimeSetFieldBuilder.of();
}
/**
* accessor map function
* @param mapped type
* @param helper function to map the object
* @return mapped value
*/
default T withCustomField(Function helper) {
return helper.apply(this);
}
/**
* gives a TypeReference for usage with Jackson DataBind
* @return TypeReference
*/
public static com.fasterxml.jackson.core.type.TypeReference typeReference() {
return new com.fasterxml.jackson.core.type.TypeReference() {
@Override
public String toString() {
return "TypeReference";
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy