/** * New abstract route planner. */ protected AbstractRoutePlanner() { history = newArrayList(); roadModel = Optional.absent(); pdpModel = Optional.absent(); vehicle = Optional.absent(); eventDispatcher = new EventDispatcher(RoutePlannerEventType.CHANGE); }
/** * Constructor. */ public BlackboardUser() { eventDispatcher = new EventDispatcher(CommunicatorEventType.values()); bcModel = Optional.absent(); claimedParcels = newLinkedHashSet(); }
/** * Decorates the specified graph such that all modifications are monitored. * See {@link ListenableGraph} for more information. * @param delegateGraph The graph to decorate. */ public ListenableGraph(Graph<E> delegateGraph) { super(delegateGraph); eventDispatcher = new EventDispatcher(EventTypes.values()); }
/** * Initializes the model, optionally adding more event types to the * {@link EventDispatcher}. * @param additionalEventTypes Additional event types (may be empty). */ protected GenericRoadModel(Enum<?>... additionalEventTypes) { final Set<Enum<?>> events = new LinkedHashSet<>(); events.addAll(asList(additionalEventTypes)); events.addAll(asList(RoadEventType.values())); eventDispatcher = new EventDispatcher(events); }
StateMachine(State<T, C> start, ImmutableTable<State<T, C>, T, State<T, C>> table, boolean explRecurTrns) { eventDispatcher = new EventDispatcher(StateMachineEvent.values()); startState = start; currentState = start; transitionTable = table; explicitRecursiveTransitions = explRecurTrns; }
StateMachine(State<T, C> start, ImmutableTable<State<T, C>, T, State<T, C>> table, boolean explRecurTrns) { eventDispatcher = new EventDispatcher(StateMachineEvent.values()); startState = start; currentState = start; transitionTable = table; explicitRecursiveTransitions = explRecurTrns; }
/** * Decorates the specified graph such that all modifications are monitored. * See {@link ListenableGraph} for more information. * @param delegateGraph The graph to decorate. */ public ListenableGraph(Graph<E> delegateGraph) { super(delegateGraph); eventDispatcher = new EventDispatcher(EventTypes.values()); }
SimSolverAdapter(SimSolver deleg) { delegate = deleg; eventDispatcher = new EventDispatcher(RtSimSolver.EventType.values()); }
/** * Initializes the PDPModel. * @param twp The {@link TimeWindowPolicy} which is used in the model. */ DefaultPDPModel(RoadModel rm, TimeWindowPolicy twp) { timeWindowPolicy = twp; containerContents = LinkedHashMultimap.create(); containerContentsSize = newLinkedHashMap(); containerCapacities = newLinkedHashMap(); pendingVehicleActions = newLinkedHashMap(); vehicleState = newLinkedHashMap(); parcelState = CategoryMap.create(); eventDispatcher = new EventDispatcher(PDPModelEventType.values()); roadModel = rm; }
AuctionCommModel(AuctionStopCondition<T> sc, Clock c, long maxAuctDurMs, @Nullable RandomGenerator r) { stopCondition = sc; parcelAuctioneerMap = new LinkedHashMap<>(); maxAuctionDurationMs = maxAuctDurMs; rng = r == null ? null : new RandomAdaptor(r); eventDispatcher = new EventDispatcher(EventType.values()); if (c instanceof RealtimeClockController) { clock = (RealtimeClockController) c; } else { clock = null; } numAuctions = new AtomicInteger(); }
TimeModel(AbstractBuilder<?> builder, Enum<?>... additionalEventTypes) { tickListeners = new CopyOnWriteArraySet<>(); final Set<Enum<?>> allEventTypes = ImmutableSet.<Enum<?>>builder() .add(ClockEventType.values()) .add(additionalEventTypes) .build(); eventDispatcher = new EventDispatcher(allEventTypes); // time lapse is reused in a Flyweight kind of style timeLapse = new TimeLapse(builder.getTimeUnit(), 0L, builder.getTickLength()); }
public AbstractBidder(SetFactory factory) { assignedParcels = factory.create(); claimedParcels = factory.create(); eventDispatcher = new EventDispatcher(CommunicatorEventType.values()); roadModel = Optional.absent(); pdpModel = Optional.absent(); vehicle = Optional.absent(); }
ScenarioController(SimulatorAPI sim, ClockController c, Scenario s, ImmutableMap<Class<? extends TimedEvent>, TimedEventHandler<?>> m, int t) { simulator = sim; clock = c; ticks = t; scenario = s; scenarioQueue = scenario.asQueue(); handlers = m; disp = new EventDispatcher(EventType.values()); final ScenarioController sc = this; clock.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) { if (clock.getCurrentTime() == 0) { dispatchSetupEvents(); } if (sc.endOfScenario) { clock.stop(); } } }, Clock.ClockEventType.STARTED); }
ScenarioController(SimulatorAPI sim, ClockController c, Scenario s, ImmutableMap<Class<? extends TimedEvent>, TimedEventHandler<?>> m, int t) { simulator = sim; clock = c; ticks = t; scenario = s; scenarioQueue = scenario.asQueue(); handlers = m; disp = new EventDispatcher(EventType.values()); final ScenarioController sc = this; clock.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) { if (clock.getCurrentTime() == 0) { dispatchSetupEvents(); } if (sc.endOfScenario) { clock.stop(); } } }, Clock.ClockEventType.STARTED); }
@Test public void removeFail() { final EventDispatcher disp = new EventDispatcher(EventTypes.values()); boolean fail = false; try { disp.removeListener(l1, new LinkedHashSet<Enum<?>>(null)); } catch (final NullPointerException e) { fail = true; } assertThat(fail).isTrue(); } }
CommModel(RandomGenerator rng, Builder b) { defaultReliability = b.defaultReliability(); defaultMaxRange = b.defaultMaxRange(); usersHasChanged = false; usersDevices = Maps.synchronizedBiMap( LinkedHashBiMap.<CommUser, CommDevice>create()); unregisteredUsersDevices = LinkedHashBiMap.<CommUser, CommDevice>create(); usersDevicesSnapshot = ImmutableBiMap.of(); eventDispatcher = new EventDispatcher(EventTypes.values()); randomGenerator = rng; }
StatsTracker(ScenarioController scenContr, Clock c, RoadModel rm, PDPModel pm) { clock = c; roadModel = rm; eventDispatcher = new EventDispatcher(StatsProvider.EventTypes.values()); theListener = new TheListener(); scenContr.getEventAPI().addListener(theListener, SCENARIO_STARTED, SCENARIO_FINISHED, SCENARIO_EVENT); roadModel.getEventAPI().addListener(theListener, MOVE); clock.getEventAPI().addListener(theListener, STARTED, STOPPED); pm.getEventAPI() .addListener(theListener, START_PICKUP, END_PICKUP, START_DELIVERY, END_DELIVERY, NEW_PARCEL, NEW_VEHICLE); }
StatsTracker(ScenarioController scenContr, Clock c, RoadModel rm, PDPModel pm) { clock = c; roadModel = rm; eventDispatcher = new EventDispatcher(StatsProvider.EventTypes.values()); theListener = new TheListener(); scenContr.getEventAPI().addListener(theListener, SCENARIO_STARTED, SCENARIO_FINISHED, SCENARIO_EVENT); roadModel.getEventAPI().addListener(theListener, MOVE); clock.getEventAPI().addListener(theListener, STARTED, STOPPED); pm.getEventAPI() .addListener(theListener, START_PICKUP, END_PICKUP, START_DELIVERY, END_DELIVERY, NEW_PARCEL, NEW_VEHICLE); }
@Before public void setup() { l1 = new ListenerEventHistory(); l2 = new ListenerEventHistory(); l3 = new ListenerEventHistory(); dispatcher = new EventDispatcher(EVENT1, EVENT2, EVENT3); api = dispatcher.getPublicEventAPI(); }
@Test public void removeTest() { final EventDispatcher disp = new EventDispatcher(EventTypes.values()); final EventAPI eventAPI = disp.getPublicEventAPI(); assertTrue(disp.listeners.isEmpty()); eventAPI.addListener(l1, EVENT1, EVENT2, EVENT3); assertEquals(3, disp.listeners.size()); assertTrue(disp.listeners.containsEntry(EVENT1, l1)); assertTrue(eventAPI.containsListener(l1, EVENT1)); assertTrue(eventAPI.containsListener(l1, EVENT2)); assertTrue(eventAPI.containsListener(l1, EVENT3)); eventAPI.removeListener(l1); assertTrue(disp.listeners.isEmpty()); assertFalse(eventAPI.containsListener(l1, EVENT1)); assertFalse(eventAPI.containsListener(l1, EVENT2)); assertFalse(eventAPI.containsListener(l1, EVENT3)); }