Class ObservableRemoteClient

java.lang.Object
org.refcodes.component.AbstractConnectable
org.refcodes.component.AbstractConnectableAutomaton
org.refcodes.remoting.RemoteClient
org.refcodes.remoting.ext.observer.ObservableRemoteClient
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<ConsumerRemoteObserver>, org.refcodes.remoting.Remote, org.refcodes.struct.Containable

public class ObservableRemoteClient extends org.refcodes.remoting.RemoteClient implements org.refcodes.observer.Observable<ConsumerRemoteObserver>
Event enabled (observable) remote control extending the RemoteClient 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 client impl.
    Instantiates a new observable remote client 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
    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.RemoteClient

    clear, close, close, digest, doSendJob, getProxy, hasProxy, hasProxy, isBusy, isEmpty, proxies, signOffProxy, size

    Methods inherited from class org.refcodes.component.AbstractConnectableAutomaton

    getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatus

    Methods inherited from class org.refcodes.component.AbstractConnectable

    isThrownAsOfAlreadyClosed

    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

    openUnchecked

    Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor

    getConnectionStatus, isOpened
  • Constructor Details

    • ObservableRemoteClient

      public ObservableRemoteClient()
      Instantiates a new observable remote client impl.
    • ObservableRemoteClient

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

    • destroy

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

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

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

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

      protected void onClosed()
    • onOpened

      protected void onOpened()
    • onProxyPublished

      protected void onProxyPublished(Object aProxy)
      Overrides:
      onProxyPublished in class org.refcodes.remoting.RemoteClient
    • onProxySignedOff

      protected void onProxySignedOff(Object aProxy)
      Overrides:
      onProxySignedOff in class org.refcodes.remoting.RemoteClient
    • onPublishProxy

      protected void onPublishProxy(Class<?> aType) throws org.refcodes.exception.VetoException
      Overrides:
      onPublishProxy in class org.refcodes.remoting.RemoteClient
      Throws:
      org.refcodes.exception.VetoException
    • 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()