Package org.eclipse.net4j.signal

## Class IndicationWithMonitoring

- java.lang.Object
- - org.eclipse.net4j.signal.Signal
  - - org.eclipse.net4j.signal.SignalReactor
    - - org.eclipse.net4j.signal.IndicationWithResponse
      - - org.eclipse.net4j.signal.IndicationWithMonitoring

- All Implemented Interfaces:
    `java.lang.Runnable`
  Direct Known Subclasses:
    `AuthenticationIndication`, `ConfirmationIndication`

      public abstract class IndicationWithMonitoring
      extends IndicationWithResponse

  Represents the receiver side of a two-way `signal` with additional support for remote progress monitoring.
  Since:
    2.0
  Author:
    Eike Stepper

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.net4j.signal.Signal

      `NO_TIMEOUT`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `IndicationWithMonitoring​(SignalProtocol<?> protocol, short signalID)` |
    `IndicationWithMonitoring​(SignalProtocol<?> protocol, short id, java.lang.String name)` |
    `IndicationWithMonitoring​(SignalProtocol<?> protocol, java.lang.Enum<?> literal)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected int` | `getIndicatingWorkPercent()` |
    `protected java.util.concurrent.ExecutorService` | `getMonitoringExecutorService()` | Deprecated. As of 4.13 not used anymore.
    `protected int` | `getRespondingWorkPercent()` |
    `protected void` | `indicating​(org.eclipse.net4j.util.io.ExtendedDataInputStream in)` |
    `protected abstract void` | `indicating​(org.eclipse.net4j.util.io.ExtendedDataInputStream in, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |
    `protected void` | `responding​(org.eclipse.net4j.util.io.ExtendedDataOutputStream out)` | Important Note: The response must not be empty, i.e.
    `protected abstract void` | `responding​(org.eclipse.net4j.util.io.ExtendedDataOutputStream out, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |

    - ### Methods inherited from class org.eclipse.net4j.signal.IndicationWithResponse

      `closeChannelAfterException, execute, getExceptionMessage`

    - ### Methods inherited from class org.eclipse.net4j.signal.SignalReactor

      `createMonitor`

    - ### Methods inherited from class org.eclipse.net4j.signal.Signal

      `closeChannelAfterMe, closeInputStreamAfterMe, closeOutputStreamAfterMe, finishInputStream, finishOutputStream, flush, getAdditionalInfo, getBufferInputStream, getBufferOutputStream, getCorrelationID, getCurrentInputStream, getCurrentOutputStream, getID, getName, getProtocol, run, toString, toString, wrapInputStream, wrapOutputStream`

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

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

- - ### Constructor Detail

    - #### IndicationWithMonitoring

          public IndicationWithMonitoring​(SignalProtocol<?> protocol,
                                          short id,
                                          java.lang.String name)

      Since:
        2.0

    - #### IndicationWithMonitoring

          public IndicationWithMonitoring​(SignalProtocol<?> protocol,
                                          short signalID)

      Since:
        2.0

    - #### IndicationWithMonitoring

          public IndicationWithMonitoring​(SignalProtocol<?> protocol,
                                          java.lang.Enum<?> literal)

      Since:
        2.0

  - ### Method Detail

    - #### indicating

          protected final void indicating​(org.eclipse.net4j.util.io.ExtendedDataInputStream in)
                                   throws java.lang.Exception

      Specified by:
        `indicating` in class `IndicationWithResponse`
      Throws:
        `java.lang.Exception`

    - #### responding

          protected final void responding​(org.eclipse.net4j.util.io.ExtendedDataOutputStream out)
                                   throws java.lang.Exception

      Description copied from class: `IndicationWithResponse`
      Important Note: The response must not be empty, i.e. the stream must be used at least to write a `boolean`. Otherwise synchronization problems will result!
      Specified by:
        `responding` in class `IndicationWithResponse`
      Throws:
        `java.lang.Exception`

    - #### indicating

          protected abstract void indicating​(org.eclipse.net4j.util.io.ExtendedDataInputStream in,
                                             org.eclipse.net4j.util.om.monitor.OMMonitor monitor)
                                      throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### responding

          protected abstract void responding​(org.eclipse.net4j.util.io.ExtendedDataOutputStream out,
                                             org.eclipse.net4j.util.om.monitor.OMMonitor monitor)
                                      throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getIndicatingWorkPercent

          protected int getIndicatingWorkPercent()

    - #### getRespondingWorkPercent

          protected final int getRespondingWorkPercent()

      Since:
        4.13

    - #### getMonitoringExecutorService

          @Deprecated
          protected java.util.concurrent.ExecutorService getMonitoringExecutorService()

      Deprecated.
      As of 4.13 not used anymore.
      Since:
        2.0