ModifiableIndexedAxiomInferenceConclusionVisitingFactory( Producer<? super IndexedAxiomInference> inferenceProducer, ModifiableIndexedObject.Factory conclusionFactory) { super(new ModifiableIndexedAxiomInferenceBaseFactory()); this.inferenceProducer_ = inferenceProducer; this.inferenceVisitor_ = new ModifiableIndexedAxiomInferenceConclusionVisitor<Void>( conclusionFactory); }
@Override public final boolean updateOccurrenceNumbers( final ModifiableOntologyIndex index, OccurrenceIncrement increment) { if (!updateNegativeOccurrenceNo(index, increment.negativeIncrement)) { return false; } if (!super.updateOccurrenceNumbers(index, increment)) { // revert the changes updateNegativeOccurrenceNo(index, -increment.negativeIncrement); return false; } return true; }
@Override public final <O> O accept(IndexedAxiomInference.Visitor<O> visitor) { return accept( (IndexedObjectPropertyRangeAxiomInference.Visitor<O>) visitor); }
@Override public IndexedSubClassOfAxiom getIndexedSubClassOfAxiom( ElkAxiom originalAxiom, IndexedClassExpression subClass, IndexedClassExpression superClass) { return new IndexedSubClassOfAxiomImpl<ElkAxiom, IndexedClassExpression>( originalAxiom, subClass, superClass); }
@Override public IndexedEquivalentClassesAxiom getIndexedEquivalentClassesAxiom( ElkAxiom originalAxiom, IndexedClassExpression firstMember, IndexedClassExpression secondMember) { return new IndexedEquivalentClassesAxiomImpl<ElkAxiom, IndexedClassExpression>( originalAxiom, firstMember, secondMember); }
@Override public ModifiableElkDeclarationAxiomConversion getElkDeclarationAxiomConversion( ElkDeclarationAxiom originalAxiom, ModifiableIndexedEntity entity) { return new ModifiableElkDeclarationAxiomConversionImpl(originalAxiom, entity); }
@Override public ModifiableElkDifferentIndividualsAxiomBinaryConversion getElkDifferentIndividualsAxiomBinaryConversion( ElkDifferentIndividualsAxiom originalAxiom, int firstIndividualPosition, int secondIndividualPosition, ModifiableIndexedObjectIntersectionOf conjunction, ModifiableIndexedClass bottom) { return new ModifiableElkDifferentIndividualsAxiomBinaryConversionImpl( originalAxiom, firstIndividualPosition, secondIndividualPosition, conjunction, bottom); }
@Override public ModifiableElkDisjointUnionAxiomEquivalenceConversion getElkDisjointUnionAxiomEquivalenceConversion( ElkDisjointUnionAxiom originalAxiom, ModifiableIndexedClass definedClass, ModifiableIndexedClassExpression definition) { return new ModifiableElkDisjointUnionAxiomEquivalenceConversionImpl( originalAxiom, definedClass, definition); }
@Override public ModifiableElkEquivalentClassesAxiomSubClassConversion getElkEquivalentClassesAxiomSubClassConversion( ElkEquivalentClassesAxiom originalAxiom, int subClassPosition, int superClassPosition, ModifiableIndexedClassExpression subClass, ModifiableIndexedClassExpression superClass) { return new ModifiableElkEquivalentClassesAxiomSubClassConversionImpl( originalAxiom, subClassPosition, superClassPosition, subClass, superClass); }
@Override public ModifiableElkObjectPropertyRangeAxiomConversion getElkObjectPropertyRangeAxiomConversion( ElkObjectPropertyRangeAxiom originalAxiom, ModifiableIndexedObjectProperty property, ModifiableIndexedClassExpression range) { return new ModifiableElkObjectPropertyRangeAxiomConversionImpl( originalAxiom, property, range); }
@Override public ModifiableElkReflexiveObjectPropertyAxiomConversion getElkReflexiveObjectPropertyAxiomConversion( ElkReflexiveObjectPropertyAxiom originalAxiom, ModifiableIndexedClassExpression subClass, ModifiableIndexedClassExpression superClass) { return new ModifiableElkReflexiveObjectPropertyAxiomConversionImpl( originalAxiom, subClass, superClass); }
@Override public ModifiableElkSameIndividualAxiomConversion getElkSameIndividualAxiomConversion( ElkSameIndividualAxiom originalAxiom, int subIndividualPosition, int superIndividualPosition, ModifiableIndexedIndividual subIndividual, ModifiableIndexedIndividual superIndividual) { return new ModifiableElkSameIndividualAxiomConversionImpl(originalAxiom, subIndividualPosition, superIndividualPosition, subIndividual, superIndividual); }
@Override public ModifiableElkSubClassOfAxiomConversion getElkSubClassOfAxiomConversion( ElkSubClassOfAxiom originalAxiom, ModifiableIndexedClassExpression subClass, ModifiableIndexedClassExpression superClass) { return new ModifiableElkSubClassOfAxiomConversionImpl(originalAxiom, subClass, superClass); }
@Override public ModifiableElkTransitiveObjectPropertyAxiomConversion getElkTransitiveObjectPropertyAxiomConversion( ElkTransitiveObjectPropertyAxiom originalAxiom, ModifiableIndexedPropertyChain subPropertyChain, ModifiableIndexedObjectProperty superProperty) { return new ModifiableElkTransitiveObjectPropertyAxiomConversionImpl( originalAxiom, subPropertyChain, superProperty); }
@Override public CachedIndexedObjectComplementOf getIndexedObjectComplementOf( ModifiableIndexedClassExpression negated) { return new CachedIndexedObjectComplementOfImpl(negated); }
@Override public final ArrayList<IndexedObjectProperty> getToldSuperProperties() { if (toldSuperProperties_ == null) { final ArrayList<IndexedObjectProperty> result = CachedIndexedPropertyChainImpl .emptyArrayList(); return result; } // else return toldSuperProperties_; }
ModifiableIndexedAxiomInferenceConclusionVisitingFactory( Producer<? super IndexedAxiomInference> inferenceProducer, ModifiableIndexedObject.Factory conclusionFactory) { super(new ModifiableIndexedAxiomInferenceBaseFactory()); this.inferenceProducer_ = inferenceProducer; this.inferenceVisitor_ = new ModifiableIndexedAxiomInferenceConclusionVisitor<Void>( conclusionFactory); }
@Override public final boolean updateOccurrenceNumbers( final ModifiableOntologyIndex index, OccurrenceIncrement increment) { if (!updateNegativeOccurrenceNo(index, increment.negativeIncrement)) { return false; } if (!super.updateOccurrenceNumbers(index, increment)) { // revert the changes updateNegativeOccurrenceNo(index, -increment.negativeIncrement); return false; } return true; }
@Override public final <O> O accept( ModifiableIndexedAxiomInference.Visitor<O> visitor) { return accept( (ModifiableIndexedObjectPropertyRangeAxiomInference.Visitor<O>) visitor); }
ModifiableIndexedAxiomInferenceConclusionVisitingFactory( Producer<? super IndexedAxiomInference> inferenceProducer, ModifiableIndexedObject.Factory conclusionFactory) { super(new ModifiableIndexedAxiomInferenceBaseFactory()); this.inferenceProducer_ = inferenceProducer; this.inferenceVisitor_ = new ModifiableIndexedAxiomInferenceConclusionVisitor<Void>( conclusionFactory); }