Package org.everit.json.schema
Class ReferenceSchema
- java.lang.Object
-
- org.everit.json.schema.Schema
-
- org.everit.json.schema.ReferenceSchema
-
public class ReferenceSchema extends Schema
This class is used bySchemaLoader
to resolve JSON pointers during the construction of the schema. This class has been made mutable to permit the loading of recursive schemas.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ReferenceSchema.Builder
Builder class forReferenceSchema
.
-
Constructor Summary
Constructors Constructor Description ReferenceSchema(ReferenceSchema.Builder builder)
-
Method Summary
Modifier and Type Method Description static ReferenceSchema.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 thisSchema
instance defines any restrictions for the object property denoted byfield
.boolean
equals(Object o)
String
getDescription()
SchemaLocation
getLocation()
Schema
getReferredSchema()
String
getTitle()
Map<String,Object>
getUnprocessedProperties()
Returns the properties of the original schema JSON which aren't keywords of json schema (therefore they weren't recognized during schema loading).int
hashCode()
void
setReferredSchema(Schema referredSchema)
Called bySchemaLoader.load()
to set the referred root schema after completing the loading process of the entire schema document.-
Methods inherited from class org.everit.json.schema.Schema
describeTo, failure, failure, getDefaultValue, getId, getSchemaLocation, hasDefaultValue, isNullable, isReadOnly, isWriteOnly, toString, validate
-
-
-
-
Constructor Detail
-
ReferenceSchema
public ReferenceSchema(ReferenceSchema.Builder builder)
-
-
Method Detail
-
builder
public static ReferenceSchema.Builder builder()
-
definesProperty
public boolean definesProperty(String field)
Description copied from class:Schema
Determines if thisSchema
instance defines any restrictions for the object property denoted byfield
. Thefield
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" } } } }, "definitions" : { "size" : { "type" : "number", "minimum" : 0 }, "Rectangle" : { "type" : "object", "properties" : { "a" : {"$ref" : "#/definitions/size"}, "b" : {"$ref" : "#/definitions/size"} } } } }
- Overrides:
definesProperty
in classSchema
- Parameters:
field
- should be a JSON pointer in its string representation.- Returns:
true
if the propertty denoted byfield
is defined by this schema instance
-
getReferredSchema
public Schema getReferredSchema()
-
setReferredSchema
public void setReferredSchema(Schema referredSchema)
Called bySchemaLoader.load()
to set the referred root schema after completing the loading process of the entire schema document.- Parameters:
referredSchema
- the referred schema
-
canEqual
protected boolean canEqual(Object other)
Description copied from class:Schema
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.http://www.artima.com/lejava/articles/equality.html
-
getUnprocessedProperties
public Map<String,Object> getUnprocessedProperties()
Description copied from class:Schema
Returns the properties of the original schema JSON which aren't keywords of json schema (therefore they weren't recognized during schema loading).- Overrides:
getUnprocessedProperties
in classSchema
-
getDescription
public String getDescription()
- Overrides:
getDescription
in classSchema
-
getLocation
public SchemaLocation getLocation()
- Overrides:
getLocation
in classSchema
-
-