Class JsonSchema
- Direct Known Subclasses:
JsonSchemaProperty,JsonSchemaRef
This implementation follows the JSON Schema Draft 2020-12 specification.
Example:
Output:
{
Key Features:
- Draft 2020-12 Support: Includes all properties from the latest JSON Schema specification
- Backward Compatibility: Deprecated Draft 04 properties (like
id anddefinitions ) are still supported - Fluent API: All setter methods return
this for method chaining - Type Safety: Uses enums and typed collections for validation
- Serialization: Can be serialized to any format supported by Juneau (JSON, XML, HTML, etc.)
Common Use Cases:
1. Simple Type Constraints:
2. Numeric Ranges:
3. Enumerations:
4. Arrays:
5. Conditional Schemas (Draft 07+):
6. Reusable Definitions:
Migration from Draft 04:
- Use
setIdUri(Object)instead ofsetId(Object)(deprecated) - Use
setDefs(Map)instead ofsetDefinitions(Map)(deprecated but still works) - Use
setExclusiveMaximum(Number)with a numeric value instead of a boolean flag - Use
setExclusiveMinimum(Number)with a numeric value instead of a boolean flag
See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classUsed during parsing to convert theadditionalItems property to the correct class type.static classUsed during parsing to convert theadditionalProperties property to the correct class type.static classUsed during parsing to convert theitems property to the correct class type.static classUsed during parsing to convert thetype property to the correct class type. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddAdditionalItems(JsonSchema... additionalItems) Bean property appender:additionalItems .addAllOf(JsonSchema... allOf) Bean property appender:allOf .addAnyOf(JsonSchema... anyOf) Bean property appender:anyOf .addDef(String name, JsonSchema def) Bean property appender:$defs .addDefinition(String name, JsonSchema definition) Bean property appender:definitions .addDependency(String name, JsonSchema dependency) Bean property appender:dependencies .addDependentRequired(String name, List<String> required) Bean property appender:dependentRequired .addDependentSchema(String name, JsonSchema schema) Bean property appender:dependentSchemas .Bean property appender:enum .addExamples(Object... examples) Bean property appender:examples .addItems(JsonSchema... items) Bean property appender:items .addOneOf(JsonSchema... oneOf) Bean property appender:oneOf .addPatternProperties(JsonSchemaProperty... properties) Bean property appender:patternProperties .addPrefixItems(JsonSchema... prefixItems) Bean property appender:prefixItems .addProperties(JsonSchema... properties) Bean property appender:properties .addRequired(String... required) Bean property appender:required .addRequired(List<String> required) Bean property appender:required .addRequired(JsonSchemaProperty... properties) Bean property appender:required .Bean property appender:type .Bean property getter:additionalItems .Bean property getter:additionalItems .Bean property getter:additionalItems .Bean property getter:additionalProperties .Bean property getter:additionalProperties .Bean property getter:additionalProperties .getAllOf()Bean property getter:allOf .getAnyOf()Bean property getter:anyOf .getConst()Bean property getter:const .Bean property getter:contentEncoding .Bean property getter:contentMediaType .Bean property getter:definitions .getDefs()Bean property getter:$defs .Bean property getter:dependencies .Bean property getter:dependentRequired .Bean property getter:dependentSchemas .Bean property getter:description .getElse()Bean property getter:else .getEnum()Bean property getter:enum .Bean property getter:examples .Bean property getter:exclusiveMaximum .Bean property getter:exclusiveMinimum .getId()Deprecated.getIdUri()Bean property getter:$id .getIf()Bean property getter:if .getItems()Bean property getter:items .Bean property getter:items .Bean property getter:items .Bean property getter:maximum .Bean property getter:maxItems .Bean property getter:maxLength .Bean property getter:maxProperties .Bean property getter:minimum .Bean property getter:minItems .Bean property getter:minLength .Bean property getter:minProperties .Bean property getter:multipleOf .getName()Bean property getter:name .getNot()Bean property getter:not .getOneOf()Bean property getter:oneOf .Bean property getter:pattern .Bean property getter:patternProperties .Bean property getter:prefixItems .Bean property getter:properties .getProperty(String name) Returns the property with the specified name.getProperty(String name, boolean resolve) Returns the property with the specified name.Bean property getter:readOnly .getRef()Bean property getter:$ref .Bean property getter:required .Bean property getter:$schema .getThen()Bean property getter:then .getTitle()Bean property getter:title .getType()Bean property getter:type .Bean property getter:type .Bean property getter:type .Bean property getter:unevaluatedItems .Bean property getter:unevaluatedProperties .Bean property getter:uniqueItems .Bean property getter:writeOnly .resolve()Resolve schema if reference.setAdditionalItems(Object additionalItems) Bean property setter:additionalItems .setAdditionalProperties(Object additionalProperties) Bean property setter:additionalProperties .setAllOf(List<JsonSchema> allOf) Bean property setter:allOf .setAnyOf(List<JsonSchema> anyOf) Bean property setter:anyOf .Bean property setter:const .setContentEncoding(String contentEncoding) Bean property setter:contentEncoding .setContentMediaType(String contentMediaType) Bean property setter:contentMediaType .setDefinitions(Map<String, JsonSchema> definitions) Bean property setter:definitions .setDefs(Map<String, JsonSchema> defs) Bean property setter:$defs .setDependencies(Map<String, JsonSchema> dependencies) Bean property setter:dependencies .setDependentRequired(Map<String, List<String>> dependentRequired) Bean property setter:dependentRequired .setDependentSchemas(Map<String, JsonSchema> dependentSchemas) Bean property setter:dependentSchemas .setDescription(String description) Bean property setter:description .setElse(JsonSchema else_) Bean property setter:else .Bean property setter:enum .setExamples(List<Object> examples) Bean property setter:examples .setExclusiveMaximum(Number exclusiveMaximum) Bean property setter:exclusiveMaximum .setExclusiveMinimum(Number exclusiveMinimum) Bean property setter:exclusiveMinimum .Deprecated.UsesetIdUri(Object)instead.Bean property setter:$id .setIf(JsonSchema if_) Bean property setter:if .Bean property setter:items .protected voidsetMaster(JsonSchema master) Sets the master schema for this schema and all child schema objects.setMaximum(Number maximum) Bean property setter:maximum .setMaxItems(Integer maxItems) Bean property setter:maxItems .setMaxLength(Integer maxLength) Bean property setter:maxLength .setMaxProperties(Integer maxProperties) Bean property setter:maxProperties .setMinimum(Number minimum) Bean property setter:minimum .setMinItems(Integer minItems) Bean property setter:minItems .setMinLength(Integer minLength) Bean property setter:minLength .setMinProperties(Integer minProperties) Bean property setter:minProperties .setMultipleOf(Number multipleOf) Bean property setter:multipleOf .Bean property setter:name .setNot(JsonSchema not) Bean property setter:not .setOneOf(List<JsonSchema> oneOf) Bean property setter:oneOf .setPattern(String pattern) Bean property setter:pattern .setPatternProperties(Map<String, JsonSchema> patternProperties) Bean property setter:patternProperties .setPrefixItems(JsonSchemaArray prefixItems) Bean property setter:prefixItems .setProperties(Map<String, JsonSchema> properties) Bean property setter:properties .setReadOnly(Boolean readOnly) Bean property setter:readOnly .Bean property setter:$ref .setRequired(List<String> required) Bean property setter:required .setSchemaMap(JsonSchemaMap schemaMap) Associates a schema map with this schema for resolving other schemas identified through$ref properties.setSchemaVersionUri(Object schemaVersion) Bean property setter:$schema .setThen(JsonSchema then_) Bean property setter:then .Bean property setter:title .Bean property setter:type .setUnevaluatedItems(JsonSchema unevaluatedItems) Bean property setter:unevaluatedItems .setUnevaluatedProperties(JsonSchema unevaluatedProperties) Bean property setter:unevaluatedProperties .setUniqueItems(Boolean uniqueItems) Bean property setter:uniqueItems .setWriteOnly(Boolean writeOnly) Bean property setter:writeOnly .toString()
-
Constructor Details
-
JsonSchema
public JsonSchema()Default constructor.
-
-
Method Details
-
addAdditionalItems
Bean property appender:additionalItems .- Parameters:
additionalItems- The list of items to append to theadditionalItems property on this bean.- Returns:
- This object.
-
addAllOf
Bean property appender:allOf .- Parameters:
allOf- The list of items to append to theallOf property on this bean.- Returns:
- This object.
-
addAnyOf
Bean property appender:anyOf .- Parameters:
anyOf- The list of items to append to theanyOf property on this bean.- Returns:
- This object.
-
addDef
Bean property appender:$defs .- Parameters:
name- The key in the defs map entry.def- The value in the defs map entry.- Returns:
- This object.
-
addDefinition
Bean property appender:definitions .- Parameters:
name- The key in the definitions map entry.definition- The value in the definitions map entry.- Returns:
- This object.
-
addDependency
Bean property appender:dependencies .- Parameters:
name- The key of the entry in the dependencies map.dependency- The value of the entry in the dependencies map.- Returns:
- This object.
-
addDependentRequired
Bean property appender:dependentRequired .- Parameters:
name- The key of the entry in the dependentRequired map.required- The value of the entry in the dependentRequired map.- Returns:
- This object.
-
addDependentSchema
Bean property appender:dependentSchemas .- Parameters:
name- The key of the entry in the dependentSchemas map.schema- The value of the entry in the dependentSchemas map.- Returns:
- This object.
-
addEnum
Bean property appender:enum .- Parameters:
enum_- The list of items to append to theenum property on this bean.- Returns:
- This object.
-
addExamples
Bean property appender:examples .- Parameters:
examples- The list of items to append to theexamples property on this bean.- Returns:
- This object.
-
addItems
Bean property appender:items .- Parameters:
items- The list of items to append to theitems property on this bean.- Returns:
- This object.
-
addOneOf
Bean property appender:oneOf .- Parameters:
oneOf- The list of items to append to theoneOf property on this bean.- Returns:
- This object.
-
addPatternProperties
Bean property appender:patternProperties .Properties must have their
name property set to the pattern string when using this method.- Parameters:
properties- The list of items to append to thepatternProperties property on this bean.- Returns:
- This object.
- Throws:
BeanRuntimeException- If property is found without a setname property.
-
addPrefixItems
Bean property appender:prefixItems .- Parameters:
prefixItems- The list of items to append to theprefixItems property on this bean.- Returns:
- This object.
-
addProperties
Bean property appender:properties .Properties must have their
name property set on them when using this method.- Parameters:
properties- The list of items to append to theproperties property on this bean.- Returns:
- This object.
- Throws:
BeanRuntimeException- If property is found without a setname property.
-
addRequired
Bean property appender:required .- Parameters:
properties- The list of items to append to therequired property on this bean.- Returns:
- This object.
-
addRequired
Bean property appender:required .- Parameters:
required- The list of items to append to therequired property on this bean.- Returns:
- This object.
-
addRequired
Bean property appender:required .- Parameters:
required- The list of items to append to therequired property on this bean.- Returns:
- This object.
-
addTypes
Bean property appender:type .- Parameters:
types- The list of items to append to thetype property on this bean.- Returns:
- This object.
-
getAdditionalItems
Bean property getter:additionalItems .- Returns:
- The value of the
additionalItems property on this bean, ornull if it is not set. Can be either aBooleanorJsonSchemaArraydepending on what value was used to set it.
-
getAdditionalItemsAsBoolean
Bean property getter:additionalItems .Convenience method for returning the
additionalItems property when it is aBooleanvalue.- Returns:
- The currently set value, or
null if the property is not set, or is set as aJsonSchemaArray.
-
getAdditionalItemsAsSchemaArray
Bean property getter:additionalItems .Convenience method for returning the
additionalItems property when it is aJsonSchemaArrayvalue.- Returns:
- The currently set value, or
null if the property is not set, or is set as aBoolean.
-
getAdditionalProperties
Bean property getter:additionalProperties .- Returns:
- The value of the
additionalProperties property on this bean, ornull if it is not set. Can be either aBooleanorJsonSchemaArraydepending on what value was used to set it.
-
getAdditionalPropertiesAsBoolean
Bean property getter:additionalProperties .Convenience method for returning the
additionalProperties property when it is aBooleanvalue.- Returns:
- The currently set value, or
null if the property is not set, or is set as aJsonSchema.
-
getAdditionalPropertiesAsSchema
Bean property getter:additionalProperties .Convenience method for returning the
additionalProperties property when it is aJsonSchemavalue.- Returns:
- The currently set value, or
null if the property is not set, or is set as aBoolean.
-
getAllOf
Bean property getter:allOf .- Returns:
- The value of the
allOf property on this bean, ornull if it is not set.
-
getAnyOf
Bean property getter:anyOf .- Returns:
- The value of the
anyOf property on this bean, ornull if it is not set.
-
getConst
Bean property getter:const .This property was added in Draft 06.
- Returns:
- The value of the
const property on this bean, ornull if it is not set.
-
getContentEncoding
Bean property getter:contentEncoding .This property was added in Draft 07.
- Returns:
- The value of the
contentEncoding property on this bean, ornull if it is not set.
-
getContentMediaType
Bean property getter:contentMediaType .This property was added in Draft 07.
- Returns:
- The value of the
contentMediaType property on this bean, ornull if it is not set.
-
getDefinitions
Bean property getter:definitions .Deprecated: Use
getDefs()for Draft 2020-12 compliance. This property is retained for Draft 04 backward compatibility.- Returns:
- The value of the
definitions property on this bean, ornull if it is not set.
-
getDefs
Bean property getter:$defs .This is the Draft 2020-12 replacement for
definitions . Both properties are supported for backward compatibility.- Returns:
- The value of the
$defs property on this bean, ornull if it is not set.
-
getDependencies
Bean property getter:dependencies .- Returns:
- The value of the
dependencies property on this bean, ornull if it is not set.
-
getDependentRequired
Bean property getter:dependentRequired .This property was added in Draft 2019-09 as a replacement for the array form of
dependencies .- Returns:
- The value of the
dependentRequired property on this bean, ornull if it is not set.
-
getDependentSchemas
Bean property getter:dependentSchemas .This property was added in Draft 2019-09 as a replacement for the schema form of
dependencies .- Returns:
- The value of the
dependentSchemas property on this bean, ornull if it is not set.
-
getDescription
Bean property getter:description .- Returns:
- The value of the
description property, ornull if it is not set.
-
getElse
Bean property getter:else .This property was added in Draft 07 for conditional schema application.
- Returns:
- The value of the
else property on this bean, ornull if it is not set.
-
getEnum
Bean property getter:enum .- Returns:
- The value of the
enum property on this bean, ornull if it is not set.
-
getExamples
Bean property getter:examples .This property was added in Draft 06.
- Returns:
- The value of the
examples property on this bean, ornull if it is not set.
-
getExclusiveMaximum
Bean property getter:exclusiveMaximum .In Draft 06+, this is a numeric value representing the exclusive upper bound. In Draft 04, this was a boolean flag. This implementation uses the Draft 06+ semantics.
- Returns:
- The value of the
exclusiveMaximum property on this bean, ornull if it is not set.
-
getExclusiveMinimum
Bean property getter:exclusiveMinimum .In Draft 06+, this is a numeric value representing the exclusive lower bound. In Draft 04, this was a boolean flag. This implementation uses the Draft 06+ semantics.
- Returns:
- The value of the
exclusiveMinimum property on this bean, ornull if it is not set.
-
getId
Deprecated.UsegetIdUri()instead.Bean property getter:id .Deprecated: Use
getIdUri()instead. This property is retained for Draft 04 backward compatibility.- Returns:
- The value of the
id property on this bean, ornull if it is not set.
-
getIdUri
Bean property getter:$id .This is the Draft 2020-12 property for schema identification.
- Returns:
- The value of the
$id property on this bean, ornull if it is not set.
-
getIf
Bean property getter:if .This property was added in Draft 07 for conditional schema application.
- Returns:
- The value of the
if property on this bean, ornull if it is not set.
-
getItems
Bean property getter:items .- Returns:
- The value of the
items property on this bean, ornull if it is not set. Can be either aJsonSchemaorJsonSchemaArraydepending on what value was used to set it.
-
getItemsAsSchema
Bean property getter:items .Convenience method for returning the
items property when it is aJsonSchemavalue.- Returns:
- The currently set value, or
null if the property is not set, or is set as aJsonSchemaArray.
-
getItemsAsSchemaArray
Bean property getter:items .Convenience method for returning the
items property when it is aJsonSchemaArrayvalue.- Returns:
- The currently set value, or
null if the property is not set, or is set as aJsonSchema.
-
getMaximum
Bean property getter:maximum .- Returns:
- The value of the
maximum property on this bean, ornull if it is not set.
-
getMaxItems
Bean property getter:maxItems .- Returns:
- The value of the
maxItems property on this bean, ornull if it is not set.
-
getMaxLength
Bean property getter:maxLength .- Returns:
- The value of the
maxLength property on this bean, ornull if it is not set.
-
getMaxProperties
Bean property getter:maxProperties .- Returns:
- The value of the
maxProperties property on this bean, ornull if it is not set.
-
getMinimum
Bean property getter:minimum .- Returns:
- The value of the
minimum property on this bean, ornull if it is not set.
-
getMinItems
Bean property getter:minItems .- Returns:
- The value of the
minItems property on this bean, ornull if it is not set.
-
getMinLength
Bean property getter:minLength .- Returns:
- The value of the
minLength property on this bean, ornull if it is not set.
-
getMinProperties
Bean property getter:minProperties .- Returns:
- The value of the
minProperties property on this bean, ornull if it is not set.
-
getMultipleOf
Bean property getter:multipleOf .- Returns:
- The value of the
multipleOf property on this bean, ornull if it is not set.
-
getName
Bean property getter:name .This is an internal property used for tracking property names and is not part of the JSON Schema specification.
- Returns:
- The value of the
name property on this bean, ornull if it is not set.
-
getNot
Bean property getter:not .- Returns:
- The value of the
not property on this bean, ornull if it is not set.
-
getOneOf
Bean property getter:oneOf .- Returns:
- The value of the
oneOf property on this bean, ornull if it is not set.
-
getPattern
Bean property getter:pattern .- Returns:
- The value of the
pattern property on this bean, ornull if it is not set.
-
getPatternProperties
Bean property getter:patternProperties .- Returns:
- The value of the
patternProperties property on this bean, ornull if it is not set.
-
getPrefixItems
Bean property getter:prefixItems .This property was added in Draft 2020-12 for tuple validation.
- Returns:
- The value of the
prefixItems property on this bean, ornull if it is not set.
-
getProperties
Bean property getter:properties .- Returns:
- The value of the
properties property on this bean, ornull if it is not set.
-
getProperty
Returns the property with the specified name.This is equivalent to calling
getProperty(name, .false )- Parameters:
name- The property name.- Returns:
- The property with the specified name, or
null if no property is specified.
-
getProperty
Returns the property with the specified name.If
resolve istrue , the property object will automatically be resolved by callingresolve(). Therefore,getProperty(name, is equivalent to callingtrue )getProperty(name).resolve() , except it's safe from a potentialNullPointerException .- Parameters:
name- The property name.resolve- Iftrue , callsresolve()on object before returning.- Returns:
- The property with the specified name, or
null if no property is specified.
-
getReadOnly
Bean property getter:readOnly .This property was added in Draft 07.
- Returns:
- The value of the
readOnly property on this bean, ornull if it is not set.
-
getRef
Bean property getter:$ref .- Returns:
- The value of the
$ref property on this bean, ornull if it is not set.
-
getRequired
Bean property getter:required .- Returns:
- The value of the
required property on this bean, ornull if it is not set.
-
getSchemaVersionUri
Bean property getter:$schema .- Returns:
- The value of the
$schema property on this bean, ornull if it is not set.
-
getThen
Bean property getter:then .This property was added in Draft 07 for conditional schema application.
- Returns:
- The value of the
then property on this bean, ornull if it is not set.
-
getTitle
Bean property getter:title .- Returns:
- The value of the
title property, ornull if it is not set.
-
getType
Bean property getter:type .- Returns:
- The value of the
type property on this bean, ornull if it is not set. Can be either aJsonTypeorJsonTypeArraydepending on what value was used to set it.
-
getTypeAsJsonType
Bean property getter:type .Convenience method for returning the
type property when it is aJsonTypevalue.- Returns:
- The currently set value, or
null if the property is not set, or is set as aJsonTypeArray.
-
getTypeAsJsonTypeArray
Bean property getter:type .Convenience method for returning the
type property when it is aJsonTypeArrayvalue.- Returns:
- The currently set value, or
null if the property is not set, or is set as aJsonType.
-
getUnevaluatedItems
Bean property getter:unevaluatedItems .This property was added in Draft 2019-09.
- Returns:
- The value of the
unevaluatedItems property on this bean, ornull if it is not set.
-
getUnevaluatedProperties
Bean property getter:unevaluatedProperties .This property was added in Draft 2019-09.
- Returns:
- The value of the
unevaluatedProperties property on this bean, ornull if it is not set.
-
getUniqueItems
Bean property getter:uniqueItems .- Returns:
- The value of the
uniqueItems property on this bean, ornull if it is not set.
-
getWriteOnly
Bean property getter:writeOnly .This property was added in Draft 07.
- Returns:
- The value of the
writeOnly property on this bean, ornull if it is not set.
-
resolve
Resolve schema if reference.If this schema is a reference to another schema (has its
$ref property set), this method will retrieve the referenced schema from the schema map registered with this schema.If this schema is not a reference, or no schema map is registered with this schema, this method is a no-op and simply returns this object.
- Returns:
- The referenced schema, or
null .
-
setAdditionalItems
Bean property setter:additionalItems .- Parameters:
additionalItems- The new value for theadditionalItems property on this bean. This object must be of typeBooleanorJsonSchemaArray.- Returns:
- This object.
- Throws:
BeanRuntimeException- If invalid object type passed in.
-
setAdditionalProperties
@Beanp(dictionary=JsonSchema.class) public JsonSchema setAdditionalProperties(Object additionalProperties) Bean property setter:additionalProperties .- Parameters:
additionalProperties- The new value for theadditionalProperties property on this bean. This object must be of typeBooleanorJsonSchema.- Returns:
- This object.
- Throws:
BeanRuntimeException- If invalid object type passed in.
-
setAllOf
Bean property setter:allOf .- Parameters:
allOf- The new value for theallOf property on this bean.- Returns:
- This object.
-
setAnyOf
Bean property setter:anyOf .- Parameters:
anyOf- The new value of theanyOf property on this bean.- Returns:
- This object.
-
setConst
Bean property setter:const .This property was added in Draft 06.
- Parameters:
const_- The new value for theconst property on this bean.- Returns:
- This object.
-
setContentEncoding
Bean property setter:contentEncoding .This property was added in Draft 07.
- Parameters:
contentEncoding- The new value for thecontentEncoding property on this bean.- Returns:
- This object.
-
setContentMediaType
Bean property setter:contentMediaType .This property was added in Draft 07.
- Parameters:
contentMediaType- The new value for thecontentMediaType property on this bean.- Returns:
- This object.
-
setDefinitions
Bean property setter:definitions .- Parameters:
definitions- The new value for thedefinitions property on this bean.- Returns:
- This object.
-
setDefs
Bean property setter:$defs .This is the Draft 2020-12 replacement for
definitions . Both properties are supported for backward compatibility.- Parameters:
defs- The new value for the$defs property on this bean.- Returns:
- This object.
-
setDependencies
Bean property setter:dependencies .- Parameters:
dependencies- The new value for thedependencies property on this bean.- Returns:
- This object.
-
setDependentRequired
Bean property setter:dependentRequired .This property was added in Draft 2019-09 as a replacement for the array form of
dependencies .- Parameters:
dependentRequired- The new value for thedependentRequired property on this bean.- Returns:
- This object.
-
setDependentSchemas
Bean property setter:dependentSchemas .This property was added in Draft 2019-09 as a replacement for the schema form of
dependencies .- Parameters:
dependentSchemas- The new value for thedependentSchemas property on this bean.- Returns:
- This object.
-
setDescription
Bean property setter:description .- Parameters:
description- The new value for thedescription property on this bean.- Returns:
- This object.
-
setElse
Bean property setter:else .This property was added in Draft 07 for conditional schema application.
- Parameters:
else_- The new value for theelse property on this bean.- Returns:
- This object.
-
setEnum
Bean property setter:enum .- Parameters:
enum_- The new value for theenum property on this bean.- Returns:
- This object.
-
setExamples
Bean property setter:examples .This property was added in Draft 06.
- Parameters:
examples- The new value for theexamples property on this bean.- Returns:
- This object.
-
setExclusiveMaximum
Bean property setter:exclusiveMaximum .In Draft 06+, this is a numeric value representing the exclusive upper bound. In Draft 04, this was a boolean flag. This implementation uses the Draft 06+ semantics.
- Parameters:
exclusiveMaximum- The new value for theexclusiveMaximum property on this bean.- Returns:
- This object.
-
setExclusiveMinimum
Bean property setter:exclusiveMinimum .In Draft 06+, this is a numeric value representing the exclusive lower bound. In Draft 04, this was a boolean flag. This implementation uses the Draft 06+ semantics.
- Parameters:
exclusiveMinimum- The new value for theexclusiveMinimum property on this bean.- Returns:
- This object.
-
setId
Deprecated.UsesetIdUri(Object)instead.Bean property setter:id .Deprecated: Use
setIdUri(Object)instead. This property is retained for Draft 04 backward compatibility.The value can be of any of the following types:
URI,URL,String. Strings must be valid URIs.URIs defined by
UriResolvercan be used for values.- Parameters:
id- The new value for theid property on this bean.- Returns:
- This object.
-
setIdUri
Bean property setter:$id .This is the Draft 2020-12 property for schema identification.
The value can be of any of the following types:
URI,URL,String. Strings must be valid URIs.URIs defined by
UriResolvercan be used for values.- Parameters:
idUri- The new value for the$id property on this bean.- Returns:
- This object.
-
setIf
Bean property setter:if .This property was added in Draft 07 for conditional schema application.
- Parameters:
if_- The new value for theif property on this bean.- Returns:
- This object.
-
setItems
Bean property setter:items .- Parameters:
items- The new value for theitems property on this bean. This object must be of typeJsonSchemaorJsonSchemaArray.- Returns:
- This object.
- Throws:
BeanRuntimeException- If invalid object type passed in.
-
setMaximum
Bean property setter:maximum .- Parameters:
maximum- The new value for themaximum property on this bean.- Returns:
- This object.
-
setMaxItems
Bean property setter:maxItems .- Parameters:
maxItems- The new value for themaxItems property on this bean.- Returns:
- This object.
-
setMaxLength
Bean property setter:maxLength .- Parameters:
maxLength- The new value for themaxLength property on this bean.- Returns:
- This object.
-
setMaxProperties
Bean property setter:maxProperties .- Parameters:
maxProperties- The new value for themaxProperties property on this bean.- Returns:
- This object.
-
setMinimum
Bean property setter:minimum .- Parameters:
minimum- The new value for theminimum property on this bean.- Returns:
- This object.
-
setMinItems
Bean property setter:minItems .- Parameters:
minItems- The new value for theminItems property on this bean.- Returns:
- This object.
-
setMinLength
Bean property setter:minLength .- Parameters:
minLength- The new value for theminLength property on this bean.- Returns:
- This object.
-
setMinProperties
Bean property setter:minProperties .- Parameters:
minProperties- The new value for theminProperties property on this bean.- Returns:
- This object.
-
setMultipleOf
Bean property setter:multipleOf .- Parameters:
multipleOf- The new value for themultipleOf property on this bean.- Returns:
- This object.
-
setName
Bean property setter:name .This is an internal property used for tracking property names and is not part of the JSON Schema specification.
- Parameters:
name- The new value for thename property on this bean.- Returns:
- This object.
-
setNot
Bean property setter:not .- Parameters:
not- The new value for thenot property on this bean.- Returns:
- This object.
-
setOneOf
Bean property setter:oneOf .- Parameters:
oneOf- The new value for theoneOf property on this bean.- Returns:
- This object.
-
setPattern
Bean property setter:pattern .- Parameters:
pattern- The new value for thepattern property on this bean.- Returns:
- This object.
-
setPatternProperties
Bean property setter:patternProperties .- Parameters:
patternProperties- The new value for thepatternProperties property on this bean.- Returns:
- This object.
-
setPrefixItems
Bean property setter:prefixItems .This property was added in Draft 2020-12 for tuple validation.
- Parameters:
prefixItems- The new value for theprefixItems property on this bean.- Returns:
- This object.
-
setProperties
Bean property setter:properties .- Parameters:
properties- The new value for theproperties property on this bean.- Returns:
- This object.
-
setReadOnly
Bean property setter:readOnly .This property was added in Draft 07.
- Parameters:
readOnly- The new value for thereadOnly property on this bean.- Returns:
- This object.
-
setRef
Bean property setter:$ref .The value can be of any of the following types:
URI,URL,String. Strings must be valid URIs.URIs defined by
UriResolvercan be used for values.- Parameters:
ref- The new value for the$ref property on this bean.- Returns:
- This object.
-
setRequired
Bean property setter:required .- Parameters:
required- The new value for therequired property on this bean.- Returns:
- This object.
-
setSchemaMap
Associates a schema map with this schema for resolving other schemas identified through$ref properties.- Parameters:
schemaMap- The schema map to associate with this schema. Can benull .- Returns:
- This object.
-
setSchemaVersionUri
Bean property setter:$schema .The value can be of any of the following types:
URI,URL,String. Strings must be valid URIs.URIs defined by
UriResolvercan be used for values.- Parameters:
schemaVersion- The new value for theschemaVersion property on this bean.- Returns:
- This object.
-
setThen
Bean property setter:then .This property was added in Draft 07 for conditional schema application.
- Parameters:
then_- The new value for thethen property on this bean.- Returns:
- This object.
-
setTitle
Bean property setter:title .- Parameters:
title- The new value for thetitle property on this bean.- Returns:
- This object.
-
setType
Bean property setter:type .- Parameters:
type- The new value for thetype property on this bean. This object must be of typeJsonTypeorJsonTypeArray.- Returns:
- This object.
- Throws:
BeanRuntimeException- If invalid object type passed in.
-
setUnevaluatedItems
Bean property setter:unevaluatedItems .This property was added in Draft 2019-09.
- Parameters:
unevaluatedItems- The new value for theunevaluatedItems property on this bean.- Returns:
- This object.
-
setUnevaluatedProperties
Bean property setter:unevaluatedProperties .This property was added in Draft 2019-09.
- Parameters:
unevaluatedProperties- The new value for theunevaluatedProperties property on this bean.- Returns:
- This object.
-
setUniqueItems
Bean property setter:uniqueItems .- Parameters:
uniqueItems- The new value for theuniqueItems property on this bean.- Returns:
- This object.
-
setWriteOnly
Bean property setter:writeOnly .This property was added in Draft 07.
- Parameters:
writeOnly- The new value for thewriteOnly property on this bean.- Returns:
- This object.
-
toString
-
setMaster
Sets the master schema for this schema and all child schema objects.All child elements in a schema should point to a single "master" schema in order to locate registered JsonSchemaMap objects for resolving external schemas.
- Parameters:
master- The master schema to associate on this and all children. Can benull .
-
getIdUri()instead.