Interface HttpRestClient

All Superinterfaces:
org.refcodes.web.BaseUrlAccessor, org.refcodes.web.BaseUrlAccessor.BaseUrlBuilder<HttpRestClient>, org.refcodes.web.BaseUrlAccessor.BaseUrlMutator, org.refcodes.web.BaseUrlAccessor.BaseUrlProperty, org.refcodes.web.BasicAuthCredentialsAccessor, org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsBuilder<RestClient>, org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsMutator, org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsProperty, org.refcodes.component.Closable, org.refcodes.component.ConnectionComponent<org.refcodes.web.HttpClientContext>, org.refcodes.component.ConnectionOpenable<org.refcodes.web.HttpClientContext>, org.refcodes.component.ConnectionStatusAccessor, org.refcodes.component.LinkComponent, org.refcodes.web.MediaTypeFactoryLookup, org.refcodes.web.MediaTypeFactoryLookup.MutableMediaTypeFactoryLookup, org.refcodes.web.OauthTokenAccessor, org.refcodes.web.OauthTokenAccessor.OauthTokenBuilder<RestClient>, org.refcodes.web.OauthTokenAccessor.OauthTokenMutator, org.refcodes.web.OauthTokenAccessor.OauthTokenProperty, org.refcodes.component.Openable, org.refcodes.component.Openable.OpenBuilder<HttpRestClient>, org.refcodes.component.OpenedAccessor, org.refcodes.runtime.RequestCorrelation<RestClient>, RestClient, RestDeleteClient, RestGetClient, RestPostClient, RestPutClient, RestRequestClient, RestRequestHandler, org.refcodes.runtime.SessionCorrelation<RestClient>, org.refcodes.security.TrustStoreDescriptorAccessor, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<HttpRestClient>, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorMutator, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty, org.refcodes.web.UserAgentAccessor, org.refcodes.web.UserAgentAccessor.UserAgentBuilder<RestClient>, org.refcodes.web.UserAgentAccessor.UserAgentMutator, org.refcodes.web.UserAgentAccessor.UserAgentProperty
All Known Subinterfaces:
HttpDiscoveryRestClient<B>
All Known Implementing Classes:
AbstractHttpDiscoveryRestClientDecorator, AbstractHttpRestClientDecorator, HttpRestClientImpl, HttpRestClientSingleton

