Package de.sfuhrm.radiobrowser4j
Class RadioBrowser
java.lang.Object
de.sfuhrm.radiobrowser4j.RadioBrowser
API facade for the RadioBrowser.
You usually create a new instance
and then use the methods to invoke API calls.
- Author:
- Stephan Fuhrmann
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRadioBrowser(int timeout, String myUserAgent) Deprecated.This method is deprecated since it can use an obsolete endpoint.RadioBrowser(@NonNull String apiUrl, int timeout, @NonNull String myUserAgent) Creates a new API client using a specific api endpoint.RadioBrowser(@NonNull String apiUrl, int timeout, @NonNull String myUserAgent, String proxyUri, String proxyUser, String proxyPassword) Creates a new API client using a proxy. -
Method Summary
Modifier and TypeMethodDescriptionGet the server statistics.getStationByUUID(@NonNull UUID uuid) Get a station referenced by its UUID.Get a list of all broken stations as one continuous stream.listBrokenStations(@NonNull Limit limit) Get a list of all broken stations.List the known codecs.List the known countries.Deprecated.This API endpoint has been removed.listImprovableStations(@NonNull Limit limit) Deprecated.This API endpoint has been removed.List the known languages.Get a stream of last changed stations.listLastChangedStations(@NonNull Limit limit) Get a list of the last changed stations.Get a stream of last clicked stations.listLastClickStations(@NonNull Limit limit) Get a list of the last clicked stations.listStations(@NonNull Paging paging, ListParameter... listParam) Get a list of all stations.listStations(ListParameter... listParam) Get a list of all stations.listStationsBy(@NonNull Paging paging, @NonNull SearchMode searchMode, @NonNull String searchTerm, ListParameter... listParam) Get a list of stations matching a certain search criteria.listStationsBy(@NonNull SearchMode searchMode, @NonNull String searchTerm, ListParameter... listParam) Get a stream of stations matching a certain search criteria.listStationsWithAdvancedSearch(@NonNull AdvancedSearch advancedSearch) Get a stream of stations matching a certain search criteria.listTags()List the known tags.Get a stream of all top click stations.listTopClickStations(@NonNull Limit limit) Get a list of the top click stations.Get a stream of the top vote stations.listTopVoteStations(@NonNull Limit limit) Get a list of the top vote stations.postNewStation(@NonNull Station station) Posts a new station to the server.resolveStreamUrl(@NonNull UUID stationUUID) Resolves the streaming URL for the given station.voidvoteForStation(@NonNull UUID stationUUID) Votes for a station.
-
Field Details
-
DEFAULT_API_URL
Deprecated.The base URL of the REST service.- See Also:
-
-
Constructor Details
-
RadioBrowser
public RadioBrowser(@NonNull @NonNull String apiUrl, int timeout, @NonNull @NonNull String myUserAgent) Creates a new API client using a specific api endpoint.- Parameters:
apiUrl- the base URL of the API. Can be determined by EndpointDiscovery.discover() or set to DEFAULT_API_URL.timeout- the timeout in milliseconds for connecting and reading.myUserAgent- the user agent string to use. Please use a user agent string that somehow points to your github project, home page, or what ever.
-
RadioBrowser
public RadioBrowser(@NonNull @NonNull String apiUrl, int timeout, @NonNull @NonNull String myUserAgent, String proxyUri, String proxyUser, String proxyPassword) Creates a new API client using a proxy.- Parameters:
apiUrl- the base URL of the API. Can be determined by EndpointDiscovery.discover() or set to DEFAULT_API_URL.timeout- the timeout in milliseconds for connecting and reading.myUserAgent- the user agent string to use. Please use a user agent string that somehow points to your github project, home page, or what ever.proxyUri- optional URI of the proxy server, ornullif no proxy is required.proxyUser- optional username to authenticate with if using a proxy.proxyPassword- optional password to authenticate with if using a proxy
-
RadioBrowser
Deprecated.This method is deprecated since it can use an obsolete endpoint. Using the endpoint discovery and passing the result to one of the other constructors is recommended.Creates a new API client using the default endpoint.- Parameters:
timeout- the timeout for connect and read requests in milliseconds. Must be greater than zero.myUserAgent- the user agent String for your user agent. Please use a user agent string that somehow points to your github project, home page, or what ever.
-
-
Method Details
-
listCountries
List the known countries.- Returns:
- a list of countries (keys) and country usages (values).
- See Also:
-
listCodecs
List the known codecs.- Returns:
- a list of codecs (keys) and codec usages (values).
- See Also:
-
listLanguages
List the known languages.- Returns:
- a list of languages (keys) and language usages (values).
- See Also:
-
listTags
List the known tags.- Returns:
- a list of tags (keys) and tag usages (values).
- See Also:
-
listStations
Get a list of all stations. Will return a single batch.- Parameters:
paging- the offset and limit of the page to retrieve.listParam- the optional listing parameters.- Returns:
- the partial list of the stations. Can be empty for exceeding the possible stations.
-
listStations
Get a list of all stations. Will return all stations in a stream.- Parameters:
listParam- the optional listing parameters.- Returns:
- the full stream of stations.
-
listBrokenStations
Get a list of all broken stations. Will return a single batch.- Parameters:
limit- the limit of the page to retrieve.- Returns:
- the partial list of the broken stations. Can be empty for exceeding the possible stations.
-
listBrokenStations
Get a list of all broken stations as one continuous stream.- Returns:
- the continuous stream of all broken stations.
-
listImprovableStations
Deprecated.This API endpoint has been removed.Get a list of all improvable stations. Will return a single batch.- Parameters:
limit- the limit of the page to retrieve.- Returns:
- an empty list of improvable stations as a placeholder for the removed API endpoint.
-
listImprovableStations
Deprecated.This API endpoint has been removed.Get a list of all broken stations as one continuous stream.- Returns:
- an empty stream of improvable stations as a placeholder for the removed API endpoint.
-
listTopClickStations
Get a list of the top click stations. Will return a single batch.- Parameters:
limit- the limit of the page to retrieve.- Returns:
- the partial list of the top click stations. Can be empty for exceeding the possible stations.
-
listTopClickStations
Get a stream of all top click stations.- Returns:
- the complete stream of all top click stations.
-
listTopVoteStations
Get a list of the top vote stations. Will return a single batch.- Parameters:
limit- the limit of the page to retrieve.- Returns:
- the partial list of the top vote stations. Can be empty for exceeding the possible stations.
-
listTopVoteStations
Get a stream of the top vote stations.- Returns:
- the complete stream of the top vote stations.
-
listLastClickStations
Get a list of the last clicked stations. Will return a single batch.- Parameters:
limit- the limit of the page to retrieve.- Returns:
- the partial list of the last clicked stations. Can be empty for exceeding the possible stations.
-
listLastClickStations
Get a stream of last clicked stations.- Returns:
- the complete stream of the last clicked stations.
-
listLastChangedStations
Get a list of the last changed stations. Will return a single batch.- Parameters:
limit- the limit of the page to retrieve.- Returns:
- the partial list of the last clicked stations. Can be empty for exceeding the possible stations.
-
listLastChangedStations
Get a stream of last changed stations.- Returns:
- the complete stream of the last changed stations.
-
getStationByUUID
Get a station referenced by its UUID.- Parameters:
uuid- the UUID of the station to retrieve.- Returns:
- an optional containing either the station or nothing. Nothing is returned if the API didn't find the station by the given ID.
-
listStationsBy
public List<Station> listStationsBy(@NonNull @NonNull Paging paging, @NonNull @NonNull SearchMode searchMode, @NonNull @NonNull String searchTerm, ListParameter... listParam) Get a list of stations matching a certain search criteria. Will return a single batch.- Parameters:
paging- the offset and limit of the page to retrieve.searchMode- the field to match.searchTerm- the term to search for.listParam- the optional listing parameters.- Returns:
- the partial list of the stations. Can be empty for exceeding the number of matching stations.
-
listStationsBy
public Stream<Station> listStationsBy(@NonNull @NonNull SearchMode searchMode, @NonNull @NonNull String searchTerm, ListParameter... listParam) Get a stream of stations matching a certain search criteria.- Parameters:
searchMode- the field to match.searchTerm- the term to search for.listParam- the optional listing parameters.- Returns:
- the full stream of matching stations.
-
resolveStreamUrl
Resolves the streaming URL for the given station.- Parameters:
stationUUID- the station UUID to retrieve the stream URL for.- Returns:
- the URL of the stream.
- Throws:
RadioBrowserException- if the URL could not be retrieved
-
postNewStation
Posts a new station to the server. Note: This call only transmits certain fields. The fields are: name, url, homepage, favicon, country, state, language and tags.- Parameters:
station- the station to add to the REST service.- Returns:
- the uuid of the new station.
- Throws:
RadioBrowserException- if there was a problem creating the station.- See Also:
-
voteForStation
Votes for a station.- Parameters:
stationUUID- The uuid of the station to vote for.- Throws:
RadioBrowserException- if there was a problem voting for the station.
-
getServerStats
Get the server statistics.- Returns:
- the statistics for the configured server endpoint.
-
listStationsWithAdvancedSearch
public Stream<Station> listStationsWithAdvancedSearch(@NonNull @NonNull AdvancedSearch advancedSearch) Get a stream of stations matching a certain search criteria.- Parameters:
advancedSearch- the advanced search query object. A builder can be created by callingAdvancedSearch.builder(), and then when you are finishedAdvancedSearch.AdvancedSearchBuilder.build().- Returns:
- the full stream of matching stations.
-