Interface TransitDataService

  • All Superinterfaces:
    All Known Implementing Classes:

    public interface TransitDataService
    extends FederatedService
    The TransitDataService is the primary interface separating user-interface modules that access transit data from the data providers that contain the data. The service is a FederatedService, which means that multiple TransitDataService instances covering transit agencies across the county can be stitched into one virtual service that seamlessly passes calls to the appropriate underlying instance. As such, you'll notice that all the service methods here are annotated with @FederatedBy... annotations that give hints how the method should be dispatched between multiple instances. Note that all methods return "bean" objects, which are POJOs designed for flexibility in over-the-wire serialization for RPC and are separate from the underlying representations in the datastore. Implementation Note: when adding methods to this interface, do not introduce multiple methods with the same name and different arguments, as this seems to confuse Hessian proxies of the interface. Additionally, each method must specify a @FederatedBy... annotation indicating how the method will be dispatched in a federated deployment.