1 package org.simantics.district.route;
5 import org.simantics.db.Resource;
6 import org.simantics.db.layer0.variable.Variable;
9 * @author Tuukka Lehtonen
11 public interface Router {
14 * @return descriptive name of the router
16 default String name() {
21 * Must be invoked outside of any transaction realm, like a database request or
22 * experiment thread, preferably from a background job thread.
24 * @param wayPoints waypoints for the route to find in visiting order. The
25 * resources must represents district network diagram elements.
26 * @return the piece-wise shortest path between the specified waypoints as a
27 * fully baked path of district network diagram element resources
28 * @throws RoutingException in case of any problems in routing
30 List<Variable> findShortestPath(RouterConfiguration config, List<Resource> wayPoints) throws RoutingException;