Module org.eclipse.microprofile.openapi
Package org.eclipse.microprofile.openapi.models.media

# Interface Schema

All Superinterfaces:
  `Constructible`, `Extensible<Schema>`, `Reference<Schema>`

public interface Schema extends Extensible<Schema>, 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 a superset of the JSON Schema Specification Draft 2020-12.

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:
  - OpenAPI Specification Schema Object

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static enum`
`Schema.SchemaType`
The values allowed for the `type` field.

## Method Summary

Modifier and Type
Method
Description
`Schema`
`addAllOf(Schema allOf)`
Adds the given Schema to the list of schemas used by the allOf property.
`Schema`
`addAnyOf(Schema anyOf)`
Adds the given Schema to the list of schemas used by the anyOf property.
`Schema`
`addDependentRequired(String propertyName, List<String> additionalRequiredPropertyNames)`
Sets the list of additional property names that are required if a property named `propertyName` exists.
`Schema`
`addDependentSchema(String propertyName, Schema schema)`
Sets the dependent schema for a property name.
`Schema`
`addEnumeration(Object enumeration)`
Adds an item of the appropriate type to the enumerated list of values allowed.
`Schema`
`addExample(Object example)`
Adds an example to the examples list.
`default Schema`
`additionalPropertiesBoolean(Boolean additionalProperties)`
Deprecated.
use `additionalPropertiesSchema(Schema)` with a boolean-valued schema
`default Schema`
`additionalPropertiesSchema(Schema additionalProperties)`
Sets the Schema which defines additional properties not defined by "properties" or "patternProperties".
`Schema`
`addOneOf(Schema oneOf)`
Adds the given Schema to the list of schemas used by the oneOf property.
`Schema`
`addPatternProperty(String regularExpression, Schema schema)`
Adds a regular expression and schema pair to the list of pattern properties.
`Schema`
`addPrefixItem(Schema prefixItem)`
Adds a schema to the end of the prefixItems list.
`Schema`
`addProperty(String key, Schema propertySchema)`
Adds a Schema property of the provided name using the given schema.
`Schema`
`addRequired(String required)`
Adds the name of an item to the list of fields required in objects defined by this Schema.
`Schema`
`addType(Schema.SchemaType type)`
Adds a type to the type list.
`default Schema`
`allOf(List<Schema> allOf)`
Sets the schemas used by the allOf property of this Schema.
`default Schema`
`anyOf(List<Schema> anyOf)`
Sets the schemas used by the anyOf property of this Schema.
`default Schema`
`booleanSchema(Boolean booleanSchema)`
Sets this schema to a boolean value.
`default Schema`
`comment(String comment)`
Sets the comment to be included in the `$comment` property of the schema.
`default Schema`
`constValue(Object constValue)`
Sets the const property from this Schema instance.
`default Schema`
`contains(Schema contains)`
Sets the contains property of this Schema instance.
`default Schema`
`contentEncoding(String contentEncoding)`
Sets the contentEncoding property from this Schema instance.
`default Schema`
`contentMediaType(String contentMediaType)`
Sets the contentMediaType property from this Schema instance.
`default Schema`
`contentSchema(Schema contentSchema)`
Sets the contentSchema property from this Schema instance.
`default Schema`
`defaultValue(Object defaultValue)`
Set the default value property of this Schema instance to the value given.
`default Schema`
`dependentRequired(Map<String,List<String>> dependentRequired)`
Sets the dependentRequired property of this Schema instance.
`default Schema`
`dependentSchemas(Map<String,Schema> dependentSchemas)`
Sets the dependentSchemas property of this Schema instance.
`default Schema`
`deprecated(Boolean deprecated)`
Sets the deprecated property of this Schema.
`default Schema`
`description(String description)`
Sets the description property of this Schema to the given string.
`default Schema`
`discriminator(Discriminator discriminator)`
Sets the discriminator property of this Schema instance to the given object.
`default Schema`
`elseSchema(Schema elseSchema)`
Sets the "else" schema.
`default Schema`
`enumeration(List<Object> enumeration)`
`default Schema`
`example(Object example)`
Deprecated.
use `examples(List)`
`default Schema`
`examples(List<Object> examples)`
Sets the examples property of this Schema instance.
`default Schema`
`exclusiveMaximum(BigDecimal exclusiveMaximum)`
Sets the exclusiveMaximum property of this Schema instance to the value given.
`default Schema`
`exclusiveMinimum(BigDecimal exclusiveMinimum)`
Sets the exclusiveMinimum property of this Schema instance to the value given.
`default Schema`
`externalDocs(ExternalDocumentation externalDocs)`
Sets the externalDocs property of this Schema to the indicated value.
`default Schema`
`format(String format)`
Sets the format property of this Schema instance to the given string.
`Object`
`get(String propertyName)`
Gets a schema property by name.
`Boolean`
`getAdditionalPropertiesBoolean()`
Deprecated.
use `getAdditionalPropertiesSchema()` which may return a boolean-valued schema
`Schema`
`getAdditionalPropertiesSchema()`
Returns the value of the "additionalProperties" setting, which indicates whether properties not otherwise defined are allowed.
`Map<String,?>`
`getAll()`
Gets all properties of a schema.
`List<Schema>`
`getAllOf()`
Returns the schemas used by the allOf property.
`List<Schema>`
`getAnyOf()`
Returns the schemas used by the anyOf property.
`Boolean`
`getBooleanSchema()`
Returns whether this Schema is a boolean schema.
`String`
`getComment()`
Returns the comment to be included in the `$comment` property of the schema.
`Object`
`getConstValue()`
Returns the const property from this Schema instance.
`Schema`
`getContains()`
Returns the contains property of this Schema instance.
`String`
`getContentEncoding()`
Returns the contentEncoding property from this Schema instance.
`String`
`getContentMediaType()`
Returns the contentMediaType property from this Schema instance.
`Schema`
`getContentSchema()`
Returns the contentSchema property from this Schema instance.
`Object`
`getDefaultValue()`
Returns the default value property from this Schema instance.
`Map<String,List<String>>`
`getDependentRequired()`
Returns the dependentRequired property of this Schema instance.
`Map<String,Schema>`
`getDependentSchemas()`
Returns the dependentSchemas property of this Schema instance.
`Boolean`
`getDeprecated()`
Returns the deprecated property from this Schema instance.
`String`
`getDescription()`
Returns a description of the purpose of this Schema.
`Discriminator`
`getDiscriminator()`
Returns the discriminator property from this Schema instance.
`Schema`
`getElseSchema()`
Returns the "else" schema.
`List<Object>`
`getEnumeration()`
Returns the enumerated list of values allowed for objects defined by this Schema.
`Object`
`getExample()`
Deprecated.
use `getExamples()`
`List<Object>`
`getExamples()`
Returns the examples property of this Schema instance.
`BigDecimal`
`getExclusiveMaximum()`
Returns the exclusiveMaximum property from this Schema instance.
`BigDecimal`
`getExclusiveMinimum()`
Returns the exclusiveMinimum property from this Schema instance.
`ExternalDocumentation`
`getExternalDocs()`
Returns the externalDocs property from this Schema instance.
`String`
`getFormat()`
Returns the format property from this Schema instance.
`Schema`
`getIfSchema()`
Returns the "if" schema.
`Schema`
`getItems()`
Returns the Schema used for all the elements of an array typed Schema.
`Integer`
`getMaxContains()`
Returns the maxContains property from this Schema instance.
`BigDecimal`
`getMaximum()`
Returns the maximum property from this Schema instance.
`Integer`
`getMaxItems()`
Returns the maxItems property from this Schema instance.
`Integer`
`getMaxLength()`
Returns the maxLength property from this Schema instance.
`Integer`
`getMaxProperties()`
Returns the maxProperties property from this Schema instance.
`Integer`
`getMinContains()`
Returns the minContains property from this Schema instance.
`BigDecimal`
`getMinimum()`
Returns the minimum property from this Schema instance.
`Integer`
`getMinItems()`
Returns the minItems property from this Schema instance.
`Integer`
`getMinLength()`
Returns the minLength property from this Schema instance.
`Integer`
`getMinProperties()`
Returns the minProperties property from this Schema instance.
`BigDecimal`
`getMultipleOf()`
Returns the multipleOf property from this Schema instance.
`Schema`
`getNot()`
Returns a Schema which describes properties not allowed in objects defined by the current schema.
`List<Schema>`
`getOneOf()`
Returns the schemas used by the oneOf property.
`String`
`getPattern()`
Returns the pattern property from this Schema instance.
`Map<String,Schema>`
`getPatternProperties()`
Returns the patternProperties property from this Schema instance.
`List<Schema>`
`getPrefixItems()`
Returns the prefixItems property of this Schema instance.
`Map<String,Schema>`
`getProperties()`
Returns the properties defined in this Schema.
`Schema`
`getPropertyNames()`
Returns the propertyNames property from this Schema instance.
`Boolean`
`getReadOnly()`
Returns the readOnly property from this Schema instance.
`List<String>`
`getRequired()`
Returns the required property from this Schema instance.
`String`
`getSchemaDialect()`
Returns the schema dialect in use.
`Schema`
`getThenSchema()`
Returns the "then" schema.
`String`
`getTitle()`
Returns the title property from this Schema instance.
`List<Schema.SchemaType>`
`getType()`
Returns the type property of this Schema instance.
`Schema`
`getUnevaluatedItems()`
Returns the unevaluatedItems property of this Schema instance.
`Schema`
`getUnevaluatedProperties()`
Returns the unevaluatedProperties property of this Schema instance.
`Boolean`
`getUniqueItems()`
Returns the uniqueItems property from this Schema instance.
`Boolean`
`getWriteOnly()`
Returns the writeOnly property from this Schema instance.
`XML`
`getXml()`
Returns the xml property from this Schema instance.
`default Schema`
`ifSchema(Schema ifSchema)`
Sets the "if" schema.
`default Schema`
`items(Schema items)`
Set the Schema used for all the elements of an array typed Schema.
`default Schema`
`maxContains(Integer maxContains)`
Sets the maxContains property from this Schema instance.
`default Schema`
`maximum(BigDecimal maximum)`
Sets the maximum property of this Schema instance to the value given.
`default Schema`
`maxItems(Integer maxItems)`
Sets the maxItems property of this Schema instance to the value given.
`default Schema`
`maxLength(Integer maxLength)`
Sets the maxLength property of this Schema instance to the value given.
`default Schema`
`maxProperties(Integer maxProperties)`
Sets the maxProperties property of this Schema instance to the value given.
`default Schema`
`minContains(Integer minContains)`
Sets the minContains property from this Schema instance.
`default Schema`
`minimum(BigDecimal minimum)`
Sets the minimum property of this Schema instance to the value given.
`default Schema`
`minItems(Integer minItems)`
Sets the minItems property of this Schema instance to the value given.
`default Schema`
`minLength(Integer minLength)`
Sets the minLength property of this Schema instance to the value given.
`default Schema`
`minProperties(Integer minProperties)`
Sets the minProperties property of this Schema instance to the value given.
`default Schema`
`multipleOf(BigDecimal multipleOf)`
Sets the multipleOf property of this Schema instance to the value given.
`default Schema`
`not(Schema not)`
Sets the not property to a Schema which describes properties not allowed in objects defined by the current schema.
`default Schema`
`oneOf(List<Schema> oneOf)`
Sets the schemas used by the oneOf property of this Schema.
`default Schema`
`pattern(String pattern)`
Sets the pattern property of this Schema instance to the string given.
`default Schema`
`patternProperties(Map<String,Schema> patternProperties)`
Sets the patternProperties property from this Schema instance.
`default Schema`
`prefixItems(List<Schema> prefixItems)`
Sets the prefixItems property of this Schema instance.
`default Schema`
`properties(Map<String,Schema> properties)`
Sets the properties of this Schema instance to the map provided.
`default Schema`
`propertyNames(Schema propertyNameSchema)`
Sets the propertyNames property from this Schema instance.
`default Schema`
`readOnly(Boolean readOnly)`
Sets the readOnly property of this Schema.
`void`
`removeAllOf(Schema allOf)`
Removes the given Schema to the list of schemas used by the allOf property.
`void`
`removeAnyOf(Schema anyOf)`
Removes the given Schema to the list of schemas used by the anyOf property.
`void`
`removeDependentRequired(String propertyName)`
Removes the list of additional property names that are required if a property named `propertyName` exists.
`void`
`removeDependentSchema(String propertyName)`
Removes the dependent schema for a property name.
`void`
`removeEnumeration(Object enumeration)`
Removes an item of the appropriate type to the enumerated list of values allowed.
`void`
`removeExample(Object example)`
Removes an example from the examples list.
`void`
`removeOneOf(Schema oneOf)`
Removes the given Schema to the list of schemas used by the oneOf property.
`void`
`removePatternProperty(String regularExpression)`
Removes a regular expression and its corresponding schema pair from the list of pattern properties.
`void`
`removePrefixItem(Schema prefixItem)`
Removes a schema from the prefixItems list.
`void`
`removeProperty(String key)`
Removes a Schema property of the provided name using the given schema.
`void`
`removeRequired(String required)`
Removes the name of an item to the list of fields required in objects defined by this Schema.
`void`
`removeType(Schema.SchemaType type)`
Removes a type from the type list.
`default Schema`
`required(List<String> required)`
Sets the list of fields required in objects defined by this Schema.
`default Schema`
`schemaDialect(String schemaDialect)`
Sets the schema dialect in use.
`Schema`
`set(String propertyName, Object value)`
Sets a schema property.
`void`
`setAdditionalPropertiesBoolean(Boolean additionalProperties)`
Deprecated.
use `setAdditionalPropertiesSchema(Schema)` with a boolean-valued schema
`void`
`setAdditionalPropertiesSchema(Schema additionalProperties)`
Sets the Schema which defines additional properties not defined by "properties" or "patternProperties".
`void`
`setAll(Map<String,?> allProperties)`
Sets all properties of a schema.
`void`
`setAllOf(List<Schema> allOf)`
Sets the schemas used by the allOf property of this Schema.
`void`
`setAnyOf(List<Schema> anyOf)`
Sets the schemas used by the anyOf property of this Schema.
`void`
`setBooleanSchema(Boolean booleanSchema)`
Sets this schema to a boolean value.
`void`
`setComment(String comment)`
Sets the comment to be included in the `$comment` property of the schema.
`void`
`setConstValue(Object constValue)`
Sets the const property from this Schema instance.
`void`
`setContains(Schema contains)`
Sets the contains property of this Schema instance.
`void`
`setContentEncoding(String contentEncoding)`
Sets the contentEncoding property from this Schema instance.
`void`
`setContentMediaType(String contentMediaType)`
Sets the contentMediaType property from this Schema instance.
`void`
`setContentSchema(Schema contentSchema)`
Sets the contentSchema property from this Schema instance.
`void`
`setDefaultValue(Object defaultValue)`
Set the default value property of this Schema instance to the value given.
`void`
`setDependentRequired(Map<String,List<String>> dependentRequired)`
Sets the dependentRequired property of this Schema instance.
`void`
`setDependentSchemas(Map<String,Schema> dependentSchemas)`
Sets the dependentSchemas property of this Schema instance.
`void`
`setDeprecated(Boolean deprecated)`
Sets the deprecated property of this Schema.
`void`
`setDescription(String description)`
Sets the description property of this Schema to the given string.
`void`
`setDiscriminator(Discriminator discriminator)`
Sets the discriminator property of this Schema instance to the given object.
`void`
`setElseSchema(Schema elseSchema)`
Sets the "else" schema.
`void`
`setEnumeration(List<Object> enumeration)`
Sets the enumerated list of values allowed for objects defined by this Schema.
`void`
`setExample(Object example)`
Deprecated.
use `setExamples(List)`
`void`
`setExamples(List<Object> examples)`
Sets the examples property of this Schema instance.
`void`
`setExclusiveMaximum(BigDecimal exclusiveMaximum)`
Sets the exclusiveMaximum property of this Schema instance to the value given.
`void`
`setExclusiveMinimum(BigDecimal exclusiveMinimum)`
Sets the exclusiveMinimum property of this Schema instance to the value given.
`void`
`setExternalDocs(ExternalDocumentation externalDocs)`
Sets the externalDocs property of this Schema to the indicated value.
`void`
`setFormat(String format)`
Sets the format property of this Schema instance to the given string.
`void`
`setIfSchema(Schema ifSchema)`
Sets the "if" schema.
`void`
`setItems(Schema items)`
Set the Schema used for all the elements of an array typed Schema.
`void`
`setMaxContains(Integer maxContains)`
Sets the maxContains property from this Schema instance.
`void`
`setMaximum(BigDecimal maximum)`
Sets the maximum property of this Schema instance to the value given.
`void`
`setMaxItems(Integer maxItems)`
Sets the maxItems property of this Schema instance to the value given.
`void`
`setMaxLength(Integer maxLength)`
Sets the maxLength property of this Schema instance to the value given.
`void`
`setMaxProperties(Integer maxProperties)`
Sets the maxProperties property of this Schema instance to the value given.
`void`
`setMinContains(Integer minContains)`
Sets the minContains property from this Schema instance.
`void`
`setMinimum(BigDecimal minimum)`
Sets the minimum property of this Schema instance to the value given.
`void`
`setMinItems(Integer minItems)`
Sets the minItems property of this Schema instance to the value given.
`void`
`setMinLength(Integer minLength)`
Sets the minLength property of this Schema instance to the value given.
`void`
`setMinProperties(Integer minProperties)`
Sets the minProperties property of this Schema instance to the value given.
`void`
`setMultipleOf(BigDecimal multipleOf)`
Sets the multipleOf property of this Schema instance to the value given.
`void`
`setNot(Schema not)`
Sets the not property to a Schema which describes properties not allowed in objects defined by the current schema.
`void`
`setOneOf(List<Schema> oneOf)`
Sets the schemas used by the oneOf property of this Schema.
`void`
`setPattern(String pattern)`
Sets the pattern property of this Schema instance to the string given.
`void`
`setPatternProperties(Map<String,Schema> patternProperties)`
Sets the patternProperties property from this Schema instance.
`void`
`setPrefixItems(List<Schema> prefixItems)`
Sets the prefixItems property of this Schema instance.
`void`
`setProperties(Map<String,Schema> properties)`
Sets the properties of this Schema instance to the map provided.
`void`
`setPropertyNames(Schema propertyNameSchema)`
Sets the propertyNames property from this Schema instance.
`void`
`setReadOnly(Boolean readOnly)`
Sets the readOnly property of this Schema.
`void`
`setRequired(List<String> required)`
Sets the list of fields required in objects defined by this Schema.
`void`
`setSchemaDialect(String schemaDialect)`
Sets the schema dialect in use.
`void`
`setThenSchema(Schema thenSchema)`
Sets the "then" schema.
`void`
`setTitle(String title)`
Sets the title property of this Schema instance to the given string.
`void`
`setType(List<Schema.SchemaType> types)`
Sets the type property of this Schema instance.
`void`
`setUnevaluatedItems(Schema unevaluatedItems)`
Sets the unevaluatedItems property of this Schema instance.
`void`
`setUnevaluatedProperties(Schema unevaluatedProperties)`
Sets the unevaluatedProperties property of this Schema instance.
`void`
`setUniqueItems(Boolean uniqueItems)`
Sets the uniqueItems property of this Schema instance to the value given.
`void`
`setWriteOnly(Boolean writeOnly)`
Sets the writeOnly property of this Schema.
`void`
`setXml(XML xml)`
Sets the xml property of this Schema instance.
`default Schema`
`thenSchema(Schema thenSchema)`
Sets the "then" schema.
`default Schema`
`title(String title)`
Sets the title property of this Schema instance to the given string.
`default Schema`
`type(List<Schema.SchemaType> types)`
Sets the type property of this Schema instance.
`default Schema`
`unevaluatedItems(Schema unevaluatedItems)`
Sets the unevaluatedItems property of this Schema instance.
`default Schema`
`unevaluatedProperties(Schema unevaluatedProperties)`
Sets the unevaluatedProperties property of this Schema instance.
`default Schema`
`uniqueItems(Boolean uniqueItems)`
Sets the uniqueItems property of this Schema instance to the value given.
`default Schema`
`writeOnly(Boolean writeOnly)`
Sets the writeOnly property of this Schema.
`default Schema`
`xml(XML xml)`
Sets the xml property of this Schema instance.

### Methods inherited from interface org.eclipse.microprofile.openapi.models.Extensible

`addExtension, extensions, getExtension, getExtensions, hasExtension, removeExtension, setExtensions`

### Methods inherited from interface org.eclipse.microprofile.openapi.models.Reference

`getRef, ref, setRef`

## 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

default 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

default 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

default 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:
  a copy List (potentially immutable) 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

default 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

### removeEnumeration

void removeEnumeration(Object enumeration)
Removes an item of the appropriate type to the enumerated list of values allowed.

Parameters:
  `enumeration` - an object to add to the enumerated values

### 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

default 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 value that a numeric object must be less than or equal to

### setMaximum

void setMaximum(BigDecimal maximum)
Sets the maximum property of this Schema instance to the value given.

Parameters:
  `maximum` - the value that a numeric object must be less than or equal to

### maximum

default Schema maximum(BigDecimal maximum)
Sets the maximum property of this Schema instance to the value given.

Parameters:
  `maximum` - the value that a numeric object must be less than or equal to
Returns:
  the current Schema instance

### getExclusiveMaximum

BigDecimal getExclusiveMaximum()
Returns the exclusiveMaximum property from this Schema instance.

Returns:
  the value that a numeric object must be less than
Since:
  4.0

### setExclusiveMaximum

void setExclusiveMaximum(BigDecimal exclusiveMaximum)
Sets the exclusiveMaximum property of this Schema instance to the value given.

Parameters:
  `exclusiveMaximum` - the value that a numeric object must be less than
Since:
  4.0

### exclusiveMaximum

default Schema exclusiveMaximum(BigDecimal exclusiveMaximum)
Sets the exclusiveMaximum property of this Schema instance to the value given.

Parameters:
  `exclusiveMaximum` - the value that a numeric object must be less than
Returns:
  the current Schema instance
Since:
  4.0

### getMinimum

BigDecimal getMinimum()
Returns the minimum property from this Schema instance.

Returns:
  the value that a numeric object must be greater than or equal to

### setMinimum

void setMinimum(BigDecimal minimum)
Sets the minimum property of this Schema instance to the value given.

Parameters:
  `minimum` - the value that a numeric object must be greater than or equal to

### minimum

default Schema minimum(BigDecimal minimum)
Sets the minimum property of this Schema instance to the value given.

Parameters:
  `minimum` - the value that a numeric object must be greater than or equal to
Returns:
  the current Schema instance

### getExclusiveMinimum

BigDecimal getExclusiveMinimum()
Returns the exclusiveMinimum property from this Schema instance.

Returns:
  the value that a numeric object must be greater than
Since:
  4.0

### setExclusiveMinimum

void setExclusiveMinimum(BigDecimal exclusiveMinimum)
Sets the exclusiveMinimum property of this Schema instance to the value given.

Parameters:
  `exclusiveMinimum` - the value that a numeric object must be greater than
Since:
  4.0

### exclusiveMinimum

default Schema exclusiveMinimum(BigDecimal exclusiveMinimum)
Sets the exclusiveMinimum property of this Schema instance to the value given.

Parameters:
  `exclusiveMinimum` - the value that a numeric object must be greater than
Returns:
  the current Schema instance
Since:
  4.0

### 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

default 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

default 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

default 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

default 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

default 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

default 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

default 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

default 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:
  a copy List (potentially immutable) 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

default 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

### removeRequired

void removeRequired(String required)
Removes 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

### getType

List<Schema.SchemaType> getType()
Returns the type property of this Schema instance. Defines the types which are valid.

Returns:
  a copy List (potentially immutable) of the allowed types

### setType

void setType(List<Schema.SchemaType> types)
Sets the type property of this Schema instance. Defines the types which are valid.

Parameters:
  `types` - a list of the allowed types

### type

default Schema type(List<Schema.SchemaType> types)
Sets the type property of this Schema instance. Defines the types which are valid.

Parameters:
  `types` - a list of the allowed types
Returns:
  current Schema instance
Since:
  "4.0"

### addType

Schema addType(Schema.SchemaType type)
Adds a type to the type list.

Parameters:
  `type` - the type to add to the type list
Returns:
  current Schema instance
Since:
  "4.0"

### removeType

void removeType(Schema.SchemaType type)
Removes a type from the type list.

Parameters:
  `type` - the type to remove from the type list
Since:
  "4.0"

### 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

default 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 copy Map (potentially immutable) 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

default 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. null values will be rejected (implementation will throw an exception) or ignored.
Returns:
  the current Schema instance

### removeProperty

void removeProperty(String key)
Removes a Schema property of the provided name using the given schema.

Parameters:
  `key` - the name of a new Schema property

### getAdditionalPropertiesSchema

Schema getAdditionalPropertiesSchema()
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`, they can not be set both at the same time.

