1 package com.pathfinder.api;
2
3 import java.rmi.Remote;
4 import java.rmi.RemoteException;
5 import java.util.List;
6 import java.util.Properties;
7
8 /**
9 * Part of the external graph traversal API exposed by the routing team
10 * and used by us (booking and tracking team).
11 *
12 */
13 public interface GraphTraversalService extends Remote {
14
15 /**
16 * @param originUnLocode origin UN Locode
17 * @param destinationUnLocode destination UN Locode
18 * @param limitations restrictions on the path selection, as key-value according to some API specification
19 * @return A list of transit paths
20 * @throws RemoteException RMI problem
21 */
22 List<TransitPath> findShortestPath(String originUnLocode,
23 String destinationUnLocode,
24 Properties limitations) throws RemoteException;
25
26 }