Skip to content

Commit 48a1966

Browse files
committed
formatting & javadoc in CombinedSchema, ObjectSchema, Schema
1 parent 8ac5ddb commit 48a1966

File tree

3 files changed

+66
-17
lines changed

3 files changed

+66
-17
lines changed

core/src/main/java/org/everit/json/schema/CombinedSchema.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,10 +180,10 @@ public void validate(final Object subject) {
180180
}
181181

182182
@Override
183-
public boolean definesProperty(String field) {
183+
public boolean definesProperty(final String field) {
184184
List<Schema> matching = subschemas.stream()
185-
.filter(schema -> schema.definesProperty(field))
186-
.collect(Collectors.toList());
185+
.filter(schema -> schema.definesProperty(field))
186+
.collect(Collectors.toList());
187187
try {
188188
criterion.validate(subschemas.size(), matching.size());
189189
} catch (ValidationException e) {

core/src/main/java/org/everit/json/schema/ObjectSchema.java

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@
1515
*/
1616
package org.everit.json.schema;
1717

18-
import com.google.common.base.Splitter;
19-
import com.google.common.collect.Lists;
20-
import org.json.JSONObject;
21-
2218
import java.util.ArrayList;
2319
import java.util.Arrays;
2420
import java.util.Collections;
@@ -34,6 +30,11 @@
3430
import java.util.stream.Collectors;
3531
import java.util.stream.Stream;
3632

33+
import org.json.JSONObject;
34+
35+
import com.google.common.base.Splitter;
36+
import com.google.common.collect.Lists;
37+
3738
/**
3839
* Object schema validator.
3940
*/
@@ -398,11 +399,11 @@ public void validate(final Object subject) {
398399
public boolean definesProperty(String field) {
399400
field = field.replaceFirst("^#", "").replaceFirst("^/", "");
400401
return !field.isEmpty() && (definesPatternProperty(field)
401-
|| definesSchemaDependencyProperty(field)
402-
|| definesSchemaProperty(field));
402+
|| definesSchemaDependencyProperty(field)
403+
|| definesSchemaProperty(field));
403404
}
404405

405-
private boolean definesSchemaProperty(String field) {
406+
private boolean definesSchemaProperty(final String field) {
406407
List<String> fields = Lists.newArrayList(Splitter.on("/").limit(2).split(field));
407408
String current = unescape(fields.get(0));
408409
boolean hasSuffix = fields.size() > 1;
@@ -417,18 +418,23 @@ private boolean definesSchemaProperty(String field) {
417418
return false;
418419
}
419420

420-
private boolean definesPatternProperty(String field) {
421-
return patternProperties.keySet().stream().filter(pattern -> pattern.matcher(field).matches())
422-
.findAny().isPresent();
421+
private boolean definesPatternProperty(final String field) {
422+
return patternProperties.keySet()
423+
.stream()
424+
.filter(pattern -> pattern.matcher(field).matches())
425+
.findAny()
426+
.isPresent();
423427
}
424428

425-
private boolean definesSchemaDependencyProperty(String field) {
429+
private boolean definesSchemaDependencyProperty(final String field) {
426430
return schemaDependencies.containsKey(field)
427-
|| schemaDependencies.values().stream().filter(schema -> schema.definesProperty(field))
428-
.findAny().isPresent();
431+
|| schemaDependencies.values().stream()
432+
.filter(schema -> schema.definesProperty(field))
433+
.findAny()
434+
.isPresent();
429435
}
430436

431-
private String unescape(String value) {
437+
private String unescape(final String value) {
432438
return value.replace("~1", "/").replace("~0", "~");
433439
}
434440

core/src/main/java/org/everit/json/schema/Schema.java

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,49 @@ protected Schema(final Builder<?> builder) {
8585
*/
8686
public abstract void validate(final Object subject);
8787

88+
/**
89+
* Determines if this {@code Schema} instance defines any restrictions for the object property
90+
* denoted by {@code field}. The {@code field} should be a JSON pointer, denoting the property to
91+
* be queried.
92+
*
93+
* For example the field {@code "#/rectangle/a"} is defined by the following schema:
94+
*
95+
* <pre>
96+
* <code>
97+
* objectWithSchemaRectangleDep" : {
98+
* "type" : "object",
99+
* "dependencies" : {
100+
* "d" : {
101+
* "type" : "object",
102+
* "properties" : {
103+
* "rectangle" : {"$ref" : "#/definitions/Rectangle" }
104+
* }
105+
* }
106+
* },
107+
* "definitions" : {
108+
* "size" : {
109+
* "type" : "number",
110+
* "minimum" : 0
111+
* },
112+
* "Rectangle" : {
113+
* "type" : "object",
114+
* "properties" : {
115+
* "a" : {"$ref" : "#/definitions/size"},
116+
* "b" : {"$ref" : "#/definitions/size"}
117+
* }
118+
* }
119+
* }
120+
* }
121+
* </code>
122+
* </pre>
123+
*
124+
* The default implementation of this method always returns false.
125+
*
126+
* @param field
127+
* should be a JSON pointer in its string representation.
128+
* @return {@code true} if the propertty denoted by {@code field} is defined by this schema
129+
* instance
130+
*/
88131
public boolean definesProperty(final String field) {
89132
return false;
90133
}

0 commit comments

Comments
 (0)