package com.emf4sw.owl.jena.utils; import com.hp.hpl.jena.ontology.AllDifferent; import com.hp.hpl.jena.ontology.AllValuesFromRestriction; import com.hp.hpl.jena.ontology.AnnotationProperty; import com.hp.hpl.jena.ontology.CardinalityQRestriction; import com.hp.hpl.jena.ontology.CardinalityRestriction; import com.hp.hpl.jena.ontology.ComplementClass; import com.hp.hpl.jena.ontology.DataRange; import com.hp.hpl.jena.ontology.DatatypeProperty; import com.hp.hpl.jena.ontology.EnumeratedClass; import com.hp.hpl.jena.ontology.HasValueRestriction; import com.hp.hpl.jena.ontology.Individual; import com.hp.hpl.jena.ontology.IntersectionClass; import com.hp.hpl.jena.ontology.MaxCardinalityQRestriction; import com.hp.hpl.jena.ontology.MaxCardinalityRestriction; import com.hp.hpl.jena.ontology.MinCardinalityQRestriction; import com.hp.hpl.jena.ontology.MinCardinalityRestriction; import com.hp.hpl.jena.ontology.ObjectProperty; import com.hp.hpl.jena.ontology.OntClass; import com.hp.hpl.jena.ontology.OntResource; import com.hp.hpl.jena.ontology.Ontology; import com.hp.hpl.jena.ontology.Restriction; import com.hp.hpl.jena.ontology.SomeValuesFromRestriction; import com.hp.hpl.jena.ontology.UnionClass; import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.rdf.model.Resource; public class OntModelSwitch<T> { public OntModelSwitch() { } public T caseOntology(Ontology object) { return null; } public T caseOntClass(OntClass object) { return null; } public T caseUnionClass(UnionClass object) { return null; } public T caseIntersectionClass(IntersectionClass object) { return null; } public T caseComplementClass(ComplementClass object) { return null; } public T caseEnumeratedClass(EnumeratedClass object) { return null; } public T caseObjectProperty(ObjectProperty object) { return null; } public T caseDatatypeProperty(DatatypeProperty object) { return null; } public T caseIndividual(Individual object) { return null; } public T caseAllValuesFromRestriction(AllValuesFromRestriction object) { return null; } public T caseSomeValuesFromRestriction(SomeValuesFromRestriction object) { return null; } public T caseHasValueRestriction(HasValueRestriction object) { return null; } public T caseMaxCardinalityRestriction(MaxCardinalityRestriction object) { return null; } public T caseCardinalityRestriction(CardinalityRestriction object) { return null; } public T caseCardinalityQRestriction(CardinalityQRestriction object) { return null; } public T caseMaxCardinalityQRestriction(MaxCardinalityQRestriction object) { return null; } public T caseMinCardinalityRestriction(MinCardinalityRestriction object) { return null; } public T caseMinCardinalityQRestriction(MinCardinalityQRestriction object) { return null; } public T caseAllDifferent(AllDifferent asAllDifferent) { return null; } public T caseAnnotationProperty(AnnotationProperty asAnnotationProperty) { return null; } public T caseDatatype(DataRange dataRange) { return null; } public T doSwitch(Resource res) { T result = null; if (res.canAs(OntResource.class)) { OntResource ontRes = res.as(OntResource.class); if (ontRes.isProperty()) { if (ontRes.isObjectProperty()) { result = caseObjectProperty(ontRes.asObjectProperty()); } else if (ontRes.isDatatypeProperty()) { result = caseDatatypeProperty(ontRes.asDatatypeProperty()); } else if (ontRes.isAnnotationProperty()) { result = caseAnnotationProperty(ontRes.asAnnotationProperty()); } } else if (ontRes.isClass()) { OntClass ontClass = res.as(OntClass.class); if (ontClass.isAllDifferent()) { result = caseAllDifferent(ontClass.asAllDifferent()); } else if (ontClass.isComplementClass()) { result = caseComplementClass(ontClass.asComplementClass()); } else if (ontClass.isUnionClass()) { result = caseUnionClass(ontClass.asUnionClass()); } else if (ontClass.isIntersectionClass()) { result = caseIntersectionClass(ontClass.asIntersectionClass()); } else if (ontClass.isRestriction()) { Restriction restriction = ontClass.asRestriction(); if (restriction.isAllValuesFromRestriction()) { result = caseAllValuesFromRestriction(restriction.asAllValuesFromRestriction()); } else if (restriction.isSomeValuesFromRestriction()) { result = caseSomeValuesFromRestriction(restriction.asSomeValuesFromRestriction()); } else if (restriction.isHasValueRestriction()) { result = caseHasValueRestriction(restriction.asHasValueRestriction()); } } else { result = caseOntClass(ontClass); } } else if (ontRes.isOntology()) { result = caseOntology(res.as(Ontology.class)); } else if (ontRes.isIndividual()) { result = caseIndividual(res.as(Individual.class)); } else if (ontRes.isDataRange()) { DataRange dataRange = res.as(DataRange.class); if (dataRange.isURIResource()) { result = caseDatatype(dataRange); } } } return result; } public T doSwitch(RDFNode node) { return null; } }