package uk.ac.manchester.cs.jfact.visitors; /* This file is part of the JFact DL reasoner Copyright 2011-2013 by Ignazio Palmisano, Dmitry Tsarkov, University of Manchester This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA*/ import java.io.Serializable; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomConceptInclusion; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDRoleDomain; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDRoleFunctional; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDRoleRange; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDRoleSubsumption; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDeclaration; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDifferentIndividuals; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDisjointConcepts; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDisjointDRoles; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDisjointORoles; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDisjointUnion; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomEquivalentConcepts; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomEquivalentDRoles; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomEquivalentORoles; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomFairnessConstraint; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomInstanceOf; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomORoleDomain; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomORoleFunctional; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomORoleRange; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomORoleSubsumption; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomRelatedTo; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomRelatedToNot; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomRoleAsymmetric; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomRoleInverse; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomRoleInverseFunctional; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomRoleIrreflexive; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomRoleReflexive; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomRoleSymmetric; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomRoleTransitive; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomSameIndividuals; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomValueOf; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomValueOfNot; import uk.ac.manchester.cs.jfact.kernel.dl.interfaces.AxiomInterface; /** * adapter for null visitor * * @param <A> * return type */ public class DLAxiomVisitorExAdapter<A> implements DLAxiomVisitorEx<A>, Serializable { private static final long serialVersionUID = 11000L; private A defaultValue; /** default constructor */ public DLAxiomVisitorExAdapter() { this(null); } /** * @param a * value to return */ public DLAxiomVisitorExAdapter(A a) { defaultValue = a; } protected A doDefault(@SuppressWarnings("unused") AxiomInterface a) { return defaultValue; } @Override public A visit(AxiomDeclaration axiom) { return doDefault(axiom); } @Override public A visit(AxiomEquivalentConcepts axiom) { return doDefault(axiom); } @Override public A visit(AxiomDisjointConcepts axiom) { return doDefault(axiom); } @Override public A visit(AxiomEquivalentORoles axiom) { return doDefault(axiom); } @Override public A visit(AxiomEquivalentDRoles axiom) { return doDefault(axiom); } @Override public A visit(AxiomDisjointUnion axiom) { return doDefault(axiom); } @Override public A visit(AxiomDisjointORoles axiom) { return doDefault(axiom); } @Override public A visit(AxiomDisjointDRoles axiom) { return doDefault(axiom); } @Override public A visit(AxiomSameIndividuals axiom) { return doDefault(axiom); } @Override public A visit(AxiomDifferentIndividuals axiom) { return doDefault(axiom); } @Override public A visit(AxiomFairnessConstraint axiom) { return doDefault(axiom); } @Override public A visit(AxiomRoleInverse axiom) { return doDefault(axiom); } @Override public A visit(AxiomORoleSubsumption axiom) { return doDefault(axiom); } @Override public A visit(AxiomDRoleSubsumption axiom) { return doDefault(axiom); } @Override public A visit(AxiomORoleDomain axiom) { return doDefault(axiom); } @Override public A visit(AxiomDRoleDomain axiom) { return doDefault(axiom); } @Override public A visit(AxiomORoleRange axiom) { return doDefault(axiom); } @Override public A visit(AxiomDRoleRange axiom) { return doDefault(axiom); } @Override public A visit(AxiomRoleTransitive axiom) { return doDefault(axiom); } @Override public A visit(AxiomRoleReflexive axiom) { return doDefault(axiom); } @Override public A visit(AxiomRoleIrreflexive axiom) { return doDefault(axiom); } @Override public A visit(AxiomRoleSymmetric axiom) { return doDefault(axiom); } @Override public A visit(AxiomRoleAsymmetric axiom) { return doDefault(axiom); } @Override public A visit(AxiomORoleFunctional axiom) { return doDefault(axiom); } @Override public A visit(AxiomDRoleFunctional axiom) { return doDefault(axiom); } @Override public A visit(AxiomRoleInverseFunctional axiom) { return doDefault(axiom); } @Override public A visit(AxiomConceptInclusion axiom) { return doDefault(axiom); } @Override public A visit(AxiomInstanceOf axiom) { return doDefault(axiom); } @Override public A visit(AxiomRelatedTo axiom) { return doDefault(axiom); } @Override public A visit(AxiomRelatedToNot axiom) { return doDefault(axiom); } @Override public A visit(AxiomValueOf axiom) { return doDefault(axiom); } @Override public A visit(AxiomValueOfNot axiom) { return doDefault(axiom); } }