public SubClassInclusionTautology(IndexedContextRoot inferenceRoot) { super(inferenceRoot, inferenceRoot.accept(SUBSUMER_EXTRACTOR_)); }
@Override public ExtendedContext getContext(IndexedContextRoot root) { return root.getContext(); }
@Override ExtendedContext setIfAbsent(ExtendedContext context) { ExtendedContext previous = context.getRoot() .setContextIfAbsent(context); if (previous == null) { contextCount.incrementAndGet(); for (int i = 0; i < getChangeListenerCount(); i++) { getChangeListener(i).contextAddition(context); } } return previous; }
@Override void resetContexts() { if (contextCount.get() == 0) // everything is already done return; // else for (ExtendedContext context : getContexts()) { context.getRoot().resetContext(); } contextCount.set(0); for (int i = 0; i < getChangeListenerCount(); i++) { getChangeListener(i).contextsClear(); } }
@Override ExtendedContext setIfAbsent(ExtendedContext context) { ExtendedContext previous = context.getRoot() .setContextIfAbsent(context); if (previous == null) { contextCount.incrementAndGet(); for (int i = 0; i < getChangeListenerCount(); i++) { getChangeListener(i).contextAddition(context); } } return previous; }
@Override void resetContexts() { if (contextCount.get() == 0) // everything is already done return; // else for (ExtendedContext context : getContexts()) { context.getRoot().resetContext(); } contextCount.set(0); for (int i = 0; i < getChangeListenerCount(); i++) { getChangeListener(i).contextsClear(); } }
public SubClassInclusionTautology(IndexedContextRoot inferenceRoot) { super(inferenceRoot, inferenceRoot.accept(SUBSUMER_EXTRACTOR_)); }
@Override public ExtendedContext getContext(IndexedContextRoot root) { return root.getContext(); }
@Override ExtendedContext setIfAbsent(ExtendedContext context) { ExtendedContext previous = context.getRoot() .setContextIfAbsent(context); if (previous == null) { contextCount.incrementAndGet(); for (int i = 0; i < getChangeListenerCount(); i++) { getChangeListener(i).contextAddition(context); } } return previous; }
@Override void resetContexts() { if (contextCount.get() == 0) // everything is already done return; // else for (ExtendedContext context : getContexts()) { context.getRoot().resetContext(); } contextCount.set(0); for (int i = 0; i < getChangeListenerCount(); i++) { getChangeListener(i).contextsClear(); } }
public SubClassInclusionTautology(IndexedContextRoot inferenceRoot) { super(inferenceRoot, inferenceRoot.accept(SUBSUMER_EXTRACTOR_)); }
@Override public ExtendedContext getContext(IndexedContextRoot root) { return root.getContext(); }
IndexedContextRootMatch getRootMatch(IndexedContextRoot root, final IndexedContextRootMatch.Factory factory) { return root.accept( new DummyIndexedContextRootVisitor<IndexedContextRootMatch>() { @Override protected IndexedContextRootMatch defaultVisit( IndexedClassExpression element) { return premiseSuperExpressionMatch_ .getFillerRootMatch(factory); } @Override public IndexedContextRootMatch visit( IndexedRangeFiller element) { return premiseSuperExpressionMatch_ .getRangeRootMatch(factory); } }); }
@Override public String toString() { return root_.toString() + (this != root_.getContext() ? "[local]" : ""); }
IndexedContextRootMatch getRootMatch(IndexedContextRoot root, final IndexedContextRootMatch.Factory factory) { return root.accept( new DummyIndexedContextRootVisitor<IndexedContextRootMatch>() { @Override protected IndexedContextRootMatch defaultVisit( IndexedClassExpression element) { return premiseSuperExpressionMatch_ .getFillerRootMatch(factory); } @Override public IndexedContextRootMatch visit( IndexedRangeFiller element) { return premiseSuperExpressionMatch_ .getRangeRootMatch(factory); } }); }
@Override public String toString() { return root_.toString() + (this != root_.getContext() ? "[local]" : ""); }
IndexedContextRootMatch getRootMatch(IndexedContextRoot root, final IndexedContextRootMatch.Factory factory) { return root.accept( new DummyIndexedContextRootVisitor<IndexedContextRootMatch>() { @Override protected IndexedContextRootMatch defaultVisit( IndexedClassExpression element) { return premiseSuperExpressionMatch_ .getFillerRootMatch(factory); } @Override public IndexedContextRootMatch visit( IndexedRangeFiller element) { return premiseSuperExpressionMatch_ .getRangeRootMatch(factory); } }); }
@Override public String toString() { return root_.toString() + (this != root_.getContext() ? "[local]" : ""); }
@Override public void apply(ContextInitialization premise, final ContextPremises premises, final ClassInferenceProducer producer) { IndexedContextRoot root = premises.getRoot(); producer.produce(new SubClassInclusionTautology(premises.getRoot())); root.accept(new DummyIndexedContextRootVisitor<Void>() { @Override public Void visit(IndexedRangeFiller element) { for (IndexedClassExpression range : element.getProperty() .getSaturated().getRanges()) { producer.produce( new SubClassInclusionRange(element, range)); } return null; } }); }
@Override public void apply(ContextInitialization premise, final ContextPremises premises, final ClassInferenceProducer producer) { IndexedContextRoot root = premises.getRoot(); producer.produce(new SubClassInclusionTautology(premises.getRoot())); root.accept(new DummyIndexedContextRootVisitor<Void>() { @Override public Void visit(IndexedRangeFiller element) { for (IndexedClassExpression range : element.getProperty() .getSaturated().getRanges()) { producer.produce( new SubClassInclusionRange(element, range)); } return null; } }); }