All Superinterfaces:
Constructible, Extensible, Reference<Schema>

public interface Schema extends Extensible, Constructible, Reference<Schema>
The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. This object is an extended subset of the JSON Schema Specification Wright Draft 00.

For more information about the properties, see JSON Schema Core and JSON Schema Validation. Unless stated otherwise, the property definitions follow the JSON Schema.

Any time a Schema Object can be used, a Reference Object can be used in its place. This allows referencing an existing definition instead of defining the same Schema again.

See Also:
  • Method Details

    • getDiscriminator

      Discriminator getDiscriminator()
      Returns the discriminator property from this Schema instance.
      Returns:
      the discriminator that is used to differentiate between the schemas which may satisfy the payload description
    • setDiscriminator

      void setDiscriminator(Discriminator discriminator)
      Sets the discriminator property of this Schema instance to the given object.
      Parameters:
      discriminator - the object that is used to differentiate between the schemas which may satisfy the payload description
    • discriminator

      Schema discriminator(Discriminator discriminator)
      Sets the discriminator property of this Schema instance to the given object.
      Parameters:
      discriminator - the object that is used to differentiate between the schemas which may satisfy the payload description
      Returns:
      the current Schema instance
    • getTitle

      String getTitle()
      Returns the title property from this Schema instance.
      Returns:
      the title assigned to this Schema
    • setTitle

      void setTitle(String title)
      Sets the title property of this Schema instance to the given string.
      Parameters:
      title - a title to assign to this Schema
    • title

      Schema title(String title)
      Sets the title property of this Schema instance to the given string.
      Parameters:
      title - a title to assign to this Schema
      Returns:
      the current Schema instance
    • getDefaultValue

      Object getDefaultValue()
      Returns the default value property from this Schema instance.
      Returns:
      the default value object
    • setDefaultValue

      void setDefaultValue(Object defaultValue)
      Set the default value property of this Schema instance to the value given.
      Parameters:
      defaultValue - a value to use as the default
    • defaultValue

      Schema defaultValue(Object defaultValue)
      Set the default value property of this Schema instance to the value given.
      Parameters:
      defaultValue - a value to use as the default
      Returns:
      the current Schema instance
    • getEnumeration

      List<Object> getEnumeration()
      Returns the enumerated list of values allowed for objects defined by this Schema.
      Returns:
      the list of values allowed for objects defined by this Schema
    • setEnumeration

      void setEnumeration(List<Object> enumeration)
      Sets the enumerated list of values allowed for objects defined by this Schema.
      Parameters:
      enumeration - a list of values allowed
    • enumeration

      Schema enumeration(List<Object> enumeration)
    • addEnumeration

      Schema addEnumeration(Object enumeration)
      Adds an item of the appropriate type to the enumerated list of values allowed.
      Parameters:
      enumeration - an object to add to the enumerated values
      Returns:
      current Schema instance
    • getMultipleOf

      BigDecimal getMultipleOf()
      Returns the multipleOf property from this Schema instance.

      minimum: 0

      Returns:
      the positive number that restricts the value of the object
    • setMultipleOf

      void setMultipleOf(BigDecimal multipleOf)
      Sets the multipleOf property of this Schema instance to the value given.
      Parameters:
      multipleOf - a positive number that restricts the value of objects described by this Schema
    • multipleOf

      Schema multipleOf(BigDecimal multipleOf)
      Sets the multipleOf property of this Schema instance to the value given.
      Parameters:
      multipleOf - a positive number that restricts the value of objects described by this Schema
      Returns:
      the current Schema instance
    • getMaximum

      BigDecimal getMaximum()
      Returns the maximum property from this Schema instance.
      Returns:
      the maximum value of a numeric object
    • setMaximum

      void setMaximum(BigDecimal maximum)
      Sets the maximum property of this Schema instance to the value given.
      Parameters:
      maximum - specifies the maximum numeric value of objects defined by this Schema
    • maximum

      Schema maximum(BigDecimal maximum)
      Sets the maximum property of this Schema instance to the value given.
      Parameters:
      maximum - specifies the maximum numeric value of objects defined by this Schema
      Returns:
      the current Schema instance
    • getExclusiveMaximum

      Boolean getExclusiveMaximum()
      Returns the exclusiveMaximum property from this Schema instance.
      Returns:
      whether the numeric value of objects must be less than the maximum property
    • setExclusiveMaximum

      void setExclusiveMaximum(Boolean exclusiveMaximum)
      Sets the exclusiveMaximum property of this Schema instance to the value given.
      Parameters:
      exclusiveMaximum - when true the numeric value of objects defined by this Schema must be less than indicated by the maximum property
    • exclusiveMaximum

      Schema exclusiveMaximum(Boolean exclusiveMaximum)
      Sets the exclusiveMaximum property of this Schema instance to the value given.
      Parameters:
      exclusiveMaximum - when true the numeric value of objects defined by this Schema must be less than indicated by the maximum property
      Returns:
      the current Schema instance
    • getMinimum

      BigDecimal getMinimum()
      Returns the minimum property from this Schema instance.
      Returns:
      the minimum value of a numeric object
    • setMinimum

      void setMinimum(BigDecimal minimum)
      Sets the minimum property of this Schema instance to the value given.
      Parameters:
      minimum - specifies the minimum numeric value of objects defined by this Schema
    • minimum

      Schema minimum(BigDecimal minimum)
      Sets the minimum property of this Schema instance to the value given.
      Parameters:
      minimum - specifies the minimum numeric value of objects defined by this Schema
      Returns:
      the current Schema instance
    • getExclusiveMinimum

      Boolean getExclusiveMinimum()
      Returns the exclusiveMinimum property from this Schema instance.
      Returns:
      whether the numeric value of objects must be greater than the minimum property
    • setExclusiveMinimum

      void setExclusiveMinimum(Boolean exclusiveMinimum)
      Sets the exclusiveMinimum property of this Schema instance to the value given.
      Parameters:
      exclusiveMinimum - when true the numeric value of objects defined by this Schema must be greater than indicated by the minimum property
    • exclusiveMinimum

      Schema exclusiveMinimum(Boolean exclusiveMinimum)
      Sets the exclusiveMinimum property of this Schema instance to the value given.
      Parameters:
      exclusiveMinimum - when true the numeric value of objects defined by this Schema must be greater than indicated by the minimum property
      Returns:
      the current Schema instance
    • getMaxLength

      Integer getMaxLength()
      Returns the maxLength property from this Schema instance.

      minimum: 0

      Returns:
      the maximum length of objects e.g. strings
    • setMaxLength

      void setMaxLength(Integer maxLength)
      Sets the maxLength property of this Schema instance to the value given.
      Parameters:
      maxLength - the maximum length of objects defined by this Schema
    • maxLength

      Schema maxLength(Integer maxLength)
      Sets the maxLength property of this Schema instance to the value given.
      Parameters:
      maxLength - the maximum length of objects defined by this Schema
      Returns:
      the current Schema instance
    • getMinLength

      Integer getMinLength()
      Returns the minLength property from this Schema instance.

      minimum: 0

      Returns:
      the minimum length of objects e.g. strings
    • setMinLength

      void setMinLength(Integer minLength)
      Sets the minLength property of this Schema instance to the value given.
      Parameters:
      minLength - the minimum length of objects defined by this Schema
    • minLength

      Schema minLength(Integer minLength)
      Sets the minLength property of this Schema instance to the value given.
      Parameters:
      minLength - the minimum length of objects defined by this Schema
      Returns:
      the current Schema instance
    • getPattern

      String getPattern()
      Returns the pattern property from this Schema instance.
      Returns:
      the regular expression which restricts the value of an object e.g. a string
    • setPattern

      void setPattern(String pattern)
      Sets the pattern property of this Schema instance to the string given.
      Parameters:
      pattern - the regular expression which restricts objects defined by this Schema
    • pattern

      Schema pattern(String pattern)
      Sets the pattern property of this Schema instance to the string given.
      Parameters:
      pattern - the regular expression which restricts objects defined by this Schema
      Returns:
      the current Schema instance
    • getMaxItems

      Integer getMaxItems()
      Returns the maxItems property from this Schema instance.

      minimum: 0

      Returns:
      the maximum number of elements in the object e.g. array elements
    • setMaxItems

      void setMaxItems(Integer maxItems)
      Sets the maxItems property of this Schema instance to the value given.
      Parameters:
      maxItems - the maximum number of elements in objects defined by this Schema e.g. array elements
    • maxItems

      Schema maxItems(Integer maxItems)
      Sets the maxItems property of this Schema instance to the value given.
      Parameters:
      maxItems - the maximum number of elements in objects defined by this Schema e.g. array elements
      Returns:
      the current Schema instance
    • getMinItems

      Integer getMinItems()
      Returns the minItems property from this Schema instance.

      minimum: 0

      Returns:
      the minimum number of elements in the object e.g. array elements
    • setMinItems

      void setMinItems(Integer minItems)
      Sets the minItems property of this Schema instance to the value given.
      Parameters:
      minItems - the minimum number of elements in objects defined by this Schema e.g. array elements
    • minItems

      Schema minItems(Integer minItems)
      Sets the minItems property of this Schema instance to the value given.
      Parameters:
      minItems - the minimum number of elements in objects defined by this Schema e.g. array elements
      Returns:
      the current Schema instance
    • getUniqueItems

      Boolean getUniqueItems()
      Returns the uniqueItems property from this Schema instance.
      Returns:
      whether to ensure items are unique
    • setUniqueItems

      void setUniqueItems(Boolean uniqueItems)
      Sets the uniqueItems property of this Schema instance to the value given.
      Parameters:
      uniqueItems - ensure the items (e.g. array elements) are unique in objects defined by this Schema
    • uniqueItems

      Schema uniqueItems(Boolean uniqueItems)
      Sets the uniqueItems property of this Schema instance to the value given.
      Parameters:
      uniqueItems - ensure the items (e.g. array elements) are unique in objects defined by this Schema
      Returns:
      the current Schema instance
    • getMaxProperties

      Integer getMaxProperties()
      Returns the maxProperties property from this Schema instance.

      minimum: 0

      Returns:
      the maximum number of properties allowed in the object
    • setMaxProperties

      void setMaxProperties(Integer maxProperties)
      Sets the maxProperties property of this Schema instance to the value given.
      Parameters:
      maxProperties - limit the number of properties in objects defined by this Schema
    • maxProperties

      Schema maxProperties(Integer maxProperties)
      Sets the maxProperties property of this Schema instance to the value given.
      Parameters:
      maxProperties - limit the number of properties in objects defined by this Schema
      Returns:
      the current Schema instance
    • getMinProperties

      Integer getMinProperties()
      Returns the minProperties property from this Schema instance.

      minimum: 0

      Returns:
      the minimum number of properties allowed in the object
    • setMinProperties

      void setMinProperties(Integer minProperties)
      Sets the minProperties property of this Schema instance to the value given.
      Parameters:
      minProperties - limit the number of properties in objects defined by this Schema
    • minProperties

      Schema minProperties(Integer minProperties)
      Sets the minProperties property of this Schema instance to the value given.
      Parameters:
      minProperties - limit the number of properties in objects defined by this Schema
      Returns:
      the current Schema instance
    • getRequired

      List<String> getRequired()
      Returns the required property from this Schema instance.
      Returns:
      the list of fields required in objects defined by this Schema
    • setRequired

      void setRequired(List<String> required)
      Sets the list of fields required in objects defined by this Schema.
      Parameters:
      required - the list of fields required in objects defined by this Schema
    • required

      Schema required(List<String> required)
      Sets the list of fields required in objects defined by this Schema.
      Parameters:
      required - the list of fields required in objects defined by this Schema
      Returns:
      the current Schema instance
    • addRequired

      Schema addRequired(String required)
      Adds the name of an item to the list of fields required in objects defined by this Schema.
      Parameters:
      required - the name of an item required in objects defined by this Schema instance
      Returns:
      the current Schema instance
    • getType

      Returns the type property from this Schema.
      Returns:
      the type used in this Schema. Default value must be null
    • setType

      void setType(Schema.SchemaType type)
      Sets the type used by this Schema to the string given.
      Parameters:
      type - the type used by this Schema or null for reference schemas
    • type

      Sets the type used by this Schema to the string given.
      Parameters:
      type - the type used by this Schema or null for reference schemas
      Returns:
      the current Schema instance
    • getNot

      Schema getNot()
      Returns a Schema which describes properties not allowed in objects defined by the current schema.
      Returns:
      the not property's schema
    • setNot

      void setNot(Schema not)
      Sets the not property to a Schema which describes properties not allowed in objects defined by the current schema.
      Parameters:
      not - the Schema which describes properties not allowed
    • not

      Schema not(Schema not)
      Sets the not property to a Schema which describes properties not allowed in objects defined by the current schema.
      Parameters:
      not - the Schema which describes properties not allowed
      Returns:
      the current Schema instance
    • getProperties

      Map<String,Schema> getProperties()
      Returns the properties defined in this Schema.
      Returns:
      a map which associates property names with the schemas that describe their contents
    • setProperties

      void setProperties(Map<String,Schema> properties)
      Sets the properties of this Schema instance to the map provided.
      Parameters:
      properties - a map which associates property names with the schemas that describe their contents
    • properties

      Schema properties(Map<String,Schema> properties)
      Sets the properties of this Schema instance to the map provided.
      Parameters:
      properties - a map which associates property names with the schemas that describe their contents
      Returns:
      the current Schema instance
    • addProperty

      Schema addProperty(String key, Schema propertySchema)
      Adds a Schema property of the provided name using the given schema.
      Parameters:
      key - the name of a new Schema property
      propertySchema - the Schema which describes the properties of the named property
      Returns:
      the current Schema instance
    • getAdditionalProperties

      Object getAdditionalProperties()
      Returns the value of the "additionalProperties" setting, which indicates whether properties not otherwise defined are allowed. This setting MUST either be a Boolean or Schema.
      • If "additionalProperties" is true, then any additional properties are allowed.
      • If "additionalProperties" is false, then only properties covered by the "properties" and "patternProperties" are allowed.
      • If "additionalProperties" is a Schema, then additional properties are allowed but should conform to the Schema.
      Returns:
      this Schema's additionalProperties property
    • setAdditionalProperties

      void setAdditionalProperties(Schema additionalProperties)
      Sets the Schema which defines additional properties not defined by "properties" or "patternProperties". See the javadoc for getAdditionalProperties() for more details on this setting. Note that this version of the setter is mutually exclusive with the Boolean variants.
      Parameters:
      additionalProperties - a Schema which defines additional properties
    • setAdditionalProperties

      void setAdditionalProperties(Boolean additionalProperties)
      Sets the value of "additionalProperties" to either True or False. See the javadoc for getAdditionalProperties() for more details on this setting. Note that this version of the setter is mutually exclusive with the Schema variants.
      Parameters:
      additionalProperties - a Schema which defines additional properties
    • additionalProperties

      Schema additionalProperties(Schema additionalProperties)
      Sets the Schema which defines additional properties not defined by "properties" or "patternProperties". See the javadoc for getAdditionalProperties() for more details on this setting. Note that this version of the setter is mutually exclusive with the Boolean variants.
      Parameters:
      additionalProperties - a Schema which defines additional properties
      Returns:
      the current Schema instance
    • additionalProperties

      Schema additionalProperties(Boolean additionalProperties)
      Sets the value of "additionalProperties" to either True or False. See the javadoc for getAdditionalProperties() for more details on this setting. Note that this version of the setter is mutually exclusive with the Schema variants.
      Parameters:
      additionalProperties - a Schema which defines additional properties
      Returns:
      the current Schema instance
    • getDescription

      String getDescription()
      Returns a description of the purpose of this Schema.
      Returns:
      a string containing a description
    • setDescription

      void setDescription(String description)
      Sets the description property of this Schema to the given string.
      Parameters:
      description - a string containing a description of the purpose of this Schema
    • description

      Schema description(String description)
      Sets the description property of this Schema to the given string.
      Parameters:
      description - a string containing a description of the purpose of this Schema
      Returns:
      the current Schema instance
    • getFormat

      String getFormat()
      Returns the format property from this Schema instance. This property clarifies the data type specified in the type property.
      Returns:
      a string describing the format of the data in this Schema
    • setFormat

      void setFormat(String format)
      Sets the format property of this Schema instance to the given string. The value may be one of the formats described in the OAS or a user defined format.
      Parameters:
      format - the string specifying the data format
    • format

      Schema format(String format)
      Sets the format property of this Schema instance to the given string. The value may be one of the formats described in the OAS or a user defined format.
      Parameters:
      format - the string specifying the data format
      Returns:
      the current Schema instance
    • getNullable

      Boolean getNullable()
      Returns the nullable property from this Schema instance which indicates whether null is a valid value.
      Returns:
      the nullable property
    • setNullable

      void setNullable(Boolean nullable)
      Sets the nullable property of this Schema instance. Specify true if this Schema will allow null values.
      Parameters:
      nullable - a boolean value indicating this Schema allows a null value.
    • nullable

      Schema nullable(Boolean nullable)
      Sets the nullable property of this Schema instance. Specify true if this Schema will allow null values.
      Parameters:
      nullable - a boolean value indicating this Schema allows a null value.
      Returns:
      the current Schema instance
    • getReadOnly

      Boolean getReadOnly()
      Returns the readOnly property from this Schema instance.
      Returns:
      indication that the Schema is only valid in a response message
    • setReadOnly

      void setReadOnly(Boolean readOnly)
      Sets the readOnly property of this Schema. Only valid when the Schema is the property in an object.
      Parameters:
      readOnly - true indicates the Schema should not be sent as part of a request message
    • readOnly

      Schema readOnly(Boolean readOnly)
      Sets the readOnly property of this Schema. Only valid when the Schema is the property in an object.
      Parameters:
      readOnly - true indicates the Schema should not be sent as part of a request message
      Returns:
      the current Schema instance
    • getWriteOnly

      Boolean getWriteOnly()
      Returns the writeOnly property from this Schema instance.
      Returns:
      indication that the Schema is only valid in a request message
    • setWriteOnly

      void setWriteOnly(Boolean writeOnly)
      Sets the writeOnly property of this Schema. Only valid when the Schema is the property in an object.
      Parameters:
      writeOnly - true indicates the Schema should not be sent as part of a response message
    • writeOnly

      Schema writeOnly(Boolean writeOnly)
      Sets the writeOnly property of this Schema. Only valid when the Schema is the property in an object.
      Parameters:
      writeOnly - true indicates the Schema should not be sent as part of a response message
      Returns:
      the current Schema instance
    • getExample

      Object getExample()
      Returns the example property from this Schema instance.
      Returns:
      an object which is an example of an instance of this Schema
    • setExample

      void setExample(Object example)
      Sets the example property of this Schema instance. To represent examples that cannot be naturally represented in JSON or YAML, a string value can be used to contain the example with escaping where necessary.
      Parameters:
      example - an object which is an instance of this Schema
    • example

      Schema example(Object example)
      Sets the example property of this Schema instance. To represent examples that cannot be naturally represented in JSON or YAML, a string value can be used to contain the example with escaping where necessary.
      Parameters:
      example - an object which is an instance of this Schema
      Returns:
      the current Schema instance
    • getExternalDocs

      ExternalDocumentation getExternalDocs()
      Returns the externalDocs property from this Schema instance.
      Returns:
      additional external documentation for this Schema
    • setExternalDocs

      void setExternalDocs(ExternalDocumentation externalDocs)
      Sets the externalDocs property of this Schema to the indicated value.
      Parameters:
      externalDocs - an additional external documentation object
    • externalDocs

      Schema externalDocs(ExternalDocumentation externalDocs)
      Sets the externalDocs property of this Schema to the indicated value.
      Parameters:
      externalDocs - an additional external documentation object
      Returns:
      the current Schema instance
    • getDeprecated

      Boolean getDeprecated()
      Returns the deprecated property from this Schema instance.
      Returns:
      indication that the Schema is deprecated and should be transitioned out of usage
    • setDeprecated

      void setDeprecated(Boolean deprecated)
      Sets the deprecated property of this Schema. This specifies that the Schema is deprecated and should be transitioned out of usage
      Parameters:
      deprecated - true to indicate this Schema is deprecated
    • deprecated

      Schema deprecated(Boolean deprecated)
      Sets the deprecated property of this Schema. This specifies that the Schema is deprecated and should be transitioned out of usage
      Parameters:
      deprecated - true to indicate this Schema is deprecated
      Returns:
      the current Schema instance
    • getXml

      XML getXml()
      Returns the xml property from this Schema instance.
      Returns:
      a metadata object that allows for more fine-tuned XML model definitions
    • setXml

      void setXml(XML xml)
      Sets the xml property of this Schema instance. It may only be set on properties schemas and adds additional metadata to describe the XML representation of this property.
      Parameters:
      xml - a metadata object to describe the XML representation of this property
    • xml

      Schema xml(XML xml)
      Sets the xml property of this Schema instance. It may only be set on properties schemas and adds additional metadata to describe the XML representation of this property.
      Parameters:
      xml - a metadata object to describe the XML representation of this property
      Returns:
      the current Schema instance
    • getItems

      Schema getItems()
      Returns the Schema used for all the elements of an array typed Schema.
      Returns:
      the Schema used for all the elements
    • setItems

      void setItems(Schema items)
      Set the Schema used for all the elements of an array typed Schema.
      Parameters:
      items - the Schema used by this array
    • items

      Schema items(Schema items)
      Set the Schema used for all the elements of an array typed Schema.
      Parameters:
      items - the Schema used by this array
      Returns:
      the current Schema instance
    • getAllOf

      List<Schema> getAllOf()
      Returns the schemas used by the allOf property.
      Returns:
      the list of schemas used by the allOf property
    • setAllOf

      void setAllOf(List<Schema> allOf)
      Sets the schemas used by the allOf property of this Schema.
      Parameters:
      allOf - the list of schemas used by the allOf property
    • allOf

      Schema allOf(List<Schema> allOf)
      Sets the schemas used by the allOf property of this Schema.
      Parameters:
      allOf - the list of schemas used by the allOf property
      Returns:
      the current Schema instance
    • addAllOf

      Schema addAllOf(Schema allOf)
      Adds the given Schema to the list of schemas used by the allOf property.
      Parameters:
      allOf - a Schema to use with the allOf property
      Returns:
      the current Schema instance
    • getAnyOf

      List<Schema> getAnyOf()
      Returns the schemas used by the anyOf property.
      Returns:
      the list of schemas used by the anyOf property
    • setAnyOf

      void setAnyOf(List<Schema> anyOf)
      Sets the schemas used by the anyOf property of this Schema.
      Parameters:
      anyOf - the list of schemas used by the anyOf property
    • anyOf

      Schema anyOf(List<Schema> anyOf)
      Sets the schemas used by the anyOf property of this Schema.
      Parameters:
      anyOf - the list of schemas used by the anyOf property
      Returns:
      the current Schema instance
    • addAnyOf

      Schema addAnyOf(Schema anyOf)
      Adds the given Schema to the list of schemas used by the anyOf property.
      Parameters:
      anyOf - a Schema to use with the anyOf property
      Returns:
      the current Schema instance
    • getOneOf

      List<Schema> getOneOf()
      Returns the schemas used by the oneOf property.
      Returns:
      the list of schemas used by the oneOf property
    • setOneOf

      void setOneOf(List<Schema> oneOf)
      Sets the schemas used by the oneOf property of this Schema.
      Parameters:
      oneOf - the list of schemas used by the oneOf property
    • oneOf

      Schema oneOf(List<Schema> oneOf)
      Sets the schemas used by the oneOf property of this Schema.
      Parameters:
      oneOf - the list of schemas used by the oneOf property
      Returns:
      the current Schema instance
    • addOneOf

      Schema addOneOf(Schema oneOf)
      Adds the given Schema to the list of schemas used by the oneOf property.
      Parameters:
      oneOf - a Schema to use with the oneOf property
      Returns:
      the current Schema instance