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.net.LoadBalancingStrategyAccessor, org.refcodes.net.LoadBalancingStrategyAccessor.LoadBalancingStrategyBuilder<B>, org.refcodes.net.LoadBalancingStrategyAccessor.LoadBalancingStrategyMutator, org.refcodes.net.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.net.LoadBalancingStrategyAccessor.LoadBalancingStrategyProperty, org.refcodes.net.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.net.LoadBalancingStrategyAccessor

        org.refcodes.net.LoadBalancingStrategyAccessor.LoadBalancingStrategyBuilder<B extends org.refcodes.net.LoadBalancingStrategyAccessor.LoadBalancingStrategyBuilder<B>>, org.refcodes.net.LoadBalancingStrategyAccessor.LoadBalancingStrategyMutator, org.refcodes.net.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

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      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.
      default void initialize​()
      Initially fetches the list of available services and their accordingly associated Url from the discovery service.
      default void initialize​(org.refcodes.net.Url aDiscoveryUrl)
      Initially fetches the list of available services and their accordingly associated Url from the discovery service.
      default void initialize​(org.refcodes.net.Url aDiscoveryUrl, org.refcodes.net.LoadBalancingStrategy aStrategy)
      Initially fetches the list of available services and their accordingly associated Url from the discovery service.
      void initialize​(org.refcodes.net.Url aDiscoveryUrl, org.refcodes.net.LoadBalancingStrategy aStrategy, 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.net.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​(HttpDiscoveryContext aDiscoveryContext)
      Initially fetches the list of available services and their accordingly associated Url from the discovery service.
      void pause​()
      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 resume​()
      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 start​()
      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 stop​()
      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.net.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.net.Url toUrl​(String aProtocol, String aHost)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(String aProtocol, String aHost, int aPort)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(String aProtocol, String aHost, int aPort, String aPath)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(String aProtocol, String aHost, int aPort, String aPath, org.refcodes.net.FormFields aQueryFields)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(String aProtocol, String aHost, int aPort, String aPath, org.refcodes.net.FormFields aQueryFields, String aFragment)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(String aProtocol, String aHost, String aPath)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(String aProtocol, String aHost, String aPath, org.refcodes.net.FormFields aQueryFields)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(String aProtocol, String aHost, String aPath, org.refcodes.net.FormFields aQueryFields, String aFragment)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(String aUrl, org.refcodes.net.FormFields aQueryFields)
      Resolves the server's alias from the provided String by an actual host and returns the accordingly resolved Url.
      default org.refcodes.net.Url toUrl​(String aUrl, org.refcodes.net.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.net.Url toUrl​(URL aURL)
      Constructs an Url from the provided URL instance.
      default org.refcodes.net.Url toUrl​(org.refcodes.data.Scheme aScheme, String aHost)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(org.refcodes.data.Scheme aScheme, String aHost, int aPort)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(org.refcodes.data.Scheme aScheme, String aHost, int aPort, String aPath)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(org.refcodes.data.Scheme aScheme, String aHost, int aPort, String aPath, org.refcodes.net.FormFields aQueryFields)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(org.refcodes.data.Scheme aScheme, String aHost, int aPort, String aPath, org.refcodes.net.FormFields aQueryFields, String aFragment)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(org.refcodes.data.Scheme aScheme, String aHost, String aPath)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(org.refcodes.data.Scheme aScheme, String aHost, String aPath, org.refcodes.net.FormFields aQueryFields)
      Constructs an Url with the common attributes.
      default org.refcodes.net.Url toUrl​(org.refcodes.data.Scheme aScheme, String aHost, String aPath, org.refcodes.net.FormFields aQueryFields, String aFragment)
      Constructs an Url with the common attributes.
      org.refcodes.net.Url toUrl​(org.refcodes.net.Url aUrl)
      Resolves the server's alias from the provided Url by an actual host and returns the accordingly resolved Url.
      default org.refcodes.net.Url toUrl​(org.refcodes.net.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.net.Url toUrl​(org.refcodes.net.Url aUrl, org.refcodes.net.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.net.Url aUrl)
      Sets the URL for the URL property locating the service discovery discovery.
      default B withLoadBalancingStrategy​(org.refcodes.net.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.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.net.LoadBalancingStrategyAccessor

        getLoadBalancingStrategy
      • Methods inherited from interface org.refcodes.net.LoadBalancingStrategyAccessor.LoadBalancingStrategyMutator

        setLoadBalancingStrategy
      • 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 Detail

      • withLoadBalancingStrategy

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

        default B withHttpDiscoveryUrl​(org.refcodes.net.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.net.Url toUrl​(org.refcodes.net.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.net.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.net.Url toUrl​(String aUrl,
                                           org.refcodes.net.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.net.Url toUrl​(String aUrl,
                                           org.refcodes.net.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.net.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.net.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.net.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.net.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.net.Url toUrl​(org.refcodes.data.Scheme aScheme,
                                           String aHost,
                                           int aPort,
                                           String aPath,
                                           org.refcodes.net.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.net.Url toUrl​(org.refcodes.data.Scheme aScheme,
                                           String aHost,
                                           int aPort,
                                           String aPath,
                                           org.refcodes.net.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.net.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.net.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.net.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.net.Url toUrl​(String aProtocol,
                                           String aHost,
                                           int aPort,
                                           String aPath,
                                           org.refcodes.net.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.net.Url toUrl​(String aProtocol,
                                           String aHost,
                                           int aPort,
                                           String aPath,
                                           org.refcodes.net.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.net.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.net.Url toUrl​(org.refcodes.data.Scheme aScheme,
                                           String aHost,
                                           String aPath,
                                           org.refcodes.net.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.net.Url toUrl​(org.refcodes.data.Scheme aScheme,
                                           String aHost,
                                           String aPath,
                                           org.refcodes.net.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.net.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.net.Url toUrl​(String aProtocol,
                                           String aHost,
                                           String aPath,
                                           org.refcodes.net.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.net.Url toUrl​(String aProtocol,
                                           String aHost,
                                           String aPath,
                                           org.refcodes.net.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.net.Url toUrl​(org.refcodes.net.Url aUrl,
                                           org.refcodes.net.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.net.Url toUrl​(org.refcodes.net.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.net.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.net.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.net.Url aDiscoveryUrl,
                                org.refcodes.net.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.net.Url aDiscoveryUrl,
                        org.refcodes.net.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