diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/state/StateManager.java b/jsprit-core/src/main/java/jsprit/core/algorithm/state/StateManager.java index 37125436..fc23cf9d 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/state/StateManager.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/state/StateManager.java @@ -151,7 +151,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart addDefaultStates(); } - public void putDefaultProblemState(StateId stateId, Class type, T defaultState){ + public void addDefaultProblemState(StateId stateId, Class type, T defaultState){ defaultProblemStates_.putState(stateId, type, defaultState); } @@ -403,7 +403,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart /** * Adds state updater. * - *

Note that a state update occurs if route and/or activity states change, i.e. if jobs are removed + *

Note that a state update occurs if route and/or activity states have changed, i.e. if jobs are removed * or inserted into a route. Thus here, it is assumed that a state updater is either of type InsertionListener, * RuinListener, ActivityVisitor, ReverseActivityVisitor, RouteVisitor, ReverseRouteVisitor. * @@ -421,6 +421,8 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart updaters.add(updater); } + + Collection getStateUpdaters(){ return Collections.unmodifiableCollection(updaters); } diff --git a/jsprit-core/src/test/java/jsprit/core/algorithm/state/StateManagerTest.java b/jsprit-core/src/test/java/jsprit/core/algorithm/state/StateManagerTest.java index 620c808b..79ce1316 100644 --- a/jsprit-core/src/test/java/jsprit/core/algorithm/state/StateManagerTest.java +++ b/jsprit-core/src/test/java/jsprit/core/algorithm/state/StateManagerTest.java @@ -167,7 +167,7 @@ public class StateManagerTest { public void whenProblemStateIsSetAndStateManagerClearedAfterwards_itReturnsDefault(){ StateManager stateManager = new StateManager(mock(VehicleRoutingTransportCosts.class)); StateId id = StateFactory.createId("problemState"); - stateManager.putDefaultProblemState(id, Boolean.class, false); + stateManager.addDefaultProblemState(id, Boolean.class, false); stateManager.putProblemState(id, Boolean.class, true); stateManager.clear(); boolean problemState = stateManager.getProblemState(id, Boolean.class);