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 Object
      implements ICorrelator<CORRELATION,ISynchronizer<RESULT>>

  Author:
    Eike Stepper

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SynchronizingCorrelator()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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)`
    `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,ISynchronizer<RESULT>>`

    - #### correlate

          public ISynchronizer<RESULT> correlate(CORRELATION correlation)

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

    - #### correlateUnique

          public ISynchronizer<RESULT> correlateUnique(CORRELATION correlation)

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

    - #### uncorrelate

          public ISynchronizer<RESULT> uncorrelate(CORRELATION correlation)

      Specified by:
        `uncorrelate` in interface `ICorrelator<CORRELATION,ISynchronizer<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 String toString()

      Overrides:
        `toString` in class `Object`

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html