/** * Copyright 2010 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.drools.common; import java.util.LinkedList; import java.util.List; import org.drools.base.MapGlobalResolver; import org.drools.event.AgendaEventSupport; import org.drools.event.WorkingMemoryEventSupport; import org.drools.process.instance.WorkItemManager; import org.drools.rule.TimeMachine; import org.drools.spi.FactHandleFactory; import org.drools.spi.GlobalResolver; public class SharedWorkingMemoryContext { protected InternalRuleBase ruleBase; protected FactHandleFactory handleFactory; /** Global values which are associated with this memory. */ protected GlobalResolver globalResolver; /** The eventSupport */ protected WorkingMemoryEventSupport workingMemoryEventSupport; protected AgendaEventSupport agendaEventSupport; protected List __ruleBaseEventListeners; protected long propagationIdCounter; private WorkItemManager workItemManager; private TimeMachine timeMachine; public SharedWorkingMemoryContext(FactHandleFactory handleFactory) { this.handleFactory = handleFactory; this.globalResolver = new MapGlobalResolver(); this.workingMemoryEventSupport = new WorkingMemoryEventSupport(); this.agendaEventSupport = new AgendaEventSupport(); this.__ruleBaseEventListeners = new LinkedList(); timeMachine = new TimeMachine(); } public WorkItemManager getWorkItemManager() { return workItemManager; } public void setWorkItemManager(WorkItemManager workItemManager) { this.workItemManager = workItemManager; } public TimeMachine getTimeMachine() { return timeMachine; } public void setTimeMachine(TimeMachine timeMachine) { this.timeMachine = timeMachine; } public FactHandleFactory getHandleFactory() { return handleFactory; } public GlobalResolver getGlobalResolver() { return globalResolver; } public WorkingMemoryEventSupport getWorkingMemoryEventSupport() { return workingMemoryEventSupport; } public AgendaEventSupport getAgendaEventSupport() { return agendaEventSupport; } public List get__ruleBaseEventListeners() { return __ruleBaseEventListeners; } }