Class ObservableRemoteServer
java.lang.Object
org.refcodes.component.AbstractConnectableAutomaton
org.refcodes.remoting.RemoteServer
org.refcodes.remoting.ext.observer.ObservableRemoteServer
- All Implemented Interfaces:
org.refcodes.component.Closable
,org.refcodes.component.Closable.CloseAutomaton
,org.refcodes.component.ClosedAccessor
,org.refcodes.component.Component
,org.refcodes.component.ConnectableComponent
,org.refcodes.component.ConnectableComponent.ConnectableAutomaton
,org.refcodes.component.ConnectionComponent<org.refcodes.io.DatagramTransceiver<Serializable>>
,org.refcodes.component.ConnectionComponent.ConnectionAutomaton<org.refcodes.io.DatagramTransceiver<Serializable>>
,org.refcodes.component.ConnectionOpenable<org.refcodes.io.DatagramTransceiver<Serializable>>
,org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<org.refcodes.io.DatagramTransceiver<Serializable>>
,org.refcodes.component.ConnectionStatusAccessor
,org.refcodes.component.Destroyable
,org.refcodes.component.OpenedAccessor
,org.refcodes.mixin.BusyAccessor
,org.refcodes.mixin.Clearable
,org.refcodes.mixin.EmptyAccessor
,org.refcodes.observer.Observable<ProviderRemoteObserver>
,org.refcodes.remoting.Remote
,org.refcodes.struct.Containable
public class ObservableRemoteServer
extends org.refcodes.remoting.RemoteServer
implements org.refcodes.observer.Observable<ProviderRemoteObserver>
Event enabled (observable) remote control extending the
RemoteServer
to be observable.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.mixin.BusyAccessor
org.refcodes.mixin.BusyAccessor.BusyMutator, org.refcodes.mixin.BusyAccessor.BusyProperty
Nested classes/interfaces inherited from interface org.refcodes.component.Closable
org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.Closable.CloseBuilder<B extends org.refcodes.component.Closable.CloseBuilder<B>>
Nested classes/interfaces inherited from interface org.refcodes.component.ClosedAccessor
org.refcodes.component.ClosedAccessor.ClosedMutator, org.refcodes.component.ClosedAccessor.ClosedProperty
Nested classes/interfaces inherited from interface org.refcodes.component.ConnectableComponent
org.refcodes.component.ConnectableComponent.ConnectableAutomaton
Nested classes/interfaces inherited from interface org.refcodes.component.ConnectionComponent
org.refcodes.component.ConnectionComponent.ConnectionAutomaton<CON extends Object>, org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON extends Object,
B extends org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON, B>> Nested classes/interfaces inherited from interface org.refcodes.component.ConnectionOpenable
org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<CON extends Object>, org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON extends Object,
B extends org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON, B>> Nested classes/interfaces inherited from interface org.refcodes.component.ConnectionStatusAccessor
org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusMutator, org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusProperty
Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable
org.refcodes.component.Destroyable.DestroyAutomaton
Nested classes/interfaces inherited from interface org.refcodes.mixin.EmptyAccessor
org.refcodes.mixin.EmptyAccessor.EmptyMutator, org.refcodes.mixin.EmptyAccessor.EmptyProperty
Nested classes/interfaces inherited from interface org.refcodes.component.OpenedAccessor
org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedProperty
-
Constructor Summary
ConstructorDescriptionInstantiates a new observable remote server impl.ObservableRemoteServer
(ExecutorService aExecutorService) Instantiates a new observable remote server impl. -
Method Summary
Modifier and TypeMethodDescriptionvoid
destroy()
protected void
fromSender
(org.refcodes.remoting.Message arg0) protected ExecutorService
boolean
hasObserverSubscription
(ProviderRemoteObserver aObserver) protected boolean
boolean
isOpenable
(org.refcodes.io.DatagramTransceiver<Serializable> arg0) protected void
onClosed()
protected void
onOpened()
protected void
onSubjectPublished
(Object aSubject) protected void
onSubjectSignedOff
(Object aSubject) void
open
(org.refcodes.io.DatagramTransceiver<Serializable> arg0) boolean
subscribeObserver
(ProviderRemoteObserver aObserver) protected void
toReceiver
(org.refcodes.remoting.Message arg0) boolean
unsubscribeObserver
(ProviderRemoteObserver aObserver) Methods inherited from class org.refcodes.remoting.RemoteServer
clear, close, close, digest, doSendJob, hasSubject, isBusy, isEmpty, publishSubject, signOffSubject, signOffSubject, size, subjects
Methods inherited from class org.refcodes.component.AbstractConnectableAutomaton
getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatus
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.Closable
closeIn, closeQuietly, closeUnchecked
Methods inherited from interface org.refcodes.component.Closable.CloseAutomaton
isClosable
Methods inherited from interface org.refcodes.component.ClosedAccessor
isClosed
Methods inherited from interface org.refcodes.component.ConnectionOpenable
open, openUnchecked
Methods inherited from interface org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton
isOpenable
Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor
getConnectionStatus, isOpened
-
Constructor Details
-
ObservableRemoteServer
public ObservableRemoteServer()Instantiates a new observable remote server impl. -
ObservableRemoteServer
Instantiates a new observable remote server impl.- Parameters:
aExecutorService
- the executor service
-
-
Method Details
-
hasObserverSubscription
- Specified by:
hasObserverSubscription
in interfaceorg.refcodes.observer.Observable<ProviderRemoteObserver>
-
subscribeObserver
- Specified by:
subscribeObserver
in interfaceorg.refcodes.observer.Observable<ProviderRemoteObserver>
-
unsubscribeObserver
- Specified by:
unsubscribeObserver
in interfaceorg.refcodes.observer.Observable<ProviderRemoteObserver>
-
destroy
public void destroy()- Specified by:
destroy
in interfaceorg.refcodes.component.Destroyable
- Overrides:
destroy
in classorg.refcodes.remoting.RemoteServer
-
onOpened
protected void onOpened() -
onSubjectPublished
- Overrides:
onSubjectPublished
in classorg.refcodes.remoting.RemoteServer
-
onSubjectSignedOff
- Overrides:
onSubjectSignedOff
in classorg.refcodes.remoting.RemoteServer
-
onClosed
protected void onClosed() -
isOpenable
- Specified by:
isOpenable
in interfaceorg.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<org.refcodes.io.DatagramTransceiver<Serializable>>
-
open
- Specified by:
open
in interfaceorg.refcodes.component.ConnectionOpenable<org.refcodes.io.DatagramTransceiver<Serializable>>
- Throws:
IOException
-
toReceiver
- Throws:
IOException
-
fromSender
protected void fromSender(org.refcodes.remoting.Message arg0) -
getExecutorService
-
isDestroyed
protected boolean isDestroyed()
-