Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (c) 2013, Francis Galiegue <fgaliegue@gmail.com>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the Lesser GNU General Public License as
  * published by the Free Software Foundation, either version 3 of the
  * License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * Lesser GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package com.github.fge.jsonschema.processors.validation;
Equivalence for schema contexts

This is used by ValidationChain and ValidationProcessor to cache computation results. Two schema contexts are considered equivalent if:

  • schema trees are considered equivalent,
  • and the type of the instance is the same.

public final class SchemaContextEquivalence
    extends Equivalence<SchemaContext>
    private static final Equivalence<SchemaContextINSTANCE
        = new SchemaContextEquivalence();
    private static final Equivalence<SchemaTreeTREE_EQUIVALENCE
        = SchemaTreeEquivalence.getInstance();
    public static Equivalence<SchemaContextgetInstance()
    {
        return ;
    }
    @Override
    protected boolean doEquivalent(final SchemaContext afinal SchemaContext b)
    {
        return .equivalent(a.getSchema(), b.getSchema())
            && a.getInstanceType() == b.getInstanceType();
    }
    @Override
    protected int doHash(final SchemaContext t)
    {
        return 31 * .hash(t.getSchema())
            + t.getInstanceType().hashCode();
    }
New to GrepCode? Check out our FAQ X