org.apache.cayenne.remote

## Class BaseConnection

- java.lang.Object
- - org.apache.cayenne.remote.BaseConnection

- All Implemented Interfaces:
    ClientConnection
  Direct Known Subclasses:
    HttpClientConnection, LocalConnection

      public abstract class BaseConnection
      extends Object
      implements ClientConnection

  A common base class for concrete ClientConnection implementations. Provides message logging functionality via slf4j logging.
  Since:
    1.2

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected org.slf4j.Logger` | `logger`
    `protected long` | `messageId`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `BaseConnection()` Default constructor that initializes logging and a single threaded EventManager.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract void` | `beforeSendMessage(org.apache.cayenne.remote.ClientMessage message)` Called before logging the beginning of message processing.
    `protected abstract Object` | `doSendMessage(org.apache.cayenne.remote.ClientMessage message)` The worker method invoked to process message.
    `long` | `getProcessedMessagesCount()` Returns a count of processed messages since the beginning of life of this connector.
    `Object` | `sendMessage(org.apache.cayenne.remote.ClientMessage message)` Invokes 'beforeSendMessage' on self, then invokes 'doSendMessage'.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.cayenne.remote.ClientConnection

      `getServerEventBridge`

- - ### Field Detail

    - #### logger

          protected org.slf4j.Logger logger

    - #### messageId

          protected long messageId

  - ### Constructor Detail

    - #### BaseConnection

          protected BaseConnection()

      Default constructor that initializes logging and a single threaded EventManager.

  - ### Method Detail

    - #### sendMessage

          public Object sendMessage(org.apache.cayenne.remote.ClientMessage message)
                             throws CayenneRuntimeException

      Invokes 'beforeSendMessage' on self, then invokes 'doSendMessage'. Implements basic logging functionality. Do not override this method unless absolutely necessary. Override 'beforeSendMessage' and 'doSendMessage' instead.
      Specified by:
        `sendMessage` in interface `ClientConnection`
      Throws:
        `CayenneRuntimeException`

    - #### getProcessedMessagesCount

          public long getProcessedMessagesCount()

      Returns a count of processed messages since the beginning of life of this connector.

    - #### beforeSendMessage

          protected abstract void beforeSendMessage(org.apache.cayenne.remote.ClientMessage message)
                                             throws CayenneRuntimeException

      Called before logging the beginning of message processing.
      Throws:
        `CayenneRuntimeException`

    - #### doSendMessage

          protected abstract Object doSendMessage(org.apache.cayenne.remote.ClientMessage message)
                                           throws CayenneRuntimeException

      The worker method invoked to process message.
      Throws:
        `CayenneRuntimeException`

Copyright © 2001–2021 Apache Cayenne. All rights reserved.