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 }