public interface HttpRestClient extends org.refcodes.component.ConnectionStatusAccessor, org.refcodes.component.ConnectionComponent<org.refcodes.web.HttpClientContext>, RestClient, org.refcodes.component.LinkComponent, org.refcodes.component.Openable.OpenBuilder<HttpRestClient>, org.refcodes.web.BaseUrlAccessor.BaseUrlProperty, org.refcodes.web.BaseUrlAccessor.BaseUrlBuilder<HttpRestClient>, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<HttpRestClient>
Extends a RestClient to be capable of providing a User-Agent with UserAgentAccessor.UserAgentMutator.setUserAgent(String) (withUserAgent(String)) and to be capable of using base URLs to be set with BaseUrlAccessor.BaseUrlMutator.setBaseUrl(String) ( withBaseUrl(String)). This type is intended to be used by different separate hierarchy branches by providing the generic type <B>, ensuring a coherent type hierarchy for each branch. To prepare HTTPS connections, use the methods such as: open(Url, TrustStoreDescriptor) or open(HttpClientContext). A HttpRestClient can be shutdown via Closable.close().
  • Field Details

  • Method Details

    • open

      default void open() throws IOException
      Specified by:
      open in interface org.refcodes.component.Openable
      Throws:
      IOException
    • open

      default void open(org.refcodes.web.HttpClientContext aCtx) throws IOException
      Specified by:
      open in interface org.refcodes.component.ConnectionOpenable<org.refcodes.web.HttpClientContext>
      Throws:
      IOException
    • open

      default void open(org.refcodes.security.TrustStoreDescriptor aStoreDescriptor) throws IOException
      Configures the HTTPS client connection with the provided configuration parameters.
      Parameters:
      aStoreDescriptor - The TrustStoreDescriptor pointing to your KeyStore.
      Throws:
      IOException - thrown in case something went wrong.
    • open

      default void open(org.refcodes.web.Url aBaseUrl) throws IOException
      Configures the HTTPS client connection with the provided configuration parameters.
      Parameters:
      aBaseUrl - The base Url to be used.
      Throws:
      IOException - thrown in case something went wrong.
    • open

      void open(org.refcodes.web.Url aBaseUrl, org.refcodes.security.TrustStoreDescriptor aStoreDescriptor) throws IOException
      Configures the HTTPS client connection with the provided configuration parameters.
      Parameters:
      aBaseUrl - The base Url to be used.
      aStoreDescriptor - The TrustStoreDescriptor pointing to your KeyStore.
      Throws:
      IOException - thrown in case something went wrong.
    • withOpen

      default HttpRestClient withOpen() throws IOException
      Open the component's connection(s).
      Specified by:
      withOpen in interface org.refcodes.component.Openable.OpenBuilder<HttpRestClient>
      Returns:
      This instance as of the builder pattern.
      Throws:
      IOException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
    • withOpen

      default HttpRestClient withOpen(org.refcodes.web.HttpClientContext aCtx) throws IOException
      Opens the component with the given connection.
      Parameters:
      aCtx - The context used for opening the connection.
      Returns:
      This instance as of the builder pattern.
      Throws:
      IOException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
    • withOpen

      default HttpRestClient withOpen(org.refcodes.security.TrustStoreDescriptor aStoreDescriptor) throws IOException
      Configures the HTTPS client connection with the provided configuration parameters.
      Parameters:
      aStoreDescriptor - The TrustStoreDescriptor pointing to your KeyStore.
      Returns:
      This instance as of the builder pattern.
      Throws:
      IOException - thrown in case something went wrong.
    • withOpen

      default HttpRestClient withOpen(org.refcodes.web.Url aBaseUrl) throws IOException
      Configures the HTTPS client connection with the provided configuration parameters.
      Parameters:
      aBaseUrl - The base Url to be used.
      Returns:
      This instance as of the builder pattern.
      Throws:
      IOException - thrown in case something went wrong.
    • withOpen

      default HttpRestClient withOpen(org.refcodes.web.Url aBaseUrl, org.refcodes.security.TrustStoreDescriptor aStoreDescriptor) throws IOException
      Configures the HTTPS client connection with the provided configuration parameters.
      Parameters:
      aBaseUrl - The base Url to be used.
      aStoreDescriptor - The TrustStoreDescriptor pointing to your KeyStore.
      Returns:
      This instance as of the builder pattern.
      Throws:
      IOException - thrown in case something went wrong.
    • withBaseUrl

      default HttpRestClient withBaseUrl(String aBaseUrl) throws MalformedURLException
      Specified by:
      withBaseUrl in interface org.refcodes.web.BaseUrlAccessor.BaseUrlBuilder<HttpRestClient>
      Throws:
      MalformedURLException
    • withBaseUrl

      default HttpRestClient withBaseUrl(org.refcodes.web.Url aBaseUrl)
      Specified by:
      withBaseUrl in interface org.refcodes.web.BaseUrlAccessor.BaseUrlBuilder<HttpRestClient>
    • withBaseUrl

      default HttpRestClient withBaseUrl(URL aBaseURL)
      Specified by:
      withBaseUrl in interface org.refcodes.web.BaseUrlAccessor.BaseUrlBuilder<HttpRestClient>
    • withBasicAuthCredentials

      default HttpRestClient withBasicAuthCredentials(org.refcodes.web.BasicAuthCredentials aBasicAuthCredentials)
      Specified by:
      withBasicAuthCredentials in interface org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsBuilder<RestClient>
    • withBasicAuthCredentials

      default HttpRestClient withBasicAuthCredentials(String aUserName, String aSecret)
      Specified by:
      withBasicAuthCredentials in interface org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsBuilder<RestClient>
    • withDisableRequestCorrelation

      default HttpRestClient withDisableRequestCorrelation()
      Specified by:
      withDisableRequestCorrelation in interface org.refcodes.runtime.RequestCorrelation<RestClient>
    • withDisableSessionCorrelation

      default HttpRestClient withDisableSessionCorrelation()
      Specified by:
      withDisableSessionCorrelation in interface org.refcodes.runtime.SessionCorrelation<RestClient>
    • withEnableRequestCorrelation

      default HttpRestClient withEnableRequestCorrelation()
      Specified by:
      withEnableRequestCorrelation in interface org.refcodes.runtime.RequestCorrelation<RestClient>
    • withEnableSessionCorrelation

      default HttpRestClient withEnableSessionCorrelation()
      Specified by:
      withEnableSessionCorrelation in interface org.refcodes.runtime.SessionCorrelation<RestClient>
    • withOAuthToken

      default HttpRestClient withOAuthToken(org.refcodes.web.OauthToken aOauthToken)
      Specified by:
      withOAuthToken in interface org.refcodes.web.OauthTokenAccessor.OauthTokenBuilder<RestClient>
    • withRequestCorrelation

      default HttpRestClient withRequestCorrelation(boolean hasRequestCorrelation)
      Specified by:
      withRequestCorrelation in interface org.refcodes.runtime.RequestCorrelation<RestClient>
    • withSessionCorrelation

      default HttpRestClient withSessionCorrelation(boolean hasSessionCorrelation)
      Specified by:
      withSessionCorrelation in interface org.refcodes.runtime.SessionCorrelation<RestClient>
    • withTrustStoreDescriptor

      default HttpRestClient withTrustStoreDescriptor(org.refcodes.security.TrustStoreDescriptor aStoreDescriptor)
      Specified by:
      withTrustStoreDescriptor in interface org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<HttpRestClient>
    • withUserAgent

      default HttpRestClient withUserAgent(String aUserAgent)
      Specified by:
      withUserAgent in interface org.refcodes.web.UserAgentAccessor.UserAgentBuilder<RestClient>