/** * Builds an adapter which can deal with only one vehicle. * @return A new created adapter. */ public T buildSingle() { checkArgument(vehicles.size() == 1); return build(); } }
RtSimSolverSchedulerBridge(RealtimeClockController c, RealtimeSolver s, PDPRoadModel rm, PDPModel pm, Set<Vehicle> vehicles, ListeningExecutorService ex, SimSolversManager manager) { solver = s; clock = c; converter = Solvers.converterBuilder() .with(clock) .with(rm) .with(pm) .with(vehicles) .build(); currentSchedule = Optional.absent(); isUpdated = false; reference = this; eventDispatcher = new EventDispatcher(EventType.values()); simSolverEventDispatcher = new EventDispatcher(RtSimSolver.EventType.values()); executor = ex; rtSimSolver = new InternalRtSimSolver(); scheduler = new InternalScheduler(); simSolversManager = manager; solver.init(scheduler); simSolversManager.register(this); solveCount = new AtomicInteger(); }
/** * Creates a builder for creating {@link SimSolver} instances. For more * information see {@link AdapterBuilder}. * @param sol The solver to use internally. * @return The builder. */ public static AdapterBuilder<SimSolver> solverBuilder(Solver sol) { return new AdapterBuilder<>(sol); }
/** * Creates a builder for creating {@link SimulationConverter} instances. * @return The builder. */ public static AdapterBuilder<SimulationConverter> converterBuilder() { return new AdapterBuilder<>(null); }