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

    Constructors
    Constructor
    Description
    Instantiates a new observable remote server impl.
    Instantiates a new observable remote server impl.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    protected void
    fromSender(org.refcodes.remoting.Message arg0)
     
    protected ExecutorService
     
    boolean
    protected boolean
     
    boolean
    isOpenable(org.refcodes.io.DatagramTransceiver<Serializable> arg0)
     
    protected void
    protected void
    protected void
    protected void
    void
    open(org.refcodes.io.DatagramTransceiver<Serializable> arg0)
     
    boolean
    protected void
    toReceiver(org.refcodes.remoting.Message arg0)
     
    boolean

    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

      public ObservableRemoteServer(ExecutorService aExecutorService)
      Instantiates a new observable remote server impl.
      Parameters:
      aExecutorService - the executor service
  • Method Details

    • hasObserverSubscription

      public boolean hasObserverSubscription(ProviderRemoteObserver aObserver)
      Specified by:
      hasObserverSubscription in interface org.refcodes.observer.Observable<ProviderRemoteObserver>
    • subscribeObserver

      public boolean subscribeObserver(ProviderRemoteObserver aObserver)
      Specified by:
      subscribeObserver in interface org.refcodes.observer.Observable<ProviderRemoteObserver>
    • unsubscribeObserver

      public boolean unsubscribeObserver(ProviderRemoteObserver aObserver)
      Specified by:
      unsubscribeObserver in interface org.refcodes.observer.Observable<ProviderRemoteObserver>
    • destroy

      public void destroy()
      Specified by:
      destroy in interface org.refcodes.component.Destroyable
      Overrides:
      destroy in class org.refcodes.remoting.RemoteServer
    • onOpened

      protected void onOpened()
    • onSubjectPublished

      protected void onSubjectPublished(Object aSubject)
      Overrides:
      onSubjectPublished in class org.refcodes.remoting.RemoteServer
    • onSubjectSignedOff

      protected void onSubjectSignedOff(Object aSubject)
      Overrides:
      onSubjectSignedOff in class org.refcodes.remoting.RemoteServer
    • onClosed

      protected void onClosed()
    • isOpenable

      public boolean isOpenable(org.refcodes.io.DatagramTransceiver<Serializable> arg0)
      Specified by:
      isOpenable in interface org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<org.refcodes.io.DatagramTransceiver<Serializable>>
    • open

      public void open(org.refcodes.io.DatagramTransceiver<Serializable> arg0) throws IOException
      Specified by:
      open in interface org.refcodes.component.ConnectionOpenable<org.refcodes.io.DatagramTransceiver<Serializable>>
      Throws:
      IOException
    • toReceiver

      protected void toReceiver(org.refcodes.remoting.Message arg0) throws IOException
      Throws:
      IOException
    • fromSender

      protected void fromSender(org.refcodes.remoting.Message arg0)
    • getExecutorService

      protected ExecutorService getExecutorService()
    • isDestroyed

      protected boolean isDestroyed()