/*
* Get the calculated context. Build the data.
*/
final SchemaContext newContext = fullContext.getContext();
final FullData data = new FullData(newContext.getSchema(),
input.getInstance(), input.isDeepCheck());
/*
* Validate against all keywords.
*/
for (final KeywordValidator validator: fullContext)
validator.validate(this, report, validationMessages, data);
/*
* At that point, if the report is a failure, we quit: there is no
* reason to go any further. Unless the user has asked to continue even
* in this case.
*/
if (!(report.isSuccess() || data.isDeepCheck())) {
stack.pop();
return input;
}
/*
* Now check whether this is a container node with a size greater than
* 0. If not, no need to go see the children.
*/
final JsonNode node = data.getInstance().getNode();
if (node.isContainerNode()) {
if (node.isArray())
processArray(report, data);
else