Interface HttpDiscovery<B extends HttpDiscovery<B>>

Type Parameters:
B - In order to implement the builder pattern with a coherent type hierarchy.
All Superinterfaces:
org.refcodes.component.Configurable<HttpDiscoveryContext>, org.refcodes.component.Destroyable, org.refcodes.component.Destroyable.DestroyAutomaton, HttpDiscoveryUrlAccessor, HttpDiscoveryUrlAccessor.HttpDiscoveryUrlBuilder<B>, HttpDiscoveryUrlAccessor.HttpDiscoveryUrlMutator, HttpDiscoveryUrlAccessor.HttpDiscoveryUrlProperty, org.refcodes.component.Initializable, org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.InitializedAccessor, org.refcodes.component.LifecycleComponent, org.refcodes.component.LifecycleComponent.LifecycleAutomaton, org.refcodes.component.LifecycleStatusAccessor, org.refcodes.web.LoadBalancingStrategyAccessor, org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyBuilder<B>, org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyMutator, org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyProperty, org.refcodes.component.Pausable, org.refcodes.component.Pausable.PauseAutomaton, org.refcodes.component.Resumable, org.refcodes.component.Resumable.ResumeAutomaton, org.refcodes.component.RunningAccessor, org.refcodes.component.Startable, org.refcodes.component.Startable.StartAutomaton, org.refcodes.component.Stoppable, org.refcodes.component.Stoppable.StopAutomaton
All Known Subinterfaces:
HttpDiscoveryRestClient<B>, HttpDiscoverySidecar<B>
All Known Implementing Classes:
AbstractHttpDiscoveryRestClientDecorator, AbstractHttpDiscoverySidecar

