Package de.jsyn.unifi.controller.client
Class ApiClient
- java.lang.Object
-
- de.jsyn.unifi.controller.client.JavaTimeFormatter
-
- de.jsyn.unifi.controller.client.ApiClient
-
@Generated(value="org.openapitools.codegen.languages.JavaClientCodegen", date="2021-01-10T13:02:45.197345+01:00[Europe/Berlin]") public class ApiClient extends JavaTimeFormatter
-
-
Constructor Summary
Constructors Constructor Description ApiClient()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ApiClientaddDefaultHeader(String key, String value)Add a default header.<T> Tdeserialize(javax.ws.rs.core.Response response, javax.ws.rs.core.GenericType<T> returnType)Deserialize response body to Java object according to the Content-Type.FiledownloadFileFromResponse(javax.ws.rs.core.Response response)Download file from the given response.StringescapeString(String str)Escape the given string to be used as URL query value.StringformatDate(Date date)Format the given Date object into string.AuthenticationgetAuthentication(String authName)Get authentication for the given name.Map<String,Authentication>getAuthentications()Get authentications (key: authentication name, value: authentication).StringgetBasePath()DateFormatgetDateFormat()Get the date format used to parse/format date parameters.javax.ws.rs.client.ClientgetHttpClient()JSONgetJSON()Gets the JSON instance to do JSON serialization and deserialization.Map<String,List<String>>getResponseHeaders()Gets the response headers of the previous requestintgetStatusCode()Gets the status code of the previous requestStringgetTempFolderPath()The path of temporary folder used to store downloaded files from endpoints with file response.<T> TinvokeAPI(String path, String method, List<Pair> queryParams, Object body, Map<String,String> headerParams, Map<String,String> cookieParams, Map<String,Object> formParams, String accept, String contentType, String[] authNames, javax.ws.rs.core.GenericType<T> returnType)Invoke API by sending HTTP request with the given options.booleanisDebugging()Check that whether debugging is enabled for this API client.booleanisJsonMime(String mime)Check if the given MIME is a JSON MIME.List<Pair>parameterToPairs(String collectionFormat, String name, Object value)StringparameterToString(Object param)Format the given parameter object into string.DateparseDate(String str)Parse the given string into Date object.FileprepareDownloadFile(javax.ws.rs.core.Response response)StringselectHeaderAccept(String[] accepts)Select the Accept header's value from the given accepts array: if JSON exists in the given array, use it; otherwise use all of them (joining into a string)StringselectHeaderContentType(String[] contentTypes)Select the Content-Type header's value from the given array: if JSON exists in the given array, use it; otherwise use the first one of the array.javax.ws.rs.client.Entity<?>serialize(Object obj, Map<String,Object> formParams, String contentType)Serialize the given Java object into string entity according the given Content-Type (only JSON is supported for now).voidsetApiKey(String apiKey)Helper method to set API key value for the first API key authentication.voidsetApiKeyPrefix(String apiKeyPrefix)Helper method to set API key prefix for the first API key authentication.ApiClientsetBasePath(String basePath)ApiClientsetDateFormat(DateFormat dateFormat)Set the date format used to parse/format date parameters.ApiClientsetDebugging(boolean debugging)Enable/disable debugging for this API client.ApiClientsetHttpClient(javax.ws.rs.client.Client httpClient)voidsetPassword(String password)Helper method to set password for the first HTTP basic authentication.ApiClientsetTempFolderPath(String tempFolderPath)ApiClientsetUserAgent(String userAgent)Set the User-Agent header's value (by adding to the default header map).voidsetUsername(String username)Helper method to set username for the first HTTP basic authentication.-
Methods inherited from class de.jsyn.unifi.controller.client.JavaTimeFormatter
formatOffsetDateTime, getOffsetDateTimeFormatter, parseOffsetDateTime, setOffsetDateTimeFormatter
-
-
-
-
Method Detail
-
getJSON
public JSON getJSON()
Gets the JSON instance to do JSON serialization and deserialization.- Returns:
- the JSON utility class
-
getHttpClient
public javax.ws.rs.client.Client getHttpClient()
-
setHttpClient
public ApiClient setHttpClient(javax.ws.rs.client.Client httpClient)
-
getBasePath
public String getBasePath()
-
getStatusCode
public int getStatusCode()
Gets the status code of the previous request- Returns:
- the status code of the previous request
-
getResponseHeaders
public Map<String,List<String>> getResponseHeaders()
Gets the response headers of the previous request- Returns:
- the response headers of the previous request
-
getAuthentications
public Map<String,Authentication> getAuthentications()
Get authentications (key: authentication name, value: authentication).- Returns:
- the authentications
-
getAuthentication
public Authentication getAuthentication(String authName)
Get authentication for the given name.- Parameters:
authName- The authentication name- Returns:
- The authentication, null if not found
-
setUsername
public void setUsername(String username)
Helper method to set username for the first HTTP basic authentication.- Parameters:
username- the username
-
setPassword
public void setPassword(String password)
Helper method to set password for the first HTTP basic authentication.- Parameters:
password- the password
-
setApiKey
public void setApiKey(String apiKey)
Helper method to set API key value for the first API key authentication.- Parameters:
apiKey- the API key
-
setApiKeyPrefix
public void setApiKeyPrefix(String apiKeyPrefix)
Helper method to set API key prefix for the first API key authentication.- Parameters:
apiKeyPrefix- the API key prefix
-
setUserAgent
public ApiClient setUserAgent(String userAgent)
Set the User-Agent header's value (by adding to the default header map).- Parameters:
userAgent- the User-Agent header value- Returns:
- this
ApiClient
-
addDefaultHeader
public ApiClient addDefaultHeader(String key, String value)
Add a default header.- Parameters:
key- The header's keyvalue- The header's value- Returns:
- this
ApiClient
-
isDebugging
public boolean isDebugging()
Check that whether debugging is enabled for this API client.- Returns:
trueif debugging is enabled for this API client
-
setDebugging
public ApiClient setDebugging(boolean debugging)
Enable/disable debugging for this API client.- Parameters:
debugging- To enable (true) or disable (false) debugging- Returns:
- this
ApiClient
-
getTempFolderPath
public String getTempFolderPath()
The path of temporary folder used to store downloaded files from endpoints with file response. The default value isnull, i.e. using the system's default tempopary folder.
-
getDateFormat
public DateFormat getDateFormat()
Get the date format used to parse/format date parameters.- Returns:
- the date format used to parse/format date parameters
-
setDateFormat
public ApiClient setDateFormat(DateFormat dateFormat)
Set the date format used to parse/format date parameters.- Parameters:
dateFormat- a date format used to parse/format date parameters- Returns:
- this
ApiClient
-
parseDate
public Date parseDate(String str)
Parse the given string into Date object.- Parameters:
str- a string to parse- Returns:
- a
Dateobject
-
formatDate
public String formatDate(Date date)
Format the given Date object into string.- Parameters:
date- aDateobject to format- Returns:
- the
Stringversion of theDateobject
-
parameterToString
public String parameterToString(Object param)
Format the given parameter object into string.- Parameters:
param- an object to format- Returns:
- the
Stringversion of the object
-
parameterToPairs
public List<Pair> parameterToPairs(String collectionFormat, String name, Object value)
-
isJsonMime
public boolean isJsonMime(String mime)
Check if the given MIME is a JSON MIME. JSON MIME examples: application/json application/json; charset=UTF8 APPLICATION/JSON application/vnd.company+json- Parameters:
mime- MIME (Multipurpose Internet Mail Extensions)- Returns:
- True if the given MIME is JSON, false otherwise.
-
selectHeaderAccept
public String selectHeaderAccept(String[] accepts)
Select the Accept header's value from the given accepts array: if JSON exists in the given array, use it; otherwise use all of them (joining into a string)- Parameters:
accepts- The accepts array to select from- Returns:
- The Accept header to use. If the given array is empty, null will be returned (not to set the Accept header explicitly).
-
selectHeaderContentType
public String selectHeaderContentType(String[] contentTypes)
Select the Content-Type header's value from the given array: if JSON exists in the given array, use it; otherwise use the first one of the array.- Parameters:
contentTypes- The Content-Type array to select from- Returns:
- The Content-Type header to use. If the given array is empty, JSON will be used.
-
escapeString
public String escapeString(String str)
Escape the given string to be used as URL query value.- Parameters:
str- aStringto escape- Returns:
- the escaped version of the
String
-
serialize
public javax.ws.rs.client.Entity<?> serialize(Object obj, Map<String,Object> formParams, String contentType) throws ApiException
Serialize the given Java object into string entity according the given Content-Type (only JSON is supported for now).- Parameters:
obj- the object to serializeformParams- the form parameterscontentType- the content type- Returns:
- an
Entity - Throws:
ApiException- on failure to serialize
-
deserialize
public <T> T deserialize(javax.ws.rs.core.Response response, javax.ws.rs.core.GenericType<T> returnType) throws ApiExceptionDeserialize response body to Java object according to the Content-Type.- Type Parameters:
T- a Java type parameter- Parameters:
response- the response body to deserializereturnType- a Java type to deserialize into- Returns:
- a deserialized Java object
- Throws:
ApiException- on failure to deserialize
-
downloadFileFromResponse
public File downloadFileFromResponse(javax.ws.rs.core.Response response) throws ApiException
Download file from the given response.- Parameters:
response- a response- Returns:
- a file from the given response
- Throws:
ApiException- If fail to read file content from response and write to disk
-
prepareDownloadFile
public File prepareDownloadFile(javax.ws.rs.core.Response response) throws IOException
- Throws:
IOException
-
invokeAPI
public <T> T invokeAPI(String path, String method, List<Pair> queryParams, Object body, Map<String,String> headerParams, Map<String,String> cookieParams, Map<String,Object> formParams, String accept, String contentType, String[] authNames, javax.ws.rs.core.GenericType<T> returnType) throws ApiException
Invoke API by sending HTTP request with the given options.- Type Parameters:
T- a Java type parameter- Parameters:
path- The sub-path of the HTTP URLmethod- The request method, one of "GET", "POST", "PUT", "HEAD" and "DELETE"queryParams- The query parametersbody- The request body objectheaderParams- The header parameterscookieParams- The cookie parametersformParams- The form parametersaccept- The request's Accept headercontentType- The request's Content-Type headerauthNames- The authentications to applyreturnType- The return type into which to deserialize the response- Returns:
- The response body in type of string
- Throws:
ApiException- if the invocation failed
-
-