Java client for URA based public transport APIs.
This client allows to simply connect any Java application to the public transport API to implement a monitor for the local bus station or any other custom queries. API versions 1.x and 2.x are supported.
Version 2.x requires Java 11 or later. It also contains some new features and allows configuration using a dedicated configuration object.
Version 1.x requires Java 8 or later. This version is no longer supported and will not receive any future updates.
// Instantiate the client.
UraClient ura = new UraClient("https://ura.example.com");
// Initialize the API with non-standard endpoints.
UraClient ura = new UraClient("https://ura.example.com",
"interfaces/ura/instant_V2",
"interfaces/ura/stream_V2");
// Initialization with configuration builder (Client v2.x)
UraClient ura = new UraClient(
UraClientConfiguration.forBaseURL("https://ura.example.com")
.withInstantPath("interfaces/ura/instant_V2")
.withStreamPath("interfaces/ura/stream_V2")
.withConnectTimeout(Duration.ofSeconds(2))
.withTimeout(Duration.ofSeconds(10))
.build()
);
// List ALL available stops
List<Stop> stops = ura.getStops();
// List available stops in a 200m radius around given coordinates
List<Stop> stops = ura.forPosition(51.51009, -0.1345734, 200)
.getStops();
// Get next 10 trips for given stops and lines in a single direction (all filters optional)
List<Trip> trips = ura.forStops("100000")
.forLines("25", "35")
.forDirection(1)
.getTrips(10);
// Get trips from given stop towards your destination
List<Trip> trips = ura.forStopsByName("Piccadilly Circus")
.towards("Marble Arch")
.getTrips();
// Get next 10 trips for given stops and lines in a single direction (all filters optional)
List<Message> msgs = ura.forStops("100000")
.getMessages();
<dependency>
<groupId>de.stklcode.pubtrans</groupId>
<artifactId>juraclient</artifactId>
<version>2.0.7</version>
</dependency>
The project is licensed under Apache License 2.0.