Class AlgorithmEventAdapter

java.lang.Object
com.graphhopper.jsprit.core.algorithm.listener.AlgorithmEventAdapter
All Implemented Interfaces:
IterationStartsListener, SearchStrategyModuleListener, StrategySelectedListener, VehicleRoutingAlgorithmListener, InsertionEndsListener, InsertionListener, InsertionStartsListener, JobInsertedListener, JobUnassignedListener, RuinListener

Adapter that bridges the existing fragmented listener interfaces to the unified event system.

This adapter implements all the existing listener interfaces (RuinListener, JobInsertedListener, etc.) and translates their callbacks into unified AlgorithmEvent instances that are emitted via the VehicleRoutingAlgorithm's event system.

Usage:


 VehicleRoutingAlgorithm algorithm = ...;
 AlgorithmEventAdapter adapter = new AlgorithmEventAdapter(algorithm);
 algorithm.addListener(adapter);

 // Now add event listeners for the unified events
 algorithm.addEventListener(event -> {
     switch (event) {
         case JobRemoved e -> System.out.println("Job removed: " + e.job().getId());
         case JobInserted e -> System.out.println("Job inserted: " + e.job().getId());
         default -> {}
     }
 });