public DraftV4TypeValidator(final JsonNode digest) { super("type"); for (final JsonNode node: digest.get(keyword)) types.add(NodeType.fromName(node.textValue())); }
private static void putType(final EnumSet<NodeType> types, final String s) { if (ANY.equals(s)) { types.addAll(EnumSet.allOf(NodeType.class)); return; } final NodeType type = NodeType.fromName(s); types.add(type); if (type == NodeType.NUMBER) types.add(NodeType.INTEGER); } }
protected DraftV3TypeKeywordValidator(final String keyword, final JsonNode digested) { super(keyword); for (final JsonNode element: digested.get(keyword)) types.add(NodeType.fromName(element.textValue())); for (final JsonNode element: digested.get("schemas")) schemas.add(element.intValue()); }
@Override public JsonNode digest(final JsonNode schema) { final ObjectNode ret = FACTORY.objectNode(); final ArrayNode allowedTypes = FACTORY.arrayNode(); ret.put(keyword, allowedTypes); final JsonNode node = schema.get(keyword); final EnumSet<NodeType> typeSet = EnumSet.noneOf(NodeType.class); if (node.isTextual()) // Single type typeSet.add(NodeType.fromName(node.textValue())); else // More than one type for (final JsonNode element: node) typeSet.add(NodeType.fromName(element.textValue())); if (typeSet.contains(NodeType.NUMBER)) typeSet.add(NodeType.INTEGER); /* * Note that as this is an enumset, order is guaranteed */ for (final NodeType type: typeSet) allowedTypes.add(type.toString()); return ret; } }
private static boolean typeIsValid(final String s) { return ANY.equals(s) || NodeType.fromName(s) != null; } }
private static boolean typeIsValid(final String s) { return ANY.equals(s) || NodeType.fromName(s) != null; } }
private static boolean typeIsValid(final String s) { return ANY.equals(s) || NodeType.fromName(s) != null; } }