public interface HttpDiscovery<B extends HttpDiscovery<B>> extends org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyProperty, org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyBuilder<B>, org.refcodes.component.Configurable<HttpDiscoveryContext>, org.refcodes.component.LifecycleComponent.LifecycleAutomaton, HttpDiscoveryUrlAccessor.HttpDiscoveryUrlProperty, HttpDiscoveryUrlAccessor.HttpDiscoveryUrlBuilder<B>
The HttpDiscovery describes the functionality required in order to discover a service at a service discovery and discovery service. 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.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.refcodes.component.Configurable

    org.refcodes.component.Configurable.ConfigureAutomaton<CTX extends Object>, org.refcodes.component.Configurable.ConfigureBuilder<CTX extends Object,B extends org.refcodes.component.Configurable.ConfigureBuilder<CTX,B>>

    Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable

    org.refcodes.component.Destroyable.DestroyAutomaton

    Nested classes/interfaces inherited from interface org.refcodes.component.Initializable

    org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.Initializable.InitializeBuilder<B extends org.refcodes.component.Initializable.InitializeBuilder<B>>, org.refcodes.component.Initializable.UncheckedInitializable

    Nested classes/interfaces inherited from interface org.refcodes.component.InitializedAccessor

    org.refcodes.component.InitializedAccessor.InitializedMutator, org.refcodes.component.InitializedAccessor.InitializedProperty

    Nested classes/interfaces inherited from interface org.refcodes.component.LifecycleComponent

    org.refcodes.component.LifecycleComponent.LifecycleAutomaton, org.refcodes.component.LifecycleComponent.UncheckedLifecycleComponent

    Nested classes/interfaces inherited from interface org.refcodes.component.LifecycleStatusAccessor

    org.refcodes.component.LifecycleStatusAccessor.LifecycleStatusBuilder<B extends org.refcodes.component.LifecycleStatusAccessor.LifecycleStatusBuilder<B>>, org.refcodes.component.LifecycleStatusAccessor.LifecycleStatusMutator, org.refcodes.component.LifecycleStatusAccessor.LifecycleStatusProperty

    Nested classes/interfaces inherited from interface org.refcodes.web.LoadBalancingStrategyAccessor

    org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyBuilder<B extends org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyBuilder<B>>, org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyMutator, org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyProperty

    Nested classes/interfaces inherited from interface org.refcodes.component.Pausable

    org.refcodes.component.Pausable.PauseAutomaton, org.refcodes.component.Pausable.PauseBuilder<B extends org.refcodes.component.Pausable.PauseBuilder<B>>, org.refcodes.component.Pausable.UncheckedPausable

    Nested classes/interfaces inherited from interface org.refcodes.component.Resumable

    org.refcodes.component.Resumable.ResumeAutomaton, org.refcodes.component.Resumable.ResumeBuilder<B extends org.refcodes.component.Resumable.ResumeBuilder<B>>, org.refcodes.component.Resumable.UncheckedResumable

    Nested classes/interfaces inherited from interface org.refcodes.component.RunningAccessor

    org.refcodes.component.RunningAccessor.RunningMutator, org.refcodes.component.RunningAccessor.RunningProperty

    Nested classes/interfaces inherited from interface org.refcodes.component.Startable

    org.refcodes.component.Startable.StartAutomaton, org.refcodes.component.Startable.StartBuilder<B extends org.refcodes.component.Startable.StartBuilder<B>>, org.refcodes.component.Startable.UncheckedStartable

    Nested classes/interfaces inherited from interface org.refcodes.component.Stoppable

    org.refcodes.component.Stoppable.StopAutomaton, org.refcodes.component.Stoppable.StopBuilder<B extends org.refcodes.component.Stoppable.StopBuilder<B>>, org.refcodes.component.Stoppable.UncheckedStoppable
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Stops resolving of the host part of an Url from the list of available services and their accordingly associated Url as of the discovery service.
    default void
    Initially fetches the list of available services and their accordingly associated Url from the discovery service.
    default void
    initialize(HttpDiscoveryContext aDiscoveryContext)
    Initially fetches the list of available services and their accordingly associated Url from the discovery service.
    default void
    initialize(org.refcodes.web.Url aDiscoveryUrl)
    Initially fetches the list of available services and their accordingly associated Url from the discovery service.
    default void
    initialize(org.refcodes.web.Url aDiscoveryUrl, org.refcodes.security.TrustStoreDescriptor aStoreDescriptor)
    Initially fetches the list of available services and their accordingly associated Url from the discovery service.
    default void
    initialize(org.refcodes.web.Url aDiscoveryUrl, org.refcodes.web.LoadBalancingStrategy aStrategy)
    Initially fetches the list of available services and their accordingly associated Url from the discovery service.
    void
    initialize(org.refcodes.web.Url aDiscoveryUrl, org.refcodes.web.LoadBalancingStrategy aStrategy, org.refcodes.security.TrustStoreDescriptor aStoreDescriptor)
    Initially fetches the list of available services and their accordingly associated Url from the discovery service.
    void
    Pauses the resolving of the host part of an Url from the list of available services and their accordingly associated Url as of the discovery service.
    void
    Resumes the resolving of the host part of an Url from the list of available services and their accordingly associated Url as of the discovery service.
    void
    Starts resolving of the host part of an Url from the list of available services and their accordingly associated Url as of the discovery service.
    void
    Stops resolving of the host part of an Url from the list of available services and their accordingly associated Url as of the discovery service.
    default org.refcodes.web.Url
    toUrl(String aUrl)
    Resolves the server's alias from the provided String by an actual host and returns the accordingly resolved Url.
    default org.refcodes.web.Url
    toUrl(String aProtocol, String aHost)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(String aProtocol, String aHost, int aPort)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(String aProtocol, String aHost, int aPort, String aPath)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(String aProtocol, String aHost, int aPort, String aPath, org.refcodes.web.FormFields aQueryFields)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(String aProtocol, String aHost, int aPort, String aPath, org.refcodes.web.FormFields aQueryFields, String aFragment)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(String aProtocol, String aHost, String aPath)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(String aProtocol, String aHost, String aPath, org.refcodes.web.FormFields aQueryFields)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(String aProtocol, String aHost, String aPath, org.refcodes.web.FormFields aQueryFields, String aFragment)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(String aUrl, org.refcodes.web.FormFields aQueryFields)
    Resolves the server's alias from the provided String by an actual host and returns the accordingly resolved Url.
    default org.refcodes.web.Url
    toUrl(String aUrl, org.refcodes.web.FormFields aQueryFields, String aFragment)
    Resolves the server's alias from the provided String by an actual host and returns the accordingly resolved Url.
    default org.refcodes.web.Url
    toUrl(URL aURL)
    Constructs an Url from the provided URL instance.
    default org.refcodes.web.Url
    toUrl(org.refcodes.data.Scheme aScheme, String aHost)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(org.refcodes.data.Scheme aScheme, String aHost, int aPort)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(org.refcodes.data.Scheme aScheme, String aHost, int aPort, String aPath)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(org.refcodes.data.Scheme aScheme, String aHost, int aPort, String aPath, org.refcodes.web.FormFields aQueryFields)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(org.refcodes.data.Scheme aScheme, String aHost, int aPort, String aPath, org.refcodes.web.FormFields aQueryFields, String aFragment)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(org.refcodes.data.Scheme aScheme, String aHost, String aPath)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(org.refcodes.data.Scheme aScheme, String aHost, String aPath, org.refcodes.web.FormFields aQueryFields)
    Constructs an Url with the common attributes.
    default org.refcodes.web.Url
    toUrl(org.refcodes.data.Scheme aScheme, String aHost, String aPath, org.refcodes.web.FormFields aQueryFields, String aFragment)
    Constructs an Url with the common attributes.
    org.refcodes.web.Url
    toUrl(org.refcodes.web.Url aUrl)
    Resolves the server's alias from the provided Url by an actual host and returns the accordingly resolved Url.
    default org.refcodes.web.Url
    toUrl(org.refcodes.web.Url aUrl, String... aPaths)
    Some Url algebra: Adds the provided path to the given Url by prepending it to the Url's path.
    default org.refcodes.web.Url
    toUrl(org.refcodes.web.Url aUrl, org.refcodes.web.Url aOtherUrl)
    Constructs a new Url from the given Url instances by adding the other Url's data to the first Url's data.
    default B
    withHttpDiscoveryUrl(org.refcodes.web.Url aUrl)
    Sets the URL for the URL property locating the service discovery discovery.
    default B
    withLoadBalancingStrategy(org.refcodes.web.LoadBalancingStrategy aStrategy)

    Methods inherited from interface org.refcodes.component.Configurable

    initializeUnchecked

    Methods inherited from interface org.refcodes.component.Destroyable.DestroyAutomaton

    isDestroyable, isDestroyed

    Methods inherited from interface org.refcodes.rest.HttpDiscoveryUrlAccessor

    getHttpDiscoveryUrl

    Methods inherited from interface org.refcodes.rest.HttpDiscoveryUrlAccessor.HttpDiscoveryUrlMutator

    setHttpDiscoveryUrl

    Methods inherited from interface org.refcodes.rest.HttpDiscoveryUrlAccessor.HttpDiscoveryUrlProperty

    letHttpDiscoveryUrl

    Methods inherited from interface org.refcodes.component.Initializable

    initializeUnchecked

    Methods inherited from interface org.refcodes.component.Initializable.InitializeAutomaton

    isInitalizable

    Methods inherited from interface org.refcodes.component.InitializedAccessor

    isInitialized

    Methods inherited from interface org.refcodes.component.LifecycleStatusAccessor

    getLifecycleStatus

    Methods inherited from interface org.refcodes.web.LoadBalancingStrategyAccessor

    getLoadBalancingStrategy

    Methods inherited from interface org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyMutator

    setLoadBalancingStrategy

    Methods inherited from interface org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyProperty

    letLoadBalancingStrategy

    Methods inherited from interface org.refcodes.component.Pausable

    pauseUnchecked

    Methods inherited from interface org.refcodes.component.Pausable.PauseAutomaton

    isPausable, isPaused

    Methods inherited from interface org.refcodes.component.Resumable

    resumeUnchecked

    Methods inherited from interface org.refcodes.component.Resumable.ResumeAutomaton

    isResumable

    Methods inherited from interface org.refcodes.component.RunningAccessor

    isRunning

    Methods inherited from interface org.refcodes.component.Startable

    startUnchecked

    Methods inherited from interface org.refcodes.component.Startable.StartAutomaton

    isStartable

    Methods inherited from interface org.refcodes.component.Stoppable

    stopUnchecked

    Methods inherited from interface org.refcodes.component.Stoppable.StopAutomaton

    isStoppable, isStopped
  • Method Details

    • withLoadBalancingStrategy

      default B withLoadBalancingStrategy(org.refcodes.web.LoadBalancingStrategy aStrategy)
      Specified by:
      withLoadBalancingStrategy in interface org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyBuilder<B extends HttpDiscovery<B>>
    • withHttpDiscoveryUrl

      default B withHttpDiscoveryUrl(org.refcodes.web.Url aUrl)
      Sets the URL for the URL property locating the service discovery discovery.
      Specified by:
      withHttpDiscoveryUrl in interface HttpDiscoveryUrlAccessor.HttpDiscoveryUrlBuilder<B extends HttpDiscovery<B>>
      Parameters:
      aUrl - The service discovery discovery URL to be stored by the URL property.
      Returns:
      The builder for applying multiple build operations.
    • toUrl

      org.refcodes.web.Url toUrl(org.refcodes.web.Url aUrl)
      Resolves the server's alias from the provided Url by an actual host and returns the accordingly resolved Url.
      Parameters:
      aUrl - The Url for the request.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(String aUrl) throws MalformedURLException
      Resolves the server's alias from the provided String by an actual host and returns the accordingly resolved Url.
      Parameters:
      aUrl - The URL String to be parsed. The URL consists of the scheme (protocol), the identify and the secret (optional), the host as well as an optional port and the (optional) path.
      Returns:
      The tinkered Url.
      Throws:
      MalformedURLException - in case the provided URL is considered being malformed.
    • toUrl

      default org.refcodes.web.Url toUrl(String aUrl, org.refcodes.web.FormFields aQueryFields) throws MalformedURLException
      Resolves the server's alias from the provided String by an actual host and returns the accordingly resolved Url.
      Parameters:
      aUrl - The URL String to be parsed. The URL consists of the scheme (protocol), the identify and the secret (optional), the host as well as an optional port and the (optional) path.
      aQueryFields - The Query-Fields to be used for the HTTP Query-String.
      Returns:
      The tinkered Url.
      Throws:
      MalformedURLException - in case the provided URL is considered being malformed.
    • toUrl

      default org.refcodes.web.Url toUrl(String aUrl, org.refcodes.web.FormFields aQueryFields, String aFragment) throws MalformedURLException
      Resolves the server's alias from the provided String by an actual host and returns the accordingly resolved Url.
      Parameters:
      aUrl - The URL String to be parsed. The URL consists of the scheme (protocol), the identify and the secret (optional), the host as well as an optional port and the (optional) path.
      aQueryFields - The Query-Fields to be used for the HTTP Query-String.
      aFragment - The fragment to be set.
      Returns:
      The tinkered Url.
      Throws:
      MalformedURLException - in case the provided URL is considered being malformed.
    • toUrl

      default org.refcodes.web.Url toUrl(URL aURL)
      Constructs an Url from the provided URL instance.
      Parameters:
      aURL - The URL to be used.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(org.refcodes.data.Scheme aScheme, String aHost)
      Constructs an Url with the common attributes.
      Parameters:
      aScheme - The Scheme (e.g. HTTP or HTTPS) to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(org.refcodes.data.Scheme aScheme, String aHost, int aPort)
      Constructs an Url with the common attributes.
      Parameters:
      aScheme - The Scheme (e.g. HTTP or HTTPS) to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPort - The port to be used when connecting to the host.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(org.refcodes.data.Scheme aScheme, String aHost, int aPort, String aPath)
      Constructs an Url with the common attributes.
      Parameters:
      aScheme - The Scheme (e.g. HTTP or HTTPS) to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPort - The port to be used when connecting to the host.
      aPath - The path on the host to which the base destination URL is to point to.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(org.refcodes.data.Scheme aScheme, String aHost, int aPort, String aPath, org.refcodes.web.FormFields aQueryFields)
      Constructs an Url with the common attributes.
      Parameters:
      aScheme - The Scheme (e.g. HTTP or HTTPS) to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPort - The port to be used when connecting to the host.
      aPath - The path on the host to which the base destination URL is to point to.
      aQueryFields - The Query-Fields to be used for the HTTP Query-String.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(org.refcodes.data.Scheme aScheme, String aHost, int aPort, String aPath, org.refcodes.web.FormFields aQueryFields, String aFragment)
      Constructs an Url with the common attributes.
      Parameters:
      aScheme - The Scheme (e.g. HTTP or HTTPS) to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPort - The port to be used when connecting to the host.
      aPath - The path on the host to which the base destination URL is to point to.
      aFragment - The fragment to be set.
      aQueryFields - The Query-Fields to be used for the HTTP Query-String.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(String aProtocol, String aHost)
      Constructs an Url with the common attributes.
      Parameters:
      aProtocol - The protocol String (e.g. "http://" or "https://") to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(String aProtocol, String aHost, int aPort)
      Constructs an Url with the common attributes.
      Parameters:
      aProtocol - The protocol String (e.g. "http://" or "https://") to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPort - The port to be used when connecting to the host.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(String aProtocol, String aHost, int aPort, String aPath)
      Constructs an Url with the common attributes.
      Parameters:
      aProtocol - The protocol String (e.g. "http://" or "https://") to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPort - The port to be used when connecting to the host.
      aPath - The path on the host to which the base destination URL is to point to.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(String aProtocol, String aHost, int aPort, String aPath, org.refcodes.web.FormFields aQueryFields)
      Constructs an Url with the common attributes.
      Parameters:
      aProtocol - The protocol String (e.g. "http://" or "https://") to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPort - The port to be used when connecting to the host.
      aPath - The path on the host to which the base destination URL is to point to.
      aQueryFields - The Query-Fields to be used for the HTTP Query-String.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(String aProtocol, String aHost, int aPort, String aPath, org.refcodes.web.FormFields aQueryFields, String aFragment)
      Constructs an Url with the common attributes.
      Parameters:
      aProtocol - The protocol String (e.g. "http://" or "https://") to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPort - The port to be used when connecting to the host.
      aPath - The path on the host to which the base destination URL is to point to.
      aFragment - The fragment to be set.
      aQueryFields - The Query-Fields to be used for the HTTP Query-String.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(org.refcodes.data.Scheme aScheme, String aHost, String aPath)
      Constructs an Url with the common attributes.
      Parameters:
      aScheme - The Scheme (e.g. HTTP or HTTPS) to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPath - The path on the host to which the base destination URL is to point to.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(org.refcodes.data.Scheme aScheme, String aHost, String aPath, org.refcodes.web.FormFields aQueryFields)
      Constructs an Url with the common attributes.
      Parameters:
      aScheme - The Scheme (e.g. HTTP or HTTPS) to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPath - The path on the host to which the base destination URL is to point to.
      aQueryFields - The Query-Fields to be used for the HTTP Query-String.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(org.refcodes.data.Scheme aScheme, String aHost, String aPath, org.refcodes.web.FormFields aQueryFields, String aFragment)
      Constructs an Url with the common attributes.
      Parameters:
      aScheme - The Scheme (e.g. HTTP or HTTPS) to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPath - The path on the host to which the base destination URL is to point to.
      aQueryFields - The Query-Fields to be used for the HTTP Query-String.
      aFragment - The fragment to be set.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(String aProtocol, String aHost, String aPath)
      Constructs an Url with the common attributes.
      Parameters:
      aProtocol - The protocol String (e.g. "http://" or "https://") to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPath - The path on the host to which the base destination URL is to point to.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(String aProtocol, String aHost, String aPath, org.refcodes.web.FormFields aQueryFields)
      Constructs an Url with the common attributes.
      Parameters:
      aProtocol - The protocol String (e.g. "http://" or "https://") to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPath - The path on the host to which the base destination URL is to point to.
      aQueryFields - The Query-Fields to be used for the HTTP Query-String.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(String aProtocol, String aHost, String aPath, org.refcodes.web.FormFields aQueryFields, String aFragment)
      Constructs an Url with the common attributes.
      Parameters:
      aProtocol - The protocol String (e.g. "http://" or "https://") to be used for the destination URL.
      aHost - The host to which the destination URL is to point to.
      aPath - The path on the host to which the base destination URL is to point to.
      aQueryFields - The Query-Fields to be used for the HTTP Query-String.
      aFragment - The fragment to be set.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(org.refcodes.web.Url aUrl, org.refcodes.web.Url aOtherUrl)
      Constructs a new Url from the given Url instances by adding the other Url's data to the first Url's data. E.g. a path from the other Url is append to the first Url's path, the query parameters are added or overwritten accordingly and so on.
      Parameters:
      aUrl - The Url which is to be enriched.
      aOtherUrl - The Url enriching the given Url by an actual host and returns the accordingly resolved Url.
      Returns:
      The tinkered Url.
    • toUrl

      default org.refcodes.web.Url toUrl(org.refcodes.web.Url aUrl, String... aPaths)
      Some Url algebra: Adds the provided path to the given Url by prepending it to the Url's path.
      Parameters:
      aUrl - The Url to which to add the path.
      aPaths - The paths to be added to the given Url by an actual host and returns the accordingly resolved Url.
      Returns:
      The tinkered Url.
    • initialize

      default void initialize() throws org.refcodes.component.InitializeException
      Initially fetches the list of available services and their accordingly associated Url from the discovery service. Sets up the client according to the current client's state when invoking initialize(Url, LoadBalancingStrategy, TrustStoreDescriptor).
      Specified by:
      initialize in interface org.refcodes.component.Initializable
      Throws:
      org.refcodes.component.InitializeException
    • initialize

      default void initialize(org.refcodes.web.Url aDiscoveryUrl) throws org.refcodes.component.InitializeException
      Initially fetches the list of available services and their accordingly associated Url from the discovery service. Sets up the client according to the current client's state and the provided parameters when invoking initialize(Url, LoadBalancingStrategy, TrustStoreDescriptor).
      Parameters:
      aDiscoveryUrl - The Url pointing to the discovery service.
      Throws:
      org.refcodes.component.InitializeException - Thrown in case initializing fails.
    • initialize

      default void initialize(HttpDiscoveryContext aDiscoveryContext) throws org.refcodes.component.InitializeException
      Initially fetches the list of available services and their accordingly associated Url from the discovery service. Sets up the client according to the provided context when invoking initialize(Url, LoadBalancingStrategy, TrustStoreDescriptor).
      Specified by:
      initialize in interface org.refcodes.component.Configurable<B extends HttpDiscovery<B>>
      Parameters:
      aDiscoveryContext - The HttpDiscoveryContext describing the information for connecting to the discovery service.
      Throws:
      org.refcodes.component.InitializeException
    • initialize

      default void initialize(org.refcodes.web.Url aDiscoveryUrl, org.refcodes.security.TrustStoreDescriptor aStoreDescriptor) throws org.refcodes.component.InitializeException
      Initially fetches the list of available services and their accordingly associated Url from the discovery service. Sets up the client according to the current client's state and the provided parameters when invoking initialize(Url, LoadBalancingStrategy, TrustStoreDescriptor).
      Parameters:
      aDiscoveryUrl - The Url pointing to the discovery service
      aStoreDescriptor - The descriptor describing the truststore to be used by this client.
      Throws:
      org.refcodes.component.InitializeException
    • initialize

      default void initialize(org.refcodes.web.Url aDiscoveryUrl, org.refcodes.web.LoadBalancingStrategy aStrategy) throws org.refcodes.component.InitializeException
      Initially fetches the list of available services and their accordingly associated Url from the discovery service. Sets up the client according to the current client's state and the provided parameters.
      Parameters:
      aDiscoveryUrl - The Url pointing to the discovery service
      aStrategy - The load balancing strategy to use when resolving targeted Url of issued requests.
      Throws:
      org.refcodes.component.InitializeException
    • initialize

      void initialize(org.refcodes.web.Url aDiscoveryUrl, org.refcodes.web.LoadBalancingStrategy aStrategy, org.refcodes.security.TrustStoreDescriptor aStoreDescriptor) throws org.refcodes.component.InitializeException
      Initially fetches the list of available services and their accordingly associated Url from the discovery service. Sets up the client according to the current client's state and the provided parameters.
      Parameters:
      aDiscoveryUrl - The Url pointing to the discovery service
      aStrategy - The load balancing strategy to use when resolving targeted Url of issued requests.
      aStoreDescriptor - The descriptor describing the truststore to be used by this client.
      Throws:
      org.refcodes.component.InitializeException
    • start

      void start() throws org.refcodes.component.StartException
      Starts resolving of the host part of an Url from the list of available services and their accordingly associated Url as of the discovery service. Takes care to update the list of available services and their accordingly associated Url from the discovery service. This may be achieved by starting a scheduler. If necessary, the connection is opened.
      Specified by:
      start in interface org.refcodes.component.Startable
      Throws:
      org.refcodes.component.StartException
    • pause

      void pause() throws org.refcodes.component.PauseException
      Pauses the resolving of the host part of an Url from the list of available services and their accordingly associated Url as of the discovery service.
      Specified by:
      pause in interface org.refcodes.component.Pausable
      Throws:
      org.refcodes.component.PauseException
    • resume

      void resume() throws org.refcodes.component.ResumeException
      Resumes the resolving of the host part of an Url from the list of available services and their accordingly associated Url as of the discovery service.
      Specified by:
      resume in interface org.refcodes.component.Resumable
      Throws:
      org.refcodes.component.ResumeException
    • stop

      void stop() throws org.refcodes.component.StopException
      Stops resolving of the host part of an Url from the list of available services and their accordingly associated Url as of the discovery service. Does not update the list of available services and their accordingly associated Url from the discovery service. This may be achieved by canceling a scheduler.
      Specified by:
      stop in interface org.refcodes.component.Stoppable
      Throws:
      org.refcodes.component.StopException
    • destroy

      void destroy()
      Stops resolving of the host part of an Url from the list of available services and their accordingly associated Url as of the discovery service. Does not update the list of available services and their accordingly associated Url from the discovery service. This may be achieved by canceling a scheduler. Finally the connection is closed.
      Specified by:
      destroy in interface org.refcodes.component.Destroyable