package org.mobicents.slee.runtime.eventrouter; import java.util.concurrent.ExecutorService; import org.mobicents.slee.container.SleeContainer; import org.mobicents.slee.runtime.activity.ActivityContextHandle; public class EventRouterActivity { /** * */ private final ActivityContextHandle ach; /** * */ private ExecutorService executorService; /** * */ private final ActivityEventQueueManager eventQueueManager; /** * */ private final PendingAttachementsMonitor pendingAttachementsMonitor; /** * the event context for the event currently being routed */ private EventContextImpl currentEventContext; public EventRouterActivity(ActivityContextHandle ach, PendingAttachementsMonitor pendingAttachementsMonitor, SleeContainer sleeContainer) { this.ach = ach; this.eventQueueManager = new ActivityEventQueueManager(ach,sleeContainer); this.pendingAttachementsMonitor = pendingAttachementsMonitor; } public ActivityEventQueueManager getEventQueueManager() { return eventQueueManager; } public ExecutorService getExecutorService() { return executorService; } protected void setExecutorService(ExecutorService executorService) { this.executorService = executorService; } public PendingAttachementsMonitor getPendingAttachementsMonitor() { return pendingAttachementsMonitor; } public ActivityContextHandle getActivityContextHandle() { return ach; } public EventContextImpl getCurrentEventContext() { return currentEventContext; } public void setCurrentEventContext(EventContextImpl currentEventContext) { this.currentEventContext = currentEventContext; } @Override public boolean equals(Object obj) { if (obj != null && obj.getClass() == this.getClass()) { return ((EventRouterActivity) obj).ach .equals(this.ach); } else { return false; } } @Override public int hashCode() { return ach.hashCode(); } }