Interface EurekaRegistry<B extends EurekaRegistry<B>>

  • Type Parameters:
    B - In order to implement the builder pattern with a coherent type hierarchy.
    All Superinterfaces:
    org.refcodes.mixin.AliasAccessor, org.refcodes.mixin.AliasAccessor.AliasBuilder<B>, org.refcodes.mixin.AliasAccessor.AliasMutator, org.refcodes.mixin.AliasAccessor.AliasProperty, org.refcodes.component.Configurable<B>, org.refcodes.component.Destroyable, org.refcodes.component.Destroyable.DestroyAutomaton, EurekaDataCenterTypeAccessor, EurekaDataCenterTypeAccessor.EurekaDataCenterTypeBuilder<B>, EurekaDataCenterTypeAccessor.EurekaDataCenterTypeMutator, EurekaDataCenterTypeAccessor.EurekaDataCenterTypeProperty, EurekaServerDescriptorFactory, org.refcodes.rest.HomePathAccessor, org.refcodes.rest.HomePathAccessor.HomePathBuilder<B>, org.refcodes.rest.HomePathAccessor.HomePathMutator, org.refcodes.rest.HomePathAccessor.HomePathProperty, org.refcodes.net.HostAccessor, org.refcodes.net.HostAccessor.HostBuilder<B>, org.refcodes.net.HostAccessor.HostMutator, org.refcodes.net.HostAccessor.HostProperty, org.refcodes.rest.HttpRegistry<EurekaServerDescriptor,B>, org.refcodes.rest.HttpRegistryUrlAccessor, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlBuilder<B>, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlMutator, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlProperty, org.refcodes.rest.HttpServerDescriptorAccessor<B>, org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorBuilder<DESC,B>, org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorMutator<B>, org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorProperty<B>, org.refcodes.rest.HttpServerDescriptorFactory<B>, org.refcodes.component.Initializable, org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.InitializedAccessor, org.refcodes.mixin.InstanceIdAccessor, org.refcodes.mixin.InstanceIdAccessor.InstanceIdBuilder<B>, org.refcodes.mixin.InstanceIdAccessor.InstanceIdMutator, org.refcodes.mixin.InstanceIdAccessor.InstanceIdProperty, org.refcodes.net.IpAddressAccessor, org.refcodes.net.IpAddressAccessor.IpAddressBuilder<B>, org.refcodes.net.IpAddressAccessor.IpAddressMutator, org.refcodes.net.IpAddressAccessor.IpAddressProperty, org.refcodes.component.LifeCycleComponent, org.refcodes.component.LifeCycleComponent.LifeCycleAutomaton, org.refcodes.component.LifeCycleStatusAccessor, org.refcodes.component.Pausable, org.refcodes.component.Pausable.PauseAutomaton, org.refcodes.rest.PingPathAccessor, org.refcodes.rest.PingPathAccessor.PingPathBuilder<B>, org.refcodes.rest.PingPathAccessor.PingPathMutator, org.refcodes.rest.PingPathAccessor.PingPathProperty, org.refcodes.component.Resumable, org.refcodes.component.Resumable.ResumeAutomaton, org.refcodes.component.RunningAccessor, org.refcodes.component.Startable, org.refcodes.component.Startable.StartAutomaton, org.refcodes.rest.StatusPathAccessor, org.refcodes.rest.StatusPathAccessor.StatusPathBuilder<B>, org.refcodes.rest.StatusPathAccessor.StatusPathMutator, org.refcodes.rest.StatusPathAccessor.StatusPathProperty, org.refcodes.component.Stoppable, org.refcodes.component.Stoppable.StopAutomaton, org.refcodes.security.TrustStoreDescriptorAccessor, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<B>, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorMutator, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty, org.refcodes.net.VirtualHostAccessor, org.refcodes.net.VirtualHostAccessor.VirtualHostBuilder<B>, org.refcodes.net.VirtualHostAccessor.VirtualHostMutator, org.refcodes.net.VirtualHostAccessor.VirtualHostProperty
    All Known Subinterfaces:
    EurekaRegistrySidecar, EurekaRestServer
    All Known Implementing Classes:
    EurekaRegistrySidecarImpl, EurekaRestServerDecorator, EurekaRestServerImpl


    public interface EurekaRegistry<B extends EurekaRegistry<B>>
    extends org.refcodes.rest.HttpRegistry<EurekaServerDescriptor,B>, EurekaDataCenterTypeAccessor.EurekaDataCenterTypeProperty, EurekaDataCenterTypeAccessor.EurekaDataCenterTypeBuilder<B>, org.refcodes.rest.HomePathAccessor.HomePathProperty, org.refcodes.rest.HomePathAccessor.HomePathBuilder<B>, org.refcodes.rest.StatusPathAccessor.StatusPathProperty, org.refcodes.rest.StatusPathAccessor.StatusPathBuilder<B>, EurekaServerDescriptorFactory
    The EurekaRegistry describes the functionality required in order to register a service at a service registry 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.mixin.AliasAccessor

        org.refcodes.mixin.AliasAccessor.AliasBuilder<B extends org.refcodes.mixin.AliasAccessor.AliasBuilder<B>>, org.refcodes.mixin.AliasAccessor.AliasMutator, org.refcodes.mixin.AliasAccessor.AliasProperty
      • Nested classes/interfaces inherited from interface org.refcodes.component.Configurable

        org.refcodes.component.Configurable.ConfigureAutomaton<CTX extends java.lang.Object>, org.refcodes.component.Configurable.ConfigureBuilder<CTX extends java.lang.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.rest.HomePathAccessor

        org.refcodes.rest.HomePathAccessor.HomePathBuilder<B extends org.refcodes.rest.HomePathAccessor.HomePathBuilder<?>>, org.refcodes.rest.HomePathAccessor.HomePathMutator, org.refcodes.rest.HomePathAccessor.HomePathProperty
      • Nested classes/interfaces inherited from interface org.refcodes.net.HostAccessor

        org.refcodes.net.HostAccessor.HostBuilder<B extends org.refcodes.net.HostAccessor.HostBuilder<?>>, org.refcodes.net.HostAccessor.HostMutator, org.refcodes.net.HostAccessor.HostProperty
      • Nested classes/interfaces inherited from interface org.refcodes.rest.HttpRegistryUrlAccessor

        org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlBuilder<B extends org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlBuilder<B>>, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlMutator, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlProperty
      • Nested classes/interfaces inherited from interface org.refcodes.rest.HttpServerDescriptorAccessor

        org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorBuilder<DESC extends org.refcodes.rest.HttpServerDescriptor,B extends org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorBuilder<DESC,B>>, org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorMutator<DESC extends org.refcodes.rest.HttpServerDescriptor>, org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorProperty<DESC extends org.refcodes.rest.HttpServerDescriptor>
      • 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.mixin.InstanceIdAccessor

        org.refcodes.mixin.InstanceIdAccessor.InstanceIdBuilder<B extends org.refcodes.mixin.InstanceIdAccessor.InstanceIdBuilder<B>>, org.refcodes.mixin.InstanceIdAccessor.InstanceIdMutator, org.refcodes.mixin.InstanceIdAccessor.InstanceIdProperty
      • Nested classes/interfaces inherited from interface org.refcodes.net.IpAddressAccessor

        org.refcodes.net.IpAddressAccessor.IpAddressBuilder<B extends org.refcodes.net.IpAddressAccessor.IpAddressBuilder<B>>, org.refcodes.net.IpAddressAccessor.IpAddressMutator, org.refcodes.net.IpAddressAccessor.IpAddressProperty
      • 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.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.rest.PingPathAccessor

        org.refcodes.rest.PingPathAccessor.PingPathBuilder<B extends org.refcodes.rest.PingPathAccessor.PingPathBuilder<?>>, org.refcodes.rest.PingPathAccessor.PingPathMutator, org.refcodes.rest.PingPathAccessor.PingPathProperty
      • 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.rest.StatusPathAccessor

        org.refcodes.rest.StatusPathAccessor.StatusPathBuilder<B extends org.refcodes.rest.StatusPathAccessor.StatusPathBuilder<?>>, org.refcodes.rest.StatusPathAccessor.StatusPathMutator, org.refcodes.rest.StatusPathAccessor.StatusPathProperty
      • 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
      • Nested classes/interfaces inherited from interface org.refcodes.security.TrustStoreDescriptorAccessor

        org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<B extends org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<B>>, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorMutator, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty
      • Nested classes/interfaces inherited from interface org.refcodes.net.VirtualHostAccessor

        org.refcodes.net.VirtualHostAccessor.VirtualHostBuilder<B extends org.refcodes.net.VirtualHostAccessor.VirtualHostBuilder<?>>, org.refcodes.net.VirtualHostAccessor.VirtualHostMutator, org.refcodes.net.VirtualHostAccessor.VirtualHostProperty
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String EUREKA_BASE_PATH  
    • Method Summary

      All Methods Instance Methods Default Methods 
      Modifier and Type Method Description
      default void initialize​(java.lang.String aAlias, java.lang.String aInstanceId, org.refcodes.data.Scheme aScheme, java.lang.String aHost, java.lang.String aVirtualHost, int[] aIpAddress, int aPort, java.lang.String aPingPath, java.lang.String aStatusPath, java.lang.String aHomePath, EurekaDataCenterType aDataCenterType, org.refcodes.net.Url aRegistryUrl, org.refcodes.security.TrustStoreDescriptor aStoreDescriptor)
      Initializes the HttpRegistryRestServer by registering it at the service registry.
      default void initialize​(java.lang.String aAlias, java.lang.String aInstanceId, org.refcodes.data.Scheme aScheme, java.lang.String aHost, java.lang.String aVirtualHost, int[] aIpAddress, int aPort, java.lang.String aPingPath, org.refcodes.net.Url aRegistryUrl)
      default void initialize​(java.lang.String aAlias, java.lang.String aInstanceId, org.refcodes.data.Scheme aScheme, java.lang.String aHost, java.lang.String aVirtualHost, int[] aIpAddress, int aPort, java.lang.String aPingPath, EurekaDataCenterType aDataCenterType, org.refcodes.net.Url aRegistryUrl)
      Initializes the HttpRegistryRestServer by registering it at the service registry.
      default B withEurekaDataCenterType​(EurekaDataCenterType aDataCenterType)
      Sets the Eureka data center type to use and returns this builder as of the builder pattern.
      default B withHomePath​(java.lang.String aHomePath)
      default B withStatusPath​(java.lang.String aStatusPath)
      • Methods inherited from interface org.refcodes.mixin.AliasAccessor

        getAlias
      • Methods inherited from interface org.refcodes.mixin.AliasAccessor.AliasMutator

        setAlias
      • 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.HomePathAccessor

        getHomePath
      • Methods inherited from interface org.refcodes.rest.HomePathAccessor.HomePathMutator

        setHomePath
      • Methods inherited from interface org.refcodes.net.HostAccessor

        getHost
      • Methods inherited from interface org.refcodes.net.HostAccessor.HostMutator

        setHost
      • Methods inherited from interface org.refcodes.rest.HttpRegistry

        destroy, initialize, initialize, initialize, initialize, initialize, initialize, initialize, pause, resume, start, stop, withAlias, withCidrNotation, withHost, withHttpRegistryUrl, withHttpServerDescriptor, withInstanceId, withIpAddress, withPingPath, withTrustStoreDescriptor, withVirtualHost
      • Methods inherited from interface org.refcodes.rest.HttpRegistryUrlAccessor

        getHttpRegistryUrl
      • Methods inherited from interface org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlMutator

        setHttpRegistryUrl
      • Methods inherited from interface org.refcodes.rest.HttpServerDescriptorAccessor

        getHttpServerDescriptor
      • Methods inherited from interface org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorMutator

        setHttpServerDescriptor
      • Methods inherited from interface org.refcodes.rest.HttpServerDescriptorFactory

        toHttpServerDescriptor, toHttpServerDescriptor, toHttpServerDescriptor, toHttpServerDescriptor
      • 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.mixin.InstanceIdAccessor

        getInstanceId
      • Methods inherited from interface org.refcodes.mixin.InstanceIdAccessor.InstanceIdMutator

        setInstanceId
      • Methods inherited from interface org.refcodes.net.IpAddressAccessor

        getIpAddress, toCidrNotation
      • Methods inherited from interface org.refcodes.net.IpAddressAccessor.IpAddressMutator

        fromCidrNotation, setIpAddress
      • Methods inherited from interface org.refcodes.component.LifeCycleStatusAccessor

        getLifeCycleStatus
      • 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.rest.PingPathAccessor

        getPingPath
      • Methods inherited from interface org.refcodes.rest.PingPathAccessor.PingPathMutator

        setPingPath
      • 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.rest.StatusPathAccessor

        getStatusPath
      • Methods inherited from interface org.refcodes.rest.StatusPathAccessor.StatusPathMutator

        setStatusPath
      • Methods inherited from interface org.refcodes.component.Stoppable

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

        isStoppable, isStopped
      • Methods inherited from interface org.refcodes.security.TrustStoreDescriptorAccessor

        getTrustStoreDescriptor
      • Methods inherited from interface org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorMutator

        setTrustStoreDescriptor
      • Methods inherited from interface org.refcodes.net.VirtualHostAccessor

        getVirtualHost
      • Methods inherited from interface org.refcodes.net.VirtualHostAccessor.VirtualHostMutator

        setVirtualHost
    • Method Detail

      • withHomePath

        default B withHomePath​(java.lang.String aHomePath)
        Specified by:
        withHomePath in interface org.refcodes.rest.HomePathAccessor.HomePathBuilder<B extends EurekaRegistry<B>>
      • withStatusPath

        default B withStatusPath​(java.lang.String aStatusPath)
        Specified by:
        withStatusPath in interface org.refcodes.rest.StatusPathAccessor.StatusPathBuilder<B extends EurekaRegistry<B>>
      • initialize

        default void initialize​(java.lang.String aAlias,
                                java.lang.String aInstanceId,
                                org.refcodes.data.Scheme aScheme,
                                java.lang.String aHost,
                                java.lang.String aVirtualHost,
                                int[] aIpAddress,
                                int aPort,
                                java.lang.String aPingPath,
                                org.refcodes.net.Url aRegistryUrl)
                         throws org.refcodes.component.InitializeException
        Specified by:
        initialize in interface org.refcodes.rest.HttpRegistry<EurekaServerDescriptor,B extends EurekaRegistry<B>>
        Throws:
        org.refcodes.component.InitializeException
      • initialize

        default void initialize​(java.lang.String aAlias,
                                java.lang.String aInstanceId,
                                org.refcodes.data.Scheme aScheme,
                                java.lang.String aHost,
                                java.lang.String aVirtualHost,
                                int[] aIpAddress,
                                int aPort,
                                java.lang.String aPingPath,
                                EurekaDataCenterType aDataCenterType,
                                org.refcodes.net.Url aRegistryUrl)
                         throws org.refcodes.component.InitializeException
        Initializes the HttpRegistryRestServer by registering it at the service registry.
        Parameters:
        aAlias - The name ("alias") which identifies the server in the registry.
        aInstanceId - The ID for the instance when being registered at the service registry. If omitted, then the host name is used.
        aScheme - The Scheme to which this server is being attached (HTTP or HTTPS).
        aHost - The host name to be used to address this server. If omitted, then the system's host name should be used.
        aVirtualHost - The virtual host name to be used for resolving.
        aIpAddress - The IP-Address identifying the host.
        aPort - The port of your service being registered. Make sure, you do not
        aPingPath - The path to use as health-check end-point by this server.
        aRegistryUrl - The registry server where to register.
        aDataCenterType - The type of the data center your EurekaRestServer is running in.
        Throws:
        org.refcodes.component.InitializeException - thrown in case initializing a component caused problems. Usually a method similar to "initialize()" throws such an exception.
      • initialize

        default void initialize​(java.lang.String aAlias,
                                java.lang.String aInstanceId,
                                org.refcodes.data.Scheme aScheme,
                                java.lang.String aHost,
                                java.lang.String aVirtualHost,
                                int[] aIpAddress,
                                int aPort,
                                java.lang.String aPingPath,
                                java.lang.String aStatusPath,
                                java.lang.String aHomePath,
                                EurekaDataCenterType aDataCenterType,
                                org.refcodes.net.Url aRegistryUrl,
                                org.refcodes.security.TrustStoreDescriptor aStoreDescriptor)
                         throws org.refcodes.component.InitializeException
        Initializes the HttpRegistryRestServer by registering it at the service registry.
        Parameters:
        aAlias - The name ("alias") which identifies the server in the registry.
        aInstanceId - The ID for the instance when being registered at the service registry. If omitted, then the host name is used.
        aScheme - The Scheme to which this server is being attached (HTTP or HTTPS).
        aHost - The host name to be used to address this server. If omitted, then the system's host name should be used.
        aVirtualHost - The virtual host name to be used for resolving.
        aIpAddress - The IP-Address identifying the host.
        aPort - The port of your service being registered. Make sure, you do not
        aPingPath - The path to use as health-check end-point by this server.
        aStatusPath - The path to use as status-page end-point by this
        aHomePath - The path to use as home-page end-point by this
        aDataCenterType - The type of the data center your EurekaRestServer is running in.
        aRegistryUrl - The registry server where to register.
        aStoreDescriptor - The descriptor describing the truststore for (optionally) opening an HTTPS connection to the registry server.
        Throws:
        org.refcodes.component.InitializeException - thrown in case initializing a component caused problems. Usually a method similar to "initialize()" throws such an exception.