Package de.stklcode.pubtrans.ura
Class UraClient
java.lang.Object
de.stklcode.pubtrans.ura.UraClient
- All Implemented Interfaces:
Serializable
Client for URA based public transport API.
This client features builder pattern style query functionality to obtain Trip and Stop information.
- Author:
- Stefan Kalscheuer
- See Also:
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal UraClient.QueryforDestinationNames(String... destinationNames) Builder pattern to request given destination names.final UraClient.QueryforDirection(Integer direction) Builder pattern to request given direction.final UraClient.QueryBuilder pattern to request given line IDs.final UraClient.QueryforLinesByName(String... lineNames) Builder pattern to request given line names.final UraClient.QueryforPosition(Double latitude, Double longitude, Integer radius) Builder pattern to request given destination names.final UraClient.QueryBuilder pattern to request given stop IDs.final UraClient.QueryforStopsByName(String... stopNames) Builder pattern to request given stop names.Get list of messages.getMessages(UraClient.Query query) Get list of messages.getMessages(UraClient.Query query, Integer limit) Get list of messages for given stopIDs with result limit.getStops()Get list of stops without filters.getStops(UraClient.Query query) List available stopIDs.getTrips()Get list of trips.getTrips(UraClient.Query query) Get list of trips.getTrips(UraClient.Query query, Integer limit) Get list of trips for given stopIDs and lineIDs with result limit.Get list of trips with limit.getTripsStream(UraClient.Query query, Consumer<Trip> consumer) Get trips for given stopIDs and lineIDs using stream API and pass each result to given consumer.getTripsStream(UraClient.Query query, List<Consumer<Trip>> consumers) Get trips for given stopIDs and lineIDs using stream API and pass each result to given consumers.final UraClient.QueryBuilder pattern to request given direction defined by stop point name.
-
Constructor Details
-
UraClient
Constructor with base URL and default API paths.- Parameters:
baseURL- The base URL (with protocol, without trailing slash).
-
UraClient
Constructor with base URL and custom API paths.- Parameters:
baseURL- The base URL (including protocol).instantURL- The path for instant requests.streamURL- The path for stream requests.
-
-
Method Details
-
forStops
Builder pattern to request given stop IDs.- Parameters:
stops- Stop IDs- Returns:
- the request
-
forStopsByName
Builder pattern to request given stop names.- Parameters:
stopNames- Stop Point Names- Returns:
- the request
-
forLines
Builder pattern to request given line IDs.- Parameters:
lines- Line IDs.- Returns:
- The request.
-
forLinesByName
Builder pattern to request given line names.- Parameters:
lineNames- Line names.- Returns:
- The request.
-
forDirection
Builder pattern to request given direction.- Parameters:
direction- The direction ID.- Returns:
- The request.
-
forDestinationNames
Builder pattern to request given destination names.- Parameters:
destinationNames- Destination names.- Returns:
- The request.
- Since:
- 1.1.0
-
towards
Builder pattern to request given direction defined by stop point name.- Parameters:
towards- Towards stop point names.- Returns:
- The request.
- Since:
- 1.1.0
-
forPosition
Builder pattern to request given destination names.- Parameters:
latitude- Latitude (WGS84).longitude- Longitude (WGS84).radius- Search radius (meters).- Returns:
- The request.
- Since:
- 1.1.0
-
getTrips
Get list of trips. If forStops() and/or forLines() has been called, those will be used as filter.- Returns:
- List of trips.
-
getTrips
Get list of trips with limit. If forStops() and/or forLines() has been called, those will be used as filter.- Parameters:
limit- Maximum number of results.- Returns:
- List of trips.
-
getTrips
Get list of trips. If forStops() and/or forLines() has been called, those will be used as filter.- Parameters:
query- The query.- Returns:
- List of trips.
-
getTrips
Get list of trips for given stopIDs and lineIDs with result limit.- Parameters:
query- The query.limit- Maximum number of results.- Returns:
- List of trips.
-
getTripsStream
public AsyncUraTripReader getTripsStream(UraClient.Query query, Consumer<Trip> consumer) throws IOException Get trips for given stopIDs and lineIDs using stream API and pass each result to given consumer.- Parameters:
query- The query.consumer- Consumer(s) for single trips.- Returns:
- Trip reader.
- Throws:
IOException- Error reading response.- Since:
- 1.2.0
- See Also:
-
getTripsStream
public AsyncUraTripReader getTripsStream(UraClient.Query query, List<Consumer<Trip>> consumers) throws IOException Get trips for given stopIDs and lineIDs using stream API and pass each result to given consumers.- Parameters:
query- The query.consumers- Consumer(s) for single trips.- Returns:
- Trip reader.
- Throws:
IOException- Error retrieving stream response.- Since:
- 1.2.0
-
getStops
Get list of stops without filters.- Returns:
- The list of stops.
-
getStops
List available stopIDs. If forStops() and/or forLines() has been called, those will be used as filter.- Parameters:
query- The query.- Returns:
- The list.
-
getMessages
Get list of messages.- Returns:
- List of messages.
- Since:
- 1.3
-
getMessages
Get list of messages. If forStops() has been called, those will be used as filter.- Parameters:
query- The query.- Returns:
- List of trips.
- Since:
- 1.3
-
getMessages
Get list of messages for given stopIDs with result limit.- Parameters:
query- The query.limit- Maximum number of results.- Returns:
- List of trips.
- Since:
- 1.3
-