@Override public String visit(SubClassInclusionObjectHasSelfPropertyRange inference) { return String.format("%s -| %s; %s", inference.getConclusion(factory_), inference.getFirstPremise(factory_), inference.getSecondPremise(factory_)); }
@Override public Conclusion getPremise(int index, Factory factory) { switch (index) { case 0: return getFirstPremise(factory); case 1: return getSecondPremise(factory); default: return failGetPremise(index); } }
@Override public IndexedContextRoot getOrigin() { return getDestination(); }
@Override public O visit(SubClassInclusionObjectHasSelfPropertyRange inference) { conclusionVisitor_.visit(inference.getFirstPremise(conclusionFactory_)); conclusionVisitor_ .visit(inference.getSecondPremise(conclusionFactory_)); return null; }
@Override public ClassConclusion visit( SubClassInclusionObjectHasSelfPropertyRange inference) { return inference.getConclusion(conclusionFactory_); }
@Override public O visit(SubClassInclusionObjectHasSelfPropertyRange inference) { conclusionVisitor_.visit(inference.getFirstPremise(conclusionFactory_)); return null; }
public PropertyRange getSecondPremise(PropertyRange.Factory factory) { return factory.getPropertyRange(premiseSubsumer_.getProperty(), getSubsumer()); }
public PropertyRangeMatch1 getSecondPremiseMatch( ConclusionMatchExpressionFactory factory) { return factory.getPropertyRangeMatch1( getParent().getParent().getSecondPremise(factory)); }
public SubClassInclusionDecomposed getFirstPremise( SubClassInclusionDecomposed.Factory factory) { return factory.getSubClassInclusionDecomposed(getOrigin(), premiseSubsumer_); }
SubClassInclusionObjectHasSelfPropertyRangeMatch3( SubClassInclusionObjectHasSelfPropertyRangeMatch2 parent, PropertyRangeMatch2 secondPremiseMatch) { super(parent); this.rangeMatch_ = secondPremiseMatch.getRangeMatch(); ElkObjectProperty propertyMatch = secondPremiseMatch.getPropertyMatch(); if (!parent.getPropertyMatch().equals(propertyMatch)) { throw new ElkMatchException(parent.getParent().getParent() .getPremiseSubsumer().getProperty(), propertyMatch); } checkEquals(secondPremiseMatch, getSecondPremiseMatch(DEBUG_FACTORY)); }
@Override public void apply(IndexedObjectHasSelf premise, ContextPremises premises, ClassInferenceProducer producer) { IndexedObjectHasSelf.Helper.produceDecomposedExistentialLink(producer, premises.getRoot(), premise); for (IndexedClassExpression range : premise.getProperty() .getSaturated().getRanges()) { producer.produce(new SubClassInclusionObjectHasSelfPropertyRange(premises .getRoot(), premise, range)); } }
@Override public O visit(SubClassInclusionObjectHasSelfPropertyRange inference) { conclusionVisitor_.visit(inference.getFirstPremise(conclusionFactory_)); conclusionVisitor_ .visit(inference.getSecondPremise(conclusionFactory_)); return null; }
@Override public ClassConclusion visit( SubClassInclusionObjectHasSelfPropertyRange inference) { return inference.getConclusion(conclusionFactory_); }
@Override public O visit(SubClassInclusionObjectHasSelfPropertyRange inference) { conclusionVisitor_.visit(inference.getFirstPremise(conclusionFactory_)); return null; }
public PropertyRange getSecondPremise(PropertyRange.Factory factory) { return factory.getPropertyRange(premiseSubsumer_.getProperty(), getSubsumer()); }
public PropertyRangeMatch1 getSecondPremiseMatch( ConclusionMatchExpressionFactory factory) { return factory.getPropertyRangeMatch1( getParent().getParent().getSecondPremise(factory)); }
public SubClassInclusionDecomposed getFirstPremise( SubClassInclusionDecomposed.Factory factory) { return factory.getSubClassInclusionDecomposed(getOrigin(), premiseSubsumer_); }
SubClassInclusionObjectHasSelfPropertyRangeMatch3( SubClassInclusionObjectHasSelfPropertyRangeMatch2 parent, PropertyRangeMatch2 secondPremiseMatch) { super(parent); this.rangeMatch_ = secondPremiseMatch.getRangeMatch(); ElkObjectProperty propertyMatch = secondPremiseMatch.getPropertyMatch(); if (!parent.getPropertyMatch().equals(propertyMatch)) { throw new ElkMatchException(parent.getParent().getParent() .getPremiseSubsumer().getProperty(), propertyMatch); } checkEquals(secondPremiseMatch, getSecondPremiseMatch(DEBUG_FACTORY)); }
@Override public void apply(IndexedObjectHasSelf premise, ContextPremises premises, ClassInferenceProducer producer) { IndexedObjectHasSelf.Helper.produceDecomposedExistentialLink(producer, premises.getRoot(), premise); for (IndexedClassExpression range : premise.getProperty() .getSaturated().getRanges()) { producer.produce(new SubClassInclusionObjectHasSelfPropertyRange(premises .getRoot(), premise, range)); } }
@Override public String visit(SubClassInclusionObjectHasSelfPropertyRange inference) { return String.format("%s -| %s; %s", inference.getConclusion(factory_), inference.getFirstPremise(factory_), inference.getSecondPremise(factory_)); }