private boolean matchesPath(JsonOverlay<?> child, JsonPointer path) { JsonPointer childPath = getPointer(child); while (!childPath.matches()) { if (!childPath.matchesProperty(path.getMatchingProperty())) { return false; } else { path = path.tail(); childPath = childPath.tail(); } } return true; }
@Override public JsonOverlay<?> _findInternal(JsonPointer path) { if (path.matchesProperty("additionalProperties")) { return path.tail().matches() ? _getOverlay("additionalProperties", BooleanOverlay.class) : _get("additionalPropertiesSchema", SchemaImpl.class)._findInternal(path.tail()); } else { return super._findInternal(path); } }
@Override public JsonOverlay<?> _findInternal(JsonPointer path) { if (path.matchesProperty("additionalProperties")) { return path.tail().matches() ? _getOverlay("additionalProperties", BooleanOverlay.class) : _get("additionalPropertiesSchema", SchemaImpl.class)._findInternal(path.tail()); } else { return super._findInternal(path); } }
@Override public JsonOverlay<?> _findInternal(JsonPointer path) { if (path.matchesProperty("additionalProperties")) { return path.tail().matches() ? _getOverlay("additionalProperties", BooleanOverlay.class) : _get("additionalPropertiesSchema", SchemaImpl.class)._findInternal(path.tail()); } else { return super._findInternal(path); } }