Module org.refcodes.rest
Package org.refcodes.rest
Class AbstractHttpDiscoverySidecar<B extends HttpDiscoverySidecar<B>>
java.lang.Object
org.refcodes.rest.AbstractHttpDiscoverySidecar<B>
- Type Parameters:
B
- the generic type
- All Implemented Interfaces:
org.refcodes.component.Configurable<HttpDiscoveryContext>
,org.refcodes.component.Destroyable
,org.refcodes.component.Destroyable.DestroyAutomaton
,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.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
,HttpDiscovery<B>
,HttpDiscoverySidecar<B>
,HttpDiscoveryUrlAccessor
,HttpDiscoveryUrlAccessor.HttpDiscoveryUrlBuilder<B>
,HttpDiscoveryUrlAccessor.HttpDiscoveryUrlMutator
,HttpDiscoveryUrlAccessor.HttpDiscoveryUrlProperty
,org.refcodes.security.TrustStoreDescriptorAccessor
,org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<B>
,org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorMutator
,org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty
,org.refcodes.web.LoadBalancingStrategyAccessor
,org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyBuilder<B>
,org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyMutator
,org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyProperty
public abstract class AbstractHttpDiscoverySidecar<B extends HttpDiscoverySidecar<B>>
extends Object
implements HttpDiscoverySidecar<B>
Abstract class for easily decorating a
HttpRegistrySidecar
.-
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.rest.HttpDiscoveryUrlAccessor
HttpDiscoveryUrlAccessor.HttpDiscoveryUrlBuilder<B extends HttpDiscoveryUrlAccessor.HttpDiscoveryUrlBuilder<B>>, HttpDiscoveryUrlAccessor.HttpDiscoveryUrlMutator, HttpDiscoveryUrlAccessor.HttpDiscoveryUrlProperty
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
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
-
Field Summary
Modifier and TypeFieldDescriptionprotected org.refcodes.component.LifecycleAutomatonImpl.ManualLifecycleAutomatonImpl
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
destroy()
Stops resolving of the host part of anUrl
from the list of available services and their accordingly associatedUrl
as of the discovery service.org.refcodes.web.Url
Retrieves the URL from the URL property locating the service discovery discovery.org.refcodes.component.LifecycleStatus
org.refcodes.web.LoadBalancingStrategy
org.refcodes.security.TrustStoreDescriptor
void
Initially fetches the list of available services and their accordingly associatedUrl
from the discovery service.boolean
boolean
boolean
boolean
boolean
boolean
isPaused()
boolean
boolean
boolean
boolean
boolean
void
pause()
Pauses the resolving of the host part of anUrl
from the list of available services and their accordingly associatedUrl
as of the discovery service.void
resume()
Resumes the resolving of the host part of anUrl
from the list of available services and their accordingly associatedUrl
as of the discovery service.void
setHttpDiscoveryUrl
(org.refcodes.web.Url aUrl) Sets the URL for the URL property locating the service discovery discovery.void
setLoadBalancingStrategy
(org.refcodes.web.LoadBalancingStrategy aStrategy) void
setTrustStoreDescriptor
(org.refcodes.security.TrustStoreDescriptor aTrustStoreDescriptor) void
start()
Starts resolving of the host part of anUrl
from the list of available services and their accordingly associatedUrl
as of the discovery service.void
stop()
Stops resolving of the host part of anUrl
from the list of available services and their accordingly associatedUrl
as of the discovery service.protected static org.refcodes.web.Url
toHttpDiscoveryUrl
(org.refcodes.web.Url aDiscoveryUrl, HttpDiscoveryUrlAccessor.HttpDiscoveryUrlProperty aProperty) Resolves the property from the provided value and the provided property and the and sets the property in case the provided value is not null.protected static org.refcodes.web.LoadBalancingStrategy
toLoadBalancingStrategy
(org.refcodes.web.LoadBalancingStrategy aStrategy, org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyProperty aProperty) Resolves the property from the provided value and the provided property and the and sets the property in case the provided value is not null.protected static org.refcodes.security.TrustStoreDescriptor
toTrustStoreDescriptor
(org.refcodes.security.TrustStoreDescriptor aStoreDescriptor, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty aProperty) Resolves the property from the provided value and the provided property and the and sets the property in case the provided value is not null.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.refcodes.component.Configurable
initializeUnchecked
Methods inherited from interface org.refcodes.rest.HttpDiscovery
initialize, initialize, initialize, initialize, initialize, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, toUrl, withHttpDiscoveryUrl, withLoadBalancingStrategy
Methods inherited from interface org.refcodes.rest.HttpDiscoverySidecar
withTrustStoreDescriptor
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.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyProperty
letLoadBalancingStrategy
Methods inherited from interface org.refcodes.component.Pausable
pauseUnchecked
Methods inherited from interface org.refcodes.component.Resumable
resumeUnchecked
Methods inherited from interface org.refcodes.component.Startable
startUnchecked
Methods inherited from interface org.refcodes.component.Stoppable
stopUnchecked
Methods inherited from interface org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty
letTrustStoreDescriptor
-
Field Details
-
_lifeCycleAutomaton
protected org.refcodes.component.LifecycleAutomatonImpl.ManualLifecycleAutomatonImpl _lifeCycleAutomaton
-
-
Constructor Details
-
AbstractHttpDiscoverySidecar
public AbstractHttpDiscoverySidecar()
-
-
Method Details
-
isRunning
public boolean isRunning()- Specified by:
isRunning
in interfaceorg.refcodes.component.RunningAccessor
-
isInitialized
public boolean isInitialized()- Specified by:
isInitialized
in interfaceorg.refcodes.component.InitializedAccessor
-
getLifecycleStatus
public org.refcodes.component.LifecycleStatus getLifecycleStatus()- Specified by:
getLifecycleStatus
in interfaceorg.refcodes.component.LifecycleStatusAccessor
-
pause
public void pause() throws org.refcodes.component.PauseExceptionPauses the resolving of the host part of anUrl
from the list of available services and their accordingly associatedUrl
as of the discovery service.- Specified by:
pause
in interfaceHttpDiscovery<B extends HttpDiscoverySidecar<B>>
- Specified by:
pause
in interfaceorg.refcodes.component.Pausable
- Throws:
org.refcodes.component.PauseException
-
stop
public void stop() throws org.refcodes.component.StopExceptionStops resolving of the host part of anUrl
from the list of available services and their accordingly associatedUrl
as of the discovery service. Does not update the list of available services and their accordingly associatedUrl
from the discovery service. This may be achieved by canceling a scheduler.- Specified by:
stop
in interfaceHttpDiscovery<B extends HttpDiscoverySidecar<B>>
- Specified by:
stop
in interfaceorg.refcodes.component.Stoppable
- Throws:
org.refcodes.component.StopException
-
start
public void start() throws org.refcodes.component.StartExceptionStarts resolving of the host part of anUrl
from the list of available services and their accordingly associatedUrl
as of the discovery service. Takes care to update the list of available services and their accordingly associatedUrl
from the discovery service. This may be achieved by starting a scheduler. If necessary, the connection is opened.- Specified by:
start
in interfaceHttpDiscovery<B extends HttpDiscoverySidecar<B>>
- Specified by:
start
in interfaceorg.refcodes.component.Startable
- Throws:
org.refcodes.component.StartException
-
resume
public void resume() throws org.refcodes.component.ResumeExceptionResumes the resolving of the host part of anUrl
from the list of available services and their accordingly associatedUrl
as of the discovery service.- Specified by:
resume
in interfaceHttpDiscovery<B extends HttpDiscoverySidecar<B>>
- Specified by:
resume
in interfaceorg.refcodes.component.Resumable
- Throws:
org.refcodes.component.ResumeException
-
initialize
public void initialize() throws org.refcodes.component.InitializeExceptionInitially fetches the list of available services and their accordingly associatedUrl
from the discovery service. Sets up the client according to the current client's state when invokingHttpDiscovery.initialize(Url, LoadBalancingStrategy, TrustStoreDescriptor)
.- Specified by:
initialize
in interfaceHttpDiscovery<B extends HttpDiscoverySidecar<B>>
- Specified by:
initialize
in interfaceorg.refcodes.component.Initializable
- Throws:
org.refcodes.component.InitializeException
-
isStoppable
public boolean isStoppable()- Specified by:
isStoppable
in interfaceorg.refcodes.component.Stoppable.StopAutomaton
-
isPausable
public boolean isPausable()- Specified by:
isPausable
in interfaceorg.refcodes.component.Pausable.PauseAutomaton
-
isStartable
public boolean isStartable()- Specified by:
isStartable
in interfaceorg.refcodes.component.Startable.StartAutomaton
-
isResumable
public boolean isResumable()- Specified by:
isResumable
in interfaceorg.refcodes.component.Resumable.ResumeAutomaton
-
isStopped
public boolean isStopped()- Specified by:
isStopped
in interfaceorg.refcodes.component.Stoppable.StopAutomaton
-
isPaused
public boolean isPaused()- Specified by:
isPaused
in interfaceorg.refcodes.component.Pausable.PauseAutomaton
-
isInitalizable
public boolean isInitalizable()- Specified by:
isInitalizable
in interfaceorg.refcodes.component.Initializable.InitializeAutomaton
-
destroy
public void destroy()Stops resolving of the host part of anUrl
from the list of available services and their accordingly associatedUrl
as of the discovery service. Does not update the list of available services and their accordingly associatedUrl
from the discovery service. This may be achieved by canceling a scheduler. Finally the connection is closed.- Specified by:
destroy
in interfaceorg.refcodes.component.Destroyable
- Specified by:
destroy
in interfaceHttpDiscovery<B extends HttpDiscoverySidecar<B>>
-
isDestroyable
public boolean isDestroyable()- Specified by:
isDestroyable
in interfaceorg.refcodes.component.Destroyable.DestroyAutomaton
-
isDestroyed
public boolean isDestroyed()- Specified by:
isDestroyed
in interfaceorg.refcodes.component.Destroyable.DestroyAutomaton
-
getLoadBalancingStrategy
public org.refcodes.web.LoadBalancingStrategy getLoadBalancingStrategy()- Specified by:
getLoadBalancingStrategy
in interfaceorg.refcodes.web.LoadBalancingStrategyAccessor
-
setHttpDiscoveryUrl
public void setHttpDiscoveryUrl(org.refcodes.web.Url aUrl) Sets the URL for the URL property locating the service discovery discovery.- Specified by:
setHttpDiscoveryUrl
in interfaceHttpDiscoveryUrlAccessor.HttpDiscoveryUrlMutator
- Parameters:
aUrl
- The service discovery discovery URL to be stored by the URL property.
-
setLoadBalancingStrategy
public void setLoadBalancingStrategy(org.refcodes.web.LoadBalancingStrategy aStrategy) - Specified by:
setLoadBalancingStrategy
in interfaceorg.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyMutator
-
getTrustStoreDescriptor
public org.refcodes.security.TrustStoreDescriptor getTrustStoreDescriptor()- Specified by:
getTrustStoreDescriptor
in interfaceorg.refcodes.security.TrustStoreDescriptorAccessor
-
setTrustStoreDescriptor
public void setTrustStoreDescriptor(org.refcodes.security.TrustStoreDescriptor aTrustStoreDescriptor) - Specified by:
setTrustStoreDescriptor
in interfaceorg.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorMutator
-
getHttpDiscoveryUrl
public org.refcodes.web.Url getHttpDiscoveryUrl()Retrieves the URL from the URL property locating the service discovery discovery.- Specified by:
getHttpDiscoveryUrl
in interfaceHttpDiscoveryUrlAccessor
- Returns:
- The URL stored by the URL property.
-
toLoadBalancingStrategy
protected static org.refcodes.web.LoadBalancingStrategy toLoadBalancingStrategy(org.refcodes.web.LoadBalancingStrategy aStrategy, org.refcodes.web.LoadBalancingStrategyAccessor.LoadBalancingStrategyProperty aProperty) Resolves the property from the provided value and the provided property and the and sets the property in case the provided value is not null.- Parameters:
aStrategy
- The value to be used when not null.aProperty
- The property to be used when the value is null and which is to be set when the value is not null.- Returns:
- The value when not null, else the value of the provided property.
-
toTrustStoreDescriptor
protected static org.refcodes.security.TrustStoreDescriptor toTrustStoreDescriptor(org.refcodes.security.TrustStoreDescriptor aStoreDescriptor, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty aProperty) Resolves the property from the provided value and the provided property and the and sets the property in case the provided value is not null.- Parameters:
aStoreDescriptor
- The value to be used when not null.aProperty
- The property to be used when the value is null and which is to be set when the value is not null.- Returns:
- The value when not null, else the value of the provided property.
-
toHttpDiscoveryUrl
protected static org.refcodes.web.Url toHttpDiscoveryUrl(org.refcodes.web.Url aDiscoveryUrl, HttpDiscoveryUrlAccessor.HttpDiscoveryUrlProperty aProperty) Resolves the property from the provided value and the provided property and the and sets the property in case the provided value is not null.- Parameters:
aDiscoveryUrl
- The value to be used when not null.aProperty
- The property to be used when the value is null and which is to be set when the value is not null.- Returns:
- The value when not null, else the value of the provided property.
-