This method returns a `Schema`, for the `Boolean` getter use `getAdditionalPropertiesBoolean()`

- If "additionalProperties" is a Schema, then additional properties are allowed but should conform to the Schema.

Returns:
  this Schema's additionalProperties property (as `Schema`)

### getAdditionalPropertiesBoolean

@Deprecated(since="4.0") Boolean getAdditionalPropertiesBoolean()
Deprecated.
use `getAdditionalPropertiesSchema()` which may return a boolean-valued schema
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`, they can not be set both at the same time.

This method returns a `Boolean`, for the `Schema` getter use `getAdditionalPropertiesSchema()`

- 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.

Returns:
  this Schema's additionalProperties property (as `Boolean`)

### setAdditionalPropertiesSchema

void setAdditionalPropertiesSchema(Schema additionalProperties)
Sets the Schema which defines additional properties not defined by "properties" or "patternProperties". See the javadoc for `getAdditionalPropertiesSchema()` for more details on this setting. Note that this version of the setter is mutually exclusive with the `Boolean` variants (see `setAdditionalPropertiesBoolean(Boolean)`).

Parameters:
  `additionalProperties` - a Schema which defines additional properties

### setAdditionalPropertiesBoolean

@Deprecated(since="4.0") void setAdditionalPropertiesBoolean(Boolean additionalProperties)
Deprecated.
use `setAdditionalPropertiesSchema(Schema)` with a boolean-valued schema
Sets the value of "additionalProperties" to either True or False. See the javadoc for `getAdditionalPropertiesBoolean()` for more details on this setting. Note that this version of the setter is mutually exclusive with the `Schema` variants (see `setAdditionalPropertiesSchema(Schema)`).

Parameters:
  `additionalProperties` - a Schema which defines additional properties

### additionalPropertiesSchema

default Schema additionalPropertiesSchema(Schema additionalProperties)
Sets the Schema which defines additional properties not defined by "properties" or "patternProperties". See the javadoc for `getAdditionalPropertiesSchema()` for more details on this setting. Note that this version of the setter is mutually exclusive with the `Boolean` variants (see `additionalPropertiesBoolean(Boolean)`).

Parameters:
  `additionalProperties` - a Schema which defines additional properties
Returns:
  the current Schema instance

### additionalPropertiesBoolean

@Deprecated(since="4.0") default Schema additionalPropertiesBoolean(Boolean additionalProperties)
Deprecated.
use `additionalPropertiesSchema(Schema)` with a boolean-valued schema
Sets the value of "additionalProperties" to either True or False. See the javadoc for `getAdditionalPropertiesBoolean()` for more details on this setting. Note that this version of the setter is mutually exclusive with the `Schema` variants (see `additionalPropertiesSchema(Schema)`).

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

default 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

default 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

### 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.

Parameters:
  `readOnly` - `true` indicates the Schema should not be sent as part of a request message

### readOnly

default Schema readOnly(Boolean readOnly)
Sets the readOnly property of this Schema.

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.

Parameters:
  `writeOnly` - `true` indicates the Schema should not be sent as part of a response message

### writeOnly

default Schema writeOnly(Boolean writeOnly)
Sets the writeOnly property of this Schema.

Parameters:
  `writeOnly` - `true` indicates the Schema should not be sent as part of a response message
Returns:
  the current Schema instance

### getExample

@Deprecated(since="4.0") Object getExample()
Deprecated.
use `getExamples()`
Returns the example property from this Schema instance.

Returns:
  an object which is an example of an instance of this Schema

### setExample

@Deprecated(since="4.0") void setExample(Object example)
Deprecated.
use `setExamples(List)`
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

@Deprecated(since="4.0") default Schema example(Object example)
Deprecated.
use `examples(List)`
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

default 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

default 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

default 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

default 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:
  a copy List (potentially immutable) 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

default 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

### removeAllOf

void removeAllOf(Schema allOf)
Removes the given Schema to the list of schemas used by the allOf property.

Parameters:
  `allOf` - a Schema to use with the allOf property

### getAnyOf

List<Schema> getAnyOf()
Returns the schemas used by the anyOf property.

Returns:
  a copy List (potentially immutable) 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

default 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

### removeAnyOf

void removeAnyOf(Schema anyOf)
Removes the given Schema to the list of schemas used by the anyOf property.

Parameters:
  `anyOf` - a Schema to use with the anyOf property

### getOneOf

List<Schema> getOneOf()
Returns the schemas used by the oneOf property.

Returns:
  a copy List (potentially immutable) 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

default 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

### removeOneOf

void removeOneOf(Schema oneOf)
Removes the given Schema to the list of schemas used by the oneOf property.

Parameters:
  `oneOf` - a Schema to use with the oneOf property

### getSchemaDialect

String getSchemaDialect()
Returns the schema dialect in use. This is the value of the `$schema` property.

Returns:
  the schema dialect name, or `null` for the default
Since:
  4.0

### setSchemaDialect

void setSchemaDialect(String schemaDialect)
Sets the schema dialect in use. This is the value of the `$schema` property.

Parameters:
  `schemaDialect` - the schema dialect name, or `null` for the default
Since:
  4.0

### schemaDialect

default Schema schemaDialect(String schemaDialect)
Sets the schema dialect in use. This is the value of the `$schema` property.

Parameters:
  `schemaDialect` - the schema dialect name, or `null` for the default
Returns:
  the current Schema instance
Since:
  4.0

### getComment

String getComment()
Returns the comment to be included in the `$comment` property of the schema.

Returns:
  the comment, or `null` if no comment is set
Since:
  4.0

### setComment

void setComment(String comment)
Sets the comment to be included in the `$comment` property of the schema.

Parameters:
  `comment` - the comment, or `null` to remove any comment
Since:
  4.0

### comment

default Schema comment(String comment)
Sets the comment to be included in the `$comment` property of the schema.

Parameters:
  `comment` - the comment, or `null` to remove any comment
Returns:
  the current Schema instance
Since:
  4.0

### getIfSchema

Schema getIfSchema()
Returns the "if" schema. If an object is valid against the "if" schema, then it must also be valid against the "then" schema, otherwise it must be valid against the "else" schema.

Returns:
  the if schema
Since:
  4.0

### setIfSchema

void setIfSchema(Schema ifSchema)
Sets the "if" schema. If an object is valid against the "if" schema, then it must also be valid against the "then" schema, otherwise it must be valid against the "else" schema.

Parameters:
  `ifSchema` - the if schema
Since:
  4.0

### ifSchema

default Schema ifSchema(Schema ifSchema)
Sets the "if" schema. If an object is valid against the "if" schema, then it must also be valid against the "then" schema, otherwise it must be valid against the "else" schema.

Parameters:
  `ifSchema` - the if schema
Returns:
  the current Schema instance
Since:
  4.0

### getThenSchema

Schema getThenSchema()
Returns the "then" schema. If an object is valid against the "if" schema, then it must also be valid against the "then" schema.

Returns:
  the then schema
Since:
  4.0

### setThenSchema

void setThenSchema(Schema thenSchema)
Sets the "then" schema. If an object is valid against the "if" schema, then it must also be valid against the "then" schema.

Parameters:
  `thenSchema` - the then schema
Since:
  4.0

### thenSchema

default Schema thenSchema(Schema thenSchema)
Sets the "then" schema. If an object is valid against the "if" schema, then it must also be valid against the "then" schema.

Parameters:
  `thenSchema` - the then schema
Returns:
  the current Schema instance
Since:
  4.0

### getElseSchema

Schema getElseSchema()
Returns the "else" schema. If an object is not valid against the "if" schema, then it must be valid against the "else" schema.

Returns:
  the else schema
Since:
  4.0

### setElseSchema

void setElseSchema(Schema elseSchema)
Sets the "else" schema. If an object is not valid against the "if" schema, then it must be valid against the "else" schema.

Parameters:
  `elseSchema` - the else schema
Since:
  4.0

### elseSchema

default Schema elseSchema(Schema elseSchema)
Sets the "else" schema. If an object is not valid against the "if" schema, then it must be valid against the "else" schema.

Parameters:
  `elseSchema` - the else schema
Returns:
  the current Schema instance
Since:
  4.0

### getDependentSchemas

Map<String,Schema> getDependentSchemas()
Returns the dependentSchemas property of this Schema instance.

For each name and property pair in the map, if the object contains a property with the given name, it must match the corresponding schema.

Returns:
  a copy Map (potentially immutable) of properties and their dependent schemas
Since:
  4.0

### setDependentSchemas

void setDependentSchemas(Map<String,Schema> dependentSchemas)
Sets the dependentSchemas property of this Schema instance.

For each name and property pair in the map, if the object contains a property with the given name, it must match the corresponding schema.

Parameters:
  `dependentSchemas` - a map of properties and their dependent schemas
Since:
  4.0

### dependentSchemas

default Schema dependentSchemas(Map<String,Schema> dependentSchemas)
Sets the dependentSchemas property of this Schema instance.

For each name and property pair in the map, if the object contains a property with the given name, it must match the corresponding schema.

Parameters:
  `dependentSchemas` - a map of properties and their dependent schemas
Returns:
  the current Schema instance
Since:
  4.0

### addDependentSchema

Schema addDependentSchema(String propertyName, Schema schema)
Sets the dependent schema for a property name.

If the object contains a property with the given name, it must match the dependent schema.

Parameters:
  `propertyName` - the property name
  `schema` - the dependent schema
Returns:
  the current Schema instance
Since:
  4.0

### removeDependentSchema

void removeDependentSchema(String propertyName)
Removes the dependent schema for a property name.

Parameters:
  `propertyName` - the property name
Since:
  4.0

### getPrefixItems

List<Schema> getPrefixItems()
Returns the prefixItems property of this Schema instance.

If the object is an array, the nth item in the array must match the nth schema in this list.

Returns:
  a copy List (potentially immutable) of prefix item schemas
Since:
  4.0

### setPrefixItems

void setPrefixItems(List<Schema> prefixItems)
Sets the prefixItems property of this Schema instance.

If the object is an array, the nth item in the array must match the nth schema in this list.

Parameters:
  `prefixItems` - a list of prefix item schemas
Since:
  4.0

### prefixItems

default Schema prefixItems(List<Schema> prefixItems)
Sets the prefixItems property of this Schema instance.

If the object is an array, the nth item in the array must match the nth schema in this list.

Parameters:
  `prefixItems` - a list of prefix item schemas
Returns:
  current Schema instance
Since:
  4.0

### addPrefixItem

Schema addPrefixItem(Schema prefixItem)
Adds a schema to the end of the prefixItems list.

Parameters:
  `prefixItem` - the schema to add to the prefixItems list
Returns:
  current Schema instance
Since:
  4.0

### removePrefixItem

void removePrefixItem(Schema prefixItem)
Removes a schema from the prefixItems list.

Parameters:
  `prefixItem` - the schema to remove from the prefixItems list
Since:
  4.0

### getContains

Schema getContains()
Returns the contains property of this Schema instance.

If the object is an array, at least one item in the array must match the returned schema.

Returns:
  a schema that one item in the array should match
Since:
  4.0

### setContains

void setContains(Schema contains)
Sets the contains property of this Schema instance.

If the object is an array, at least one item in the array must match the returned schema.

Parameters:
  `contains` - a schema that one item in the array should match
Since:
  4.0

### contains

default Schema contains(Schema contains)
Sets the contains property of this Schema instance.

If the object is an array, at least one item in the array must match the returned schema.

Parameters:
  `contains` - a schema that one item in the array should match
Returns:
  the current Schema instance
Since:
  4.0

### getPatternProperties

Map<String,Schema> getPatternProperties()
Returns the patternProperties property from this Schema instance.

The value of patternProperties is a map from a regular expression to a schema. For each string and schema pair in the map, if a property name is matched by the regular expression then the value of that property must validate against the schema.

Returns:
  a copy Map (potentially immutable) of regular expression and schema pairs
Since:
  4.0

### setPatternProperties

void setPatternProperties(Map<String,Schema> patternProperties)
Sets the patternProperties property from this Schema instance.

The value of patternProperties is a map from a regular expression to a schema. For each string and schema pair in the map, if a property name is matched by the regular expression then the value of that property must validate against the schema.

Parameters:
  `patternProperties` - a map of regular expression and schema pairs
Since:
  4.0

### patternProperties

default Schema patternProperties(Map<String,Schema> patternProperties)
Sets the patternProperties property from this Schema instance.

The value of patternProperties is a map from a regular expression to a schema. For each string and schema pair in the map, if a property name is matched by the regular expression then the value of that property must validate against the schema.

Parameters:
  `patternProperties` - a map of regular expression and schema pairs
Returns:
  the current Schema instance
Since:
  4.0

### addPatternProperty

Schema addPatternProperty(String regularExpression, Schema schema)
Adds a regular expression and schema pair to the list of pattern properties.

The value of patternProperties is a map from a regular expression to a schema. For each string and schema pair in the map, if a property name is matched by the regular expression then the value of that property must validate against the schema.

Parameters:
  `regularExpression` - the regular expression to add
  `schema` - the schema that a property value must validate against if its name matches `regularExpression`
Returns:
  the current Schema instance
Since:
  4.0

### removePatternProperty

void removePatternProperty(String regularExpression)
Removes a regular expression and its corresponding schema pair from the list of pattern properties.

Parameters:
  `regularExpression` - the regular expression to remove
Since:
  4.0

### getPropertyNames

Schema getPropertyNames()
Returns the propertyNames property from this Schema instance. Each property name in the object must validate against this schema.

Returns:
  the schema which each property name must validate against
Since:
  4.0

### setPropertyNames

void setPropertyNames(Schema propertyNameSchema)
Sets the propertyNames property from this Schema instance. Each property name in the object must validate against this schema.

Parameters:
  `propertyNameSchema` - the schema which each property name must validate against
Since:
  4.0

### propertyNames

default Schema propertyNames(Schema propertyNameSchema)
Sets the propertyNames property from this Schema instance. Each property name in the object must validate against this schema.

Parameters:
  `propertyNameSchema` - the schema which each property name must validate against
Returns:
  the current Schema instance
Since:
  4.0

### getUnevaluatedItems

Schema getUnevaluatedItems()
Returns the unevaluatedItems property of this Schema instance.

Items which have not successfully validated against `prefixItems`, `items`, or `contains` must validate against this schema.

Returns:
  a schema that unevaluated array items must validate against
Since:
  4.0

### setUnevaluatedItems

void setUnevaluatedItems(Schema unevaluatedItems)
Sets the unevaluatedItems property of this Schema instance.

Items which have not successfully validated against `prefixItems`, `items`, or `contains` must validate against this schema.

Parameters:
  `unevaluatedItems` - a schema that unevaluated array items must validate against
Since:
  4.0

### unevaluatedItems

default Schema unevaluatedItems(Schema unevaluatedItems)
Sets the unevaluatedItems property of this Schema instance.

Items which have not successfully validated against `prefixItems`, `items`, or `contains` must validate against this schema.

Parameters:
  `unevaluatedItems` - a schema that unevaluated array items must validate against
Returns:
  the current Schema instance
Since:
  4.0

### getUnevaluatedProperties

Schema getUnevaluatedProperties()
Returns the unevaluatedProperties property of this Schema instance.

Property values which have not successfully validated against `properties`, `patternProperties`, or `additionalProperties` must validate against this schema.

Returns:
  a schema that unevaluated object properties must validate against
Since:
  4.0

### setUnevaluatedProperties

void setUnevaluatedProperties(Schema unevaluatedProperties)
Sets the unevaluatedProperties property of this Schema instance.

Property values which have not successfully validated against `properties`, `patternProperties`, or `additionalProperties` must validate against this schema.

Parameters:
  `unevaluatedProperties` - a schema that unevaluated object properties must validate against
Since:
  4.0

### unevaluatedProperties

default Schema unevaluatedProperties(Schema unevaluatedProperties)
Sets the unevaluatedProperties property of this Schema instance.

Property values which have not successfully validated against `properties`, `patternProperties`, or `additionalProperties` must validate against this schema.

Parameters:
  `unevaluatedProperties` - a schema that unevaluated object properties must validate against
Returns:
  the current Schema instance
Since:
  4.0

### getConstValue

Object getConstValue()
Returns the const property from this Schema instance. Indicates that the object must have a specific value.

Returns:
  the value that the object must have
Since:
  4.0

### setConstValue

void setConstValue(Object constValue)
Sets the const property from this Schema instance. Indicates that the object must have a specific value.

Parameters:
  `constValue` - the value that the object must have
Since:
  4.0

### constValue

default Schema constValue(Object constValue)
Sets the const property from this Schema instance. Indicates that the object must have a specific value.

Parameters:
  `constValue` - the value that the object must have
Returns:
  the current Schema instance
Since:
  4.0

### getMaxContains

Integer getMaxContains()
Returns the maxContains property from this Schema instance. Specifies that `contains` must match no more than this many items in the array.

Returns:
  the max number of items which may be matched by `contains`
Since:
  4.0

### setMaxContains

void setMaxContains(Integer maxContains)
Sets the maxContains property from this Schema instance. Specifies that `contains` must match no more than this many items in the array.

Parameters:
  `maxContains` - the max number of items which may be matched by `contains`
Since:
  4.0

### maxContains

default Schema maxContains(Integer maxContains)
Sets the maxContains property from this Schema instance. Specifies that `contains` must match no more than this many items in the array.

Parameters:
  `maxContains` - the maximum number of items which may be matched by `contains`
Returns:
  the current Schema instance
Since:
  4.0

### getMinContains

Integer getMinContains()
Returns the minContains property from this Schema instance. Specifies that `contains` must match at least this many items in the array.

Returns:
  the minimum number of items which may be matched by `contains`
Since:
  4.0

### setMinContains

void setMinContains(Integer minContains)
Sets the minContains property from this Schema instance. Specifies that `contains` must match at least this many items in the array.

Parameters:
  `minContains` - the minimum number of items which may be matched by `contains`
Since:
  4.0

### minContains

default Schema minContains(Integer minContains)
Sets the minContains property from this Schema instance. Specifies that `contains` must match at least this many items in the array.

Parameters:
  `minContains` - the minimum number of items which may be matched by `contains`
Returns:
  the current Schema instance
Since:
  4.0

### getDependentRequired

Map<String,List<String>> getDependentRequired()
Returns the dependentRequired property of this Schema instance.

For each entry in the map, if the key exists as a property name in the object, then the list of names in the value must also exist as property names in the object.

Returns:
  a copy Map (potentially immutable) of property names to lists of additional required property names
Since:
  4.0

### setDependentRequired

void setDependentRequired(Map<String,List<String>> dependentRequired)
Sets the dependentRequired property of this Schema instance.

For each entry in the map, if the key exists as a property name in the object, then the list of names in the value must also exist as property names in the object.

Parameters:
  `dependentRequired` - a map of property names to lists of additional required property names
Since:
  4.0

### dependentRequired

default Schema dependentRequired(Map<String,List<String>> dependentRequired)
Sets the dependentRequired property of this Schema instance.

For each entry in the map, if the key exists as a property name in the object, then the list of names in the value must also exist as property names in the object.

Parameters:
  `dependentRequired` - a map of property names to lists of additional required property names
Returns:
  the current Schema instance
Since:
  4.0

### addDependentRequired

Schema addDependentRequired(String propertyName, List<String> additionalRequiredPropertyNames)
Sets the list of additional property names that are required if a property named `propertyName` exists.

Parameters:
  `propertyName` - the property name
  `additionalRequiredPropertyNames` - the names of additional properties which are required if `propertyName` exists to add
Returns:
  the current Schema instance
Since:
  4.0

### removeDependentRequired

void removeDependentRequired(String propertyName)
Removes the list of additional property names that are required if a property named `propertyName` exists.

Parameters:
  `propertyName` - the property name
Since:
  4.0

### getContentEncoding

String getContentEncoding()
Returns the contentEncoding property from this Schema instance.

Specifies the encoding used to represent binary data as a string (e.g. base64).

Returns:
  the encoding type
Since:
  4.0

### setContentEncoding

void setContentEncoding(String contentEncoding)
Sets the contentEncoding property from this Schema instance.

Specifies the encoding used to represent binary data as a string (e.g. base64).

Parameters:
  `contentEncoding` - the encoding type
Since:
  4.0

### contentEncoding

default Schema contentEncoding(String contentEncoding)
Sets the contentEncoding property from this Schema instance.

Specifies the encoding used to represent binary data as a string (e.g. base64).

Parameters:
  `contentEncoding` - the encoding type
Returns:
  the current Schema instance
Since:
  4.0

### getContentMediaType

String getContentMediaType()
Returns the contentMediaType property from this Schema instance.

Specifies the media type of the content of a string.

Returns:
  the media type
Since:
  4.0

### setContentMediaType

void setContentMediaType(String contentMediaType)
Sets the contentMediaType property from this Schema instance.

Specifies the media type of the content of a string.

Parameters:
  `contentMediaType` - the media type
Since:
  4.0

### contentMediaType

default Schema contentMediaType(String contentMediaType)
Sets the contentMediaType property from this Schema instance.

Specifies the media type of the content of a string.

Parameters:
  `contentMediaType` - the media type
Returns:
  the current Schema instance
Since:
  4.0

### getContentSchema

Schema getContentSchema()
Returns the contentSchema property from this Schema instance.

If `contentMediaType` is a media type that maps into JSON Schema's data model, this property specifies a schema that the data in the string must conform to.

Returns:
  the schema for the data within the string
Since:
  4.0

### setContentSchema

void setContentSchema(Schema contentSchema)
Sets the contentSchema property from this Schema instance.

If `contentMediaType` is a media type that maps into JSON Schema's data model, this property specifies a schema that the data in the string must conform to.

Parameters:
  `contentSchema` - the schema for the data within the string
Since:
  4.0

### contentSchema

default Schema contentSchema(Schema contentSchema)
Sets the contentSchema property from this Schema instance.

If `contentMediaType` is a media type that maps into JSON Schema's data model, this property specifies a schema that the data in the string must conform to.

Parameters:
  `contentSchema` - the schema for the data within the string
Returns:
  the current Schema instance
Since:
  4.0

### getBooleanSchema

Boolean getBooleanSchema()
Returns whether this Schema is a boolean schema.

If this property is not `null`, then all other properties are ignored and the schema will be represented by a boolean `true` or `false` value.

Returns:
  the boolean value of this schema, or `null` if it is not a boolean schema
Since:
  4.0

### setBooleanSchema

void setBooleanSchema(Boolean booleanSchema)
Sets this schema to a boolean value.

If this property is not `null`, then all other properties are ignored and the schema will be represented by a boolean `true` or `false` value.

Parameters:
  `booleanSchema` - the boolean value of this schema, or `null` if it is not a boolean schema
Since:
  4.0

### booleanSchema

default Schema booleanSchema(Boolean booleanSchema)
Sets this schema to a boolean value.

If this property is not `null`, then all other properties are ignored and the schema will be represented by a boolean `true` or `false` value.

Parameters:
  `booleanSchema` - the boolean value of this schema, or `null` if it is not a boolean schema
Returns:
  the current Schema instance
Since:
  4.0

### getExamples

List<Object> getExamples()
Returns the examples property of this Schema instance.

Returns:
  a copy List (potentially immutable) of example objects which this schema could describe
Since:
  4.0

### setExamples

void setExamples(List<Object> examples)
Sets the examples property of this Schema instance.

Parameters:
  `examples` - a list of example objects which this schema could describe
Since:
  4.0

### examples

default Schema examples(List<Object> examples)
Sets the examples property of this Schema instance.

Parameters:
  `examples` - a list of example objects which this schema could describe
Returns:
  current Schema instance
Since:
  4.0

### addExample

Schema addExample(Object example)
Adds an example to the examples list.

Parameters:
  `example` - the example to add to the examples list
Returns:
  current Schema instance
Since:
  4.0

### removeExample

void removeExample(Object example)
Removes an example from the examples list.

Parameters:
  `example` - the example to remove from the examples list
Since:
  4.0

### get

Object get(String propertyName)
Gets a schema property by name.

Allows access to arbitrary properties in a schema object, allowing use of alternative schema dialects which use different property names (or the same property names with different data types).

When using the standard schema dialect, this method can be used to retrieve values set by other methods. E.g.

     schema.setMinimum(new BigDecimal(3));
     BigDecimal minimum = (BigDecimal) schema.get("minimum"); // returns 3

Parameters:
  `propertyName` - the property name
Returns:
  the value of the named property, or `null` if a property with the given name is not set
Since:
  4.0

### set

Schema set(String propertyName, Object value)
Sets a schema property.

Allows the modifications of arbitrary schema properties in a schema properties, allowing use of alternative schema dialects which use different property names (or the same property names with different data types).

Passing `null` as the `value` removes the property from the schema object.

`value` must be one of the following types, otherwise non-portable behavior results:

- Any primitive type
- Any primitive wrapper class
- `null`
- `String`
- `BigDecimal`
- `BigInteger`
- Any type which `OASFactory` can create
- Any Enumeration
- `List` where every value is a permitted type
- `Map` where every key is a `String` and every value is a permitted type

When using the standard schema dialect, values set by this method can be retrieved by other methods. E.g.

     schema.set("minimum", new BigDecimal(3));
     BigDecimal minimum = schema.getMinimum(); // returns 3

Parameters:
  `propertyName` - the property name
  `value` - the value to set, or `null` to remove the property
Returns:
  the current Schema instance
Since:
  4.0

### getAll

Map<String,?> getAll()
Gets all properties of a schema.

Equivalent to calling `get(String)` for each property set to a non-`null` value and putting them all into a `Map`.

Returns:
  a `Map` of property names to their corresponding values
Since:
  4.0

### setAll

void setAll(Map<String,?> allProperties)
Sets all properties of a schema.

Equivalent to clearing all properties and then setting each property with `set(String, Object)`.

Parameters:
  `allProperties` - the properties to set. Each value in the map must be valid according to the rules in `set(String, Object)`
Since:
  4.0