Package org.eclipse.net4j.util.concurrent

## Class SynchronizingCorrelator<CORRELATION,​RESULT>

- java.lang.Object
- - org.eclipse.net4j.util.concurrent.SynchronizingCorrelator<CORRELATION,​RESULT>

- All Implemented Interfaces:
    `ICorrelator<CORRELATION,​ISynchronizer<RESULT>>`

      public class SynchronizingCorrelator<CORRELATION,​RESULT>
      extends java.lang.Object
      implements ICorrelator<CORRELATION,​ISynchronizer<RESULT>>

  Author:
    Eike Stepper

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SynchronizingCorrelator()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ISynchronizer<RESULT>` | `correlate​(CORRELATION correlation)` |
    `ISynchronizer<RESULT>` | `correlateUnique​(CORRELATION correlation)` |
    `protected ISynchronizer<RESULT>` | `createSynchronizer​(CORRELATION correlation)` |
    `RESULT` | `get​(CORRELATION correlation, long timeout)` |
    `ISynchronizer<RESULT>` | `getSynchronizer​(CORRELATION correlation)` |
    `boolean` | `isCorrelated​(CORRELATION correlation)` |
    `void` | `put​(CORRELATION correlation, RESULT result)` |
    `boolean` | `put​(CORRELATION correlation, RESULT result, long timeout)` |
    `boolean` | `putIfCorrelated​(CORRELATION correlation, RESULT result)` |
    `java.lang.String` | `toString()` |
    `ISynchronizer<RESULT>` | `uncorrelate​(CORRELATION correlation)` |

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

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

- - ### Constructor Detail

    - #### SynchronizingCorrelator

          public SynchronizingCorrelator()

  - ### Method Detail

    - #### getSynchronizer

          public ISynchronizer<RESULT> getSynchronizer​(CORRELATION correlation)

      Since:
        3.0

    - #### isCorrelated

          public boolean isCorrelated​(CORRELATION correlation)

      Specified by:
        `isCorrelated` in interface `ICorrelator<CORRELATION,​RESULT>`

    - #### correlate

          public ISynchronizer<RESULT> correlate​(CORRELATION correlation)

      Specified by:
        `correlate` in interface `ICorrelator<CORRELATION,​RESULT>`

    - #### correlateUnique

          public ISynchronizer<RESULT> correlateUnique​(CORRELATION correlation)

      Specified by:
        `correlateUnique` in interface `ICorrelator<CORRELATION,​RESULT>`

    - #### uncorrelate

          public ISynchronizer<RESULT> uncorrelate​(CORRELATION correlation)

      Specified by:
        `uncorrelate` in interface `ICorrelator<CORRELATION,​RESULT>`

    - #### get

          public RESULT get​(CORRELATION correlation,
                            long timeout)

    - #### put

          public void put​(CORRELATION correlation,
                          RESULT result)

    - #### putIfCorrelated

          public boolean putIfCorrelated​(CORRELATION correlation,
                                         RESULT result)

      Since:
        3.0

    - #### put

          public boolean put​(CORRELATION correlation,
                             RESULT result,
                             long timeout)

    - #### createSynchronizer

          protected ISynchronizer<RESULT> createSynchronizer​(CORRELATION correlation)

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`