public class ObjectSchema extends Schema
| Modifier and Type | Class and Description |
|---|---|
static class |
ObjectSchema.Builder
Builder class for
ObjectSchema. |
schemaLocation| Constructor and Description |
|---|
ObjectSchema(ObjectSchema.Builder builder)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
static ObjectSchema.Builder |
builder() |
protected boolean |
canEqual(Object other)
Since we add state in subclasses, but want those subclasses to be non final, this allows us to
have equals methods that satisfy the equals contract.
|
boolean |
definesProperty(String field)
Determines if this
Schema instance defines any restrictions for the object property
denoted by field. |
boolean |
equals(Object o) |
Integer |
getMaxProperties() |
Integer |
getMinProperties() |
Map<Pattern,Schema> |
getPatternProperties()
Deprecated.
|
Map<String,Set<String>> |
getPropertyDependencies() |
Schema |
getPropertyNameSchema() |
Map<String,Schema> |
getPropertySchemas() |
List<String> |
getRequiredProperties() |
Map<String,Schema> |
getSchemaDependencies() |
Schema |
getSchemaOfAdditionalProperties() |
int |
hashCode() |
boolean |
permitsAdditionalProperties() |
boolean |
requiresObject() |
describeTo, failure, failure, getDefaultValue, getDescription, getId, getLocation, getSchemaLocation, getTitle, getUnprocessedProperties, hasDefaultValue, isNullable, isReadOnly, isWriteOnly, toString, validatepublic ObjectSchema(ObjectSchema.Builder builder)
builder - the builder object containing validation criteriapublic static ObjectSchema.Builder builder()
public Integer getMaxProperties()
public Integer getMinProperties()
@Deprecated public Map<Pattern,Schema> getPatternProperties()
public Schema getSchemaOfAdditionalProperties()
public Schema getPropertyNameSchema()
public boolean permitsAdditionalProperties()
public boolean requiresObject()
public boolean definesProperty(String field)
SchemaSchema instance defines any restrictions for the object property
denoted by field. The field should be a JSON pointer, denoting the property to
be queried.
For example the field "#/rectangle/a" is defined by the following schema:
objectWithSchemaRectangleDep" : {
"type" : "object",
"dependencies" : {
"d" : {
"type" : "object",
"properties" : {
"rectangle" : {
"$ref" : "#/definitions/Rectangle"
},
"list": {
"type": "array",
"items": {
"properties": {
"prop": {}
}
},
"minItems": 2,
"maxItems: 3
}
}
}
},
"definitions" : {
"size" : {
"type" : "number",
"minimum" : 0
},
"Rectangle" : {
"type" : "object",
"properties" : {
"a" : {"$ref" : "#/definitions/size"},
"b" : {"$ref" : "#/definitions/size"}
}
}
}
}
You can also check if a subschema of an array defines a property. In that case, to traverse the array, you can either use
an integer array index, or the "all" or "any" meta-indexes. For example, in the above schema
definesProperty("#/list/any/prop") returns truedefinesProperty("#/list/all/prop") returns truedefinesProperty("#/list/1/prop") returns truedefinesProperty("#/list/1/nonexistent") returns false (the property is not present in the
subschema)definesProperty("#/list/8/prop") returns false (the "list" does not define
property 8, since "maxItems" is 3)definesProperty in class Schemafield - should be a JSON pointer in its string representation.true if the propertty denoted by field is defined by this schema
instanceCopyright © 2023 Everit Kft.. All rights reserved.