01: package org.drools.common;
02:
03: import java.util.Map;
04:
05: import org.drools.FactException;
06: import org.drools.FactHandle;
07: import org.drools.WorkingMemory;
08: import org.drools.event.AgendaEventSupport;
09: import org.drools.event.RuleFlowEventSupport;
10: import org.drools.event.WorkingMemoryEventSupport;
11: import org.drools.reteoo.LIANodePropagation;
12: import org.drools.rule.Rule;
13: import org.drools.spi.Activation;
14: import org.drools.spi.FactHandleFactory;
15: import org.drools.spi.PropagationContext;
16: import org.drools.util.ObjectHashMap;
17: import org.drools.util.concurrent.locks.Lock;
18:
19: public interface InternalWorkingMemory extends WorkingMemory {
20: public long getId();
21:
22: public void setWorkingMemoryEventSupport(
23: WorkingMemoryEventSupport workingMemoryEventSupport);
24:
25: public void setAgendaEventSupport(
26: AgendaEventSupport agendaEventSupport);
27:
28: public void setRuleFlowEventSupport(
29: RuleFlowEventSupport ruleFlowEventSupport);
30:
31: public Object getNodeMemory(NodeMemory node);
32:
33: public void clearNodeMemory(NodeMemory node);
34:
35: public long getNextPropagationIdCounter();
36:
37: public ObjectHashMap getFactHandleMap();
38:
39: public TruthMaintenanceSystem getTruthMaintenanceSystem();
40:
41: public void executeQueuedActions();
42:
43: public void queueWorkingMemoryAction(
44: final WorkingMemoryAction action);
45:
46: public FactHandleFactory getFactHandleFactory();
47:
48: public void removeLogicalDependencies(final Activation activation,
49: final PropagationContext context, final Rule rule)
50: throws FactException;
51:
52: void retract(final FactHandle factHandle,
53: final boolean removeLogical, final boolean updateEqualsMap,
54: final Rule rule, final Activation activation)
55: throws FactException;
56:
57: public Lock getLock();
58:
59: public boolean isSequential();
60:
61: public void addLIANodePropagation(
62: LIANodePropagation liaNodePropagation);
63: }
|