|
|
@@ -13,10 +13,8 @@ import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.node.JsonNodeType;
|
|
|
|
|
|
import lombok.AccessLevel;
|
|
|
-import lombok.NoArgsConstructor;
|
|
|
import lombok.experimental.FieldDefaults;
|
|
|
|
|
|
-@NoArgsConstructor
|
|
|
@FieldDefaults(level=AccessLevel.PRIVATE)
|
|
|
public class Schema implements Tester {
|
|
|
private static final String SELF = "$self";
|
|
|
@@ -29,6 +27,10 @@ public class Schema implements Tester {
|
|
|
"maxLength", "minLength", "pattern", "format");
|
|
|
Map<String, Tester> children = new HashMap<>();
|
|
|
|
|
|
+ public Schema() {
|
|
|
+ this(ACCEPT);
|
|
|
+ }
|
|
|
+
|
|
|
public Schema(Tester self) {
|
|
|
children.put(SELF, self);
|
|
|
}
|
|
|
@@ -39,7 +41,6 @@ public class Schema implements Tester {
|
|
|
|
|
|
@Override
|
|
|
public JsonNodeType[] acceptedTypes() {
|
|
|
- if (children.isEmpty()) return ANY;
|
|
|
final Set<JsonNodeType> set = new HashSet<>();
|
|
|
children.values().stream().map(Tester::acceptedTypes)
|
|
|
.forEach(a -> set.addAll(Arrays.asList(a)));
|