1 package org.simantics.district.route;
5 import org.simantics.db.Resource;
8 * @author Tuukka Lehtonen
10 public interface Router {
13 * @return descriptive name of the router
15 default String name() {
20 * Must be invoked outside of any transaction realm, like a database request or
21 * experiment thread, preferably from a background job thread.
23 * @param config reserved for future use, may be <code>null</code>
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<Resource> findShortestPath(RouterConfiguration config, List<Resource> wayPoints) throws RoutingException;