Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (c) 2014, Francis Galiegue (fgaliegue@gmail.com)
  *
  * This software is dual-licensed under:
  *
  * - the Lesser General Public License (LGPL) version 3.0 or, at your option, any
  *   later version;
  * - the Apache Software License (ASL) version 2.0.
  *
 * The text of this file and of both licenses is available at the root of this
 * project or, if you have the jar distribution, in directory META-INF/, under
 * the names LGPL-3.0.txt and ASL-2.0.txt respectively.
 *
 * Direct link to the sources:
 *
 * - LGPL 3.0: https://www.gnu.org/licenses/lgpl-3.0.txt
 * - ASL 2.0: http://www.apache.org/licenses/LICENSE-2.0.txt
 */
package com.github.fge.jsonschema.keyword.validator.draftv3;
Keyword validator for draft v3's disallow
public final class DisallowKeywordValidator
    public DisallowKeywordValidator(final JsonNode digested)
    {
        super("disallow"digested);
    }
    @Override
    public void validate(final Processor<FullDataFullDataprocessor,
        final ProcessingReport reportfinal MessageBundle bundle,
        final FullData data)
        throws ProcessingException
    {
        final JsonNode instance = data.getInstance().getNode();
        final NodeType type = NodeType.getNodeType(instance);
        if (.contains(type)) {
            report.error(newMsg(databundle"err.draftv3.disallow.type")
                .putArgument("found"type)
                .putArgument("disallowed"toArrayNode()));
            return;
        }
        final SchemaTree tree = data.getSchema();
        final JsonPointer schemaPointer = tree.getPointer();
        final ObjectNode fullReport = .objectNode();
        JsonPointer ptr;
        ListProcessingReport subReport;
        FullData newData;
        int nrSuccess = 0;
        for (final int index) {
            subReport = new ListProcessingReport(report.getLogLevel(),
                .);
            ptr = schemaPointer.append(JsonPointer.of(index));
            newData = data.withSchema(tree.setPointer(ptr));
            processor.process(subReportnewData);
            fullReport.put(ptr.toString(), subReport.asJson());
            if (subReport.isSuccess())
                nrSuccess++;
        }
        if (nrSuccess != 0)
            report.error(newMsg(databundle"err.draftv3.disallow.schema")
                .putArgument("matched"nrSuccess)
                .putArgument("nrSchemas".size())
                .put("reports"fullReport));
    }
New to GrepCode? Check out our FAQ X