Class ApiClient


@Generated(value="org.openapitools.codegen.languages.JavaClientCodegen", comments="Generator version: 7.11.0") public class ApiClient extends JavaTimeFormatter

ApiClient class.

  • Field Details

    • defaultHeaderMap

      protected Map<String,String> defaultHeaderMap
    • defaultCookieMap

      protected Map<String,String> defaultCookieMap
    • basePath

      protected String basePath
    • userAgent

      protected String userAgent
    • servers

      protected List<ServerConfiguration> servers
    • serverIndex

      protected Integer serverIndex
    • serverVariables

      protected Map<String,String> serverVariables
    • operationServers

      protected Map<String,List<ServerConfiguration>> operationServers
    • operationServerIndex

      protected Map<String,Integer> operationServerIndex
    • operationServerVariables

      protected Map<String,Map<String,String>> operationServerVariables
    • debugging

      protected boolean debugging
    • clientConfig

      protected org.glassfish.jersey.client.ClientConfig clientConfig
    • connectionTimeout

      protected int connectionTimeout
    • httpClient

      protected javax.ws.rs.client.Client httpClient
    • json

      protected JSON json
    • tempFolderPath

      protected String tempFolderPath
    • authentications

      protected Map<String,Authentication> authentications
    • authenticationLookup

      protected Map<String,String> authenticationLookup
    • dateFormat

      protected DateFormat dateFormat
  • Constructor Details

    • ApiClient

      public ApiClient()
      Constructs a new ApiClient with default parameters.
    • ApiClient

      public ApiClient(Map<String,Authentication> authMap)
      Constructs a new ApiClient with the specified authentication parameters.
      Parameters:
      authMap - A hash map containing authentication parameters.
  • Method Details

    • getJSON

      public JSON getJSON()
      Gets the JSON instance to do JSON serialization and deserialization.
      Returns:
      JSON
    • getHttpClient

      public javax.ws.rs.client.Client getHttpClient()

      Getter for the field httpClient.

      Returns:
      a Client object.
    • setHttpClient

      public ApiClient setHttpClient(javax.ws.rs.client.Client httpClient)

      Setter for the field httpClient.

      Parameters:
      httpClient - a Client object.
      Returns:
      a ApiClient object.
    • getBasePath

      public String getBasePath()
      Returns the base URL to the location where the OpenAPI document is being served.
      Returns:
      The base URL to the target host.
    • setBasePath

      public ApiClient setBasePath(String basePath)
      Sets the base URL to the location where the OpenAPI document is being served.
      Parameters:
      basePath - The base URL to the target host.
      Returns:
      a ApiClient object.
    • getServers

      public List<ServerConfiguration> getServers()

      Getter for the field servers.

      Returns:
      a List of servers.
    • setServers

      public ApiClient setServers(List<ServerConfiguration> servers)

      Setter for the field servers.

      Parameters:
      servers - a List of servers.
      Returns:
      a ApiClient object.
    • getServerIndex

      public Integer getServerIndex()

      Getter for the field serverIndex.

      Returns:
      a Integer object.
    • setServerIndex

      public ApiClient setServerIndex(Integer serverIndex)

      Setter for the field serverIndex.

      Parameters:
      serverIndex - the server index
      Returns:
      a ApiClient object.
    • getServerVariables

      public Map<String,String> getServerVariables()

      Getter for the field serverVariables.

      Returns:
      a Map of server variables.
    • setServerVariables

      public ApiClient setServerVariables(Map<String,String> serverVariables)

      Setter for the field serverVariables.

      Parameters:
      serverVariables - a Map of server variables.
      Returns:
      a ApiClient object.
    • getAuthentications

      public Map<String,Authentication> getAuthentications()
      Get authentications (key: authentication name, value: authentication).
      Returns:
      Map of authentication object
    • 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 ApiClient setUsername(String username)
      Helper method to set username for the first HTTP basic authentication.
      Parameters:
      username - Username
      Returns:
      a ApiClient object.
    • setPassword

      public ApiClient setPassword(String password)
      Helper method to set password for the first HTTP basic authentication.
      Parameters:
      password - Password
      Returns:
      a ApiClient object.
    • setApiKey

      public ApiClient setApiKey(String apiKey)
      Helper method to set API key value for the first API key authentication.
      Parameters:
      apiKey - API key
      Returns:
      a ApiClient object.
    • configureApiKeys

      public ApiClient configureApiKeys(Map<String,String> secrets)
      Helper method to configure authentications which respects aliases of API keys.
      Parameters:
      secrets - Hash map from authentication name to its secret.
      Returns:
      a ApiClient object.
    • setApiKeyPrefix

      public ApiClient setApiKeyPrefix(String apiKeyPrefix)
      Helper method to set API key prefix for the first API key authentication.
      Parameters:
      apiKeyPrefix - API key prefix
      Returns:
      a ApiClient object.
    • setBearerToken

      public ApiClient setBearerToken(String bearerToken)
      Helper method to set bearer token for the first Bearer authentication.
      Parameters:
      bearerToken - Bearer token
      Returns:
      a ApiClient object.
    • setUserAgent

      public ApiClient setUserAgent(String userAgent)
      Set the User-Agent header's value (by adding to the default header map).
      Parameters:
      userAgent - Http user agent
      Returns:
      a ApiClient object.
    • getUserAgent

      public String getUserAgent()
      Get the User-Agent header's value.
      Returns:
      User-Agent string
    • addDefaultHeader

      public ApiClient addDefaultHeader(String key, String value)
      Add a default header.
      Parameters:
      key - The header's key
      value - The header's value
      Returns:
      a ApiClient object.
    • addDefaultCookie

      public ApiClient addDefaultCookie(String key, String value)
      Add a default cookie.
      Parameters:
      key - The cookie's key
      value - The cookie's value
      Returns:
      a ApiClient object.
    • getClientConfig

      public org.glassfish.jersey.client.ClientConfig getClientConfig()
      Gets the client config.
      Returns:
      Client config
    • setClientConfig

      public ApiClient setClientConfig(org.glassfish.jersey.client.ClientConfig clientConfig)
      Set the client config.
      Parameters:
      clientConfig - Set the client config
      Returns:
      a ApiClient object.
    • isDebugging

      public boolean isDebugging()
      Check that whether debugging is enabled for this API client.
      Returns:
      True if debugging is switched on
    • setDebugging

      public ApiClient setDebugging(boolean debugging)
      Enable/disable debugging for this API client.
      Parameters:
      debugging - To enable (true) or disable (false) debugging
      Returns:
      a ApiClient object.
    • getTempFolderPath

      public String getTempFolderPath()
      The path of temporary folder used to store downloaded files from endpoints with file response. The default value is null, i.e. using the system's default temporary folder.
      Returns:
      Temp folder path
    • setTempFolderPath

      public ApiClient setTempFolderPath(String tempFolderPath)
      Set temp folder path
      Parameters:
      tempFolderPath - Temp folder path
      Returns:
      a ApiClient object.
    • getConnectTimeout

      public int getConnectTimeout()
      Connect timeout (in milliseconds).
      Returns:
      Connection timeout
    • setConnectTimeout

      public ApiClient setConnectTimeout(int connectionTimeout)
      Set the connect timeout (in milliseconds). A value of 0 means no timeout, otherwise values must be between 1 and Integer.MAX_VALUE.
      Parameters:
      connectionTimeout - Connection timeout in milliseconds
      Returns:
      a ApiClient object.
    • getReadTimeout

      public int getReadTimeout()
      read timeout (in milliseconds).
      Returns:
      Read timeout
    • setReadTimeout

      public ApiClient setReadTimeout(int readTimeout)
      Set the read timeout (in milliseconds). A value of 0 means no timeout, otherwise values must be between 1 and Integer.MAX_VALUE.
      Parameters:
      readTimeout - Read timeout in milliseconds
      Returns:
      a ApiClient object.
    • getDateFormat

      public DateFormat getDateFormat()
      Get the date format used to parse/format date parameters.
      Returns:
      Date format
    • setDateFormat

      public ApiClient setDateFormat(DateFormat dateFormat)
      Set the date format used to parse/format date parameters.
      Parameters:
      dateFormat - Date format
      Returns:
      a ApiClient object.
    • parseDate

      public Date parseDate(String str)
      Parse the given string into Date object.
      Parameters:
      str - String
      Returns:
      Date
    • formatDate

      public String formatDate(Date date)
      Format the given Date object into string.
      Parameters:
      date - Date
      Returns:
      Date in string format
    • parameterToString

      public String parameterToString(Object param)
      Format the given parameter object into string.
      Parameters:
      param - Object
      Returns:
      Object in string format
    • 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 "*/*" is also considered JSON by this method.
      Parameters:
      mime - MIME
      Returns:
      True if the MIME type is JSON
    • 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 - String
      Returns:
      Escaped string
    • serialize

      public javax.ws.rs.client.Entity<?> serialize(Object obj, Map<String,Object> formParams, String contentType, boolean isBodyNullable) throws ApiException
      Serialize the given Java object into string entity according the given Content-Type (only JSON is supported for now).
      Parameters:
      obj - Object
      formParams - Form parameters
      contentType - Context type
      Returns:
      Entity
      Throws:
      ApiException - API exception
    • serializeToString

      public String serializeToString(Object obj, Map<String,Object> formParams, String contentType, boolean isBodyNullable) throws ApiException
      Serialize the given Java object into string according the given Content-Type (only JSON, HTTP form is supported for now).
      Parameters:
      obj - Object
      formParams - Form parameters
      contentType - Context type
      isBodyNullable - True if the body is nullable
      Returns:
      String
      Throws:
      ApiException - API exception
    • deserialize

      public <T> T deserialize(javax.ws.rs.core.Response response, javax.ws.rs.core.GenericType<T> returnType) throws ApiException
      Deserialize response body to Java object according to the Content-Type.
      Type Parameters:
      T - Type
      Parameters:
      response - Response
      returnType - Return type
      Returns:
      Deserialize object
      Throws:
      ApiException - API exception
    • downloadFileFromResponse

      public File downloadFileFromResponse(javax.ws.rs.core.Response response) throws ApiException
      Download file from the given response.
      Parameters:
      response - Response
      Returns:
      File
      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

      Prepare the file for download from the response.

      Parameters:
      response - a Response object.
      Returns:
      a File object.
      Throws:
      IOException - if any.
    • invokeAPI

      public <T> ApiResponse<T> invokeAPI(String operation, 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, boolean isBodyNullable) throws ApiException
      Invoke API by sending HTTP request with the given options.
      Type Parameters:
      T - Type
      Parameters:
      operation - The qualified name of the operation
      path - The sub-path of the HTTP URL
      method - The request method, one of "GET", "POST", "PUT", "HEAD" and "DELETE"
      queryParams - The query parameters
      body - The request body object
      headerParams - The header parameters
      cookieParams - The cookie parameters
      formParams - The form parameters
      accept - The request's Accept header
      contentType - The request's Content-Type header
      authNames - The authentications to apply
      returnType - The return type into which to deserialize the response
      isBodyNullable - True if the body is nullable
      Returns:
      The response body in type of string
      Throws:
      ApiException - API exception
    • invokeAPI

      @Deprecated public <T> ApiResponse<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, boolean isBodyNullable) throws ApiException
      Deprecated.
      Add qualified name of the operation as a first parameter.
      Throws:
      ApiException
    • buildHttpClient

      protected javax.ws.rs.client.Client buildHttpClient()
      Build the Client used to make HTTP requests.
      Returns:
      Client
    • getDefaultClientConfig

      public org.glassfish.jersey.client.ClientConfig getDefaultClientConfig()
      Get the default client config.
      Returns:
      Client config
    • customizeClientBuilder

      protected void customizeClientBuilder(javax.ws.rs.client.ClientBuilder clientBuilder)
      Customize the client builder. This method can be overridden to customize the API client. For example, this can be used to: 1. Set the hostname verifier to be used by the client to verify the endpoint's hostname against its identification information. 2. Set the client-side key store. 3. Set the SSL context that will be used when creating secured transport connections to server endpoints from web targets created by the client instance that is using this SSL context. 4. Set the client-side trust store. To completely disable certificate validation (at your own risk), you can override this method and invoke disableCertificateValidation(clientBuilder).
      Parameters:
      clientBuilder - a ClientBuilder object.
    • disableCertificateValidation

      protected void disableCertificateValidation(javax.ws.rs.client.ClientBuilder clientBuilder) throws KeyManagementException, NoSuchAlgorithmException
      Disable X.509 certificate validation in TLS connections. Please note that trusting all certificates is extremely risky. This may be useful in a development environment with self-signed certificates.
      Parameters:
      clientBuilder - a ClientBuilder object.
      Throws:
      KeyManagementException - if any.
      NoSuchAlgorithmException - if any.
    • buildResponseHeaders

      protected Map<String,List<String>> buildResponseHeaders(javax.ws.rs.core.Response response)

      Build the response headers.

      Parameters:
      response - a Response object.
      Returns:
      a Map of response headers.
    • updateParamsForAuth

      protected void updateParamsForAuth(String[] authNames, List<Pair> queryParams, Map<String,String> headerParams, Map<String,String> cookieParams, String payload, String method, URI uri) throws ApiException
      Update query and header parameters based on authentication settings.
      Parameters:
      authNames - The authentications to apply
      queryParams - List of query parameters
      headerParams - Map of header parameters
      cookieParams - Map of cookie parameters
      method - HTTP method (e.g. POST)
      uri - HTTP URI
      Throws:
      ApiException