package io.github.ibuildthecloud.gdapi.model; import java.util.List; import java.util.Map; import javax.xml.bind.annotation.XmlTransient; import com.fasterxml.jackson.annotation.JsonInclude; public interface Field { @XmlTransient @io.github.ibuildthecloud.gdapi.annotation.Field(include = false) String getName(); String getDescription(); String getType(); @XmlTransient @io.github.ibuildthecloud.gdapi.annotation.Field(include = false) FieldType getTypeEnum(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) Object getDefault(); @XmlTransient @io.github.ibuildthecloud.gdapi.annotation.Field(include = false) boolean hasDefault(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) boolean isUnique(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) boolean isNullable(); boolean isCreate(); boolean isReadOnCreateOnly(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) boolean isRequired(); boolean isUpdate(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) Long getMinLength(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) Long getMaxLength(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) Long getMin(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) Long getMax(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) List<String> getOptions(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) String getValidChars(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) String getInvalidChars(); @JsonInclude(JsonInclude.Include.NON_DEFAULT) String getTransform(); @XmlTransient @io.github.ibuildthecloud.gdapi.annotation.Field(include = false) boolean isIncludeInList(); Object getValue(Object object); @XmlTransient @io.github.ibuildthecloud.gdapi.annotation.Field(include = false) List<FieldType> getSubTypeEnums(); @XmlTransient @io.github.ibuildthecloud.gdapi.annotation.Field(include = false) List<String> getSubTypes(); @XmlTransient @io.github.ibuildthecloud.gdapi.annotation.Field(include = false) Integer getDisplayIndex(); @XmlTransient @io.github.ibuildthecloud.gdapi.annotation.Field(include = false) Map<String, Object> getAttributes(); }