|
Woolpack API | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectwoolpack.acquirable.AcquirableUtils
public final class AcquirableUtils
実行権制御のユーティリティです。
| フィールドの概要 | |
|---|---|
static Acquirable<java.lang.RuntimeException> |
ANY
無制限に実行権を与える実行権マネージャです。 |
static Acquirable<java.lang.RuntimeException> |
INTERRUPT
常に実行権を与えず、実行したスレッドに対し Thread.interrupt()を実行する実行権マネージャです。 |
static Acquirable<java.lang.InterruptedException> |
INTERRUPTED_EXCEPTION
常に実行権を与えず、 実行したスレッドに対し Thread.interrupt()を実行し、
InterruptedExceptionを原因として持つ
IllegalStateExceptionを投げる実行権マネージャです。 |
static Acquirable<java.lang.RuntimeException> |
NONE
常に実行権を与えない実行権マネージャです。 |
| メソッドの概要 | ||
|---|---|---|
static
|
acquire(Fn<? super C,? extends Acquirable<? extends E>,? extends E> acquireGetter,
Fn<? super C,? extends R,? extends E> trueFn,
Fn<? super C,? extends R,? extends E> falseFn)
取得した Acquirableで実行権を制御する関数を生成します。 |
|
static
|
chain(java.util.List<? extends Acquirable<? extends E>> list)
コンストラクタ引数で指定された Acquirableを順に
Acquirable.acquire()する実行権マネージャを生成します。 |
|
static Acquirable<java.lang.RuntimeException> |
doLock(java.util.concurrent.locks.Lock lock)
Acquirable.acquire()でLock.lock()を実行し、
Acquirable.release()でLock.unlock()
を実行する実行権マネージャを生成します。 |
|
static Acquirable<java.lang.InterruptedException> |
doSemaphore(java.util.concurrent.Semaphore semaphore)
Acquirable.acquire()でSemaphore.acquire()を実行し、
Acquirable.release()でSemaphore.release()を実行する実行権マネージャを生成します。 |
|
static
|
doSemaphoreFactory(int permit,
boolean fair)
Acquirable.acquire()でSemaphore.acquire()を実行し、
Acquirable.release()でSemaphore.release()を実行する実行権マネージャ
のファクトリを生成します。 |
|
static Acquirable<java.lang.RuntimeException> |
tryLock(java.util.concurrent.locks.Lock lock)
Acquirable.acquire()でLock.tryLock()を実行し、
Acquirable.release()でLock.unlock()を実行する実行権マネージャを生成します。 |
|
static Acquirable<java.lang.RuntimeException> |
trySemaphore(java.util.concurrent.Semaphore semaphore)
Acquirable.acquire()でSemaphore.tryAcquire()を実行し、
Acquirable.release()でSemaphore.release()を実行する実行権マネージャを生成します。 |
|
static
|
trySemaphoreFactory(int permit,
boolean fair)
Acquirable.acquire()でSemaphore.tryAcquire()を実行し、
Acquirable.release()でSemaphore.release()を実行する実行権マネージャ
のファクトリを生成します。 |
|
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final Acquirable<java.lang.RuntimeException> ANY
public static final Acquirable<java.lang.RuntimeException> NONE
public static final Acquirable<java.lang.RuntimeException> INTERRUPT
Thread.interrupt()を実行する実行権マネージャです。
public static final Acquirable<java.lang.InterruptedException> INTERRUPTED_EXCEPTION
Thread.interrupt()を実行し、
InterruptedExceptionを原因として持つ
IllegalStateExceptionを投げる実行権マネージャです。
| メソッドの詳細 |
|---|
public static <C,R,E extends java.lang.Exception> Fn<C,R,E> acquire(Fn<? super C,? extends Acquirable<? extends E>,? extends E> acquireGetter,
Fn<? super C,? extends R,? extends E> trueFn,
Fn<? super C,? extends R,? extends E> falseFn)
Acquirableで実行権を制御する関数を生成します。
C - R - E - acquireGetter - 実行権マネージャのファクトリ。trueFn - 実行権の取得に成功したかAcquirableが存在しない場合の委譲先。falseFn - 実行権の取得に失敗した場合の委譲先。
AcquireFnpublic static Acquirable<java.lang.RuntimeException> doLock(java.util.concurrent.locks.Lock lock)
Acquirable.acquire()でLock.lock()を実行し、
Acquirable.release()でLock.unlock()
を実行する実行権マネージャを生成します。
LockのAdapter。
lock - ロッククラス。
DoLockpublic static Acquirable<java.lang.InterruptedException> doSemaphore(java.util.concurrent.Semaphore semaphore)
Acquirable.acquire()でSemaphore.acquire()を実行し、
Acquirable.release()でSemaphore.release()を実行する実行権マネージャを生成します。
SemaphoreのAdapter。
semaphore - セマフォ。
DoSemaphorepublic static Acquirable<java.lang.RuntimeException> tryLock(java.util.concurrent.locks.Lock lock)
Acquirable.acquire()でLock.tryLock()を実行し、
Acquirable.release()でLock.unlock()を実行する実行権マネージャを生成します。
LockのAdapter。
lock - ロッククラス。
TryLockpublic static Acquirable<java.lang.RuntimeException> trySemaphore(java.util.concurrent.Semaphore semaphore)
Acquirable.acquire()でSemaphore.tryAcquire()を実行し、
Acquirable.release()でSemaphore.release()を実行する実行権マネージャを生成します。
SemaphoreのAdapter。
semaphore - セマフォ。
TrySemaphorepublic static <E extends java.lang.Exception> Acquirable<E> chain(java.util.List<? extends Acquirable<? extends E>> list)
Acquirableを順に
Acquirable.acquire()する実行権マネージャを生成します。
Acquirable.acquire()による実行権の取得に失敗した場合、
既に実行権を取得したAcquirable
を逆順にAcquirable.release()します。
AcquirableのComposite。
E - list - 実行権マネージャの配列。
AcquirableChain
public static <E extends java.lang.Exception> Fn<java.lang.Object,? extends Acquirable<java.lang.InterruptedException>,E> doSemaphoreFactory(int permit,
boolean fair)
Acquirable.acquire()でSemaphore.acquire()を実行し、
Acquirable.release()でSemaphore.release()を実行する実行権マネージャ
のファクトリを生成します。
AcquirableのAbstract Factory。
E - permit - 初期パーミット数。fair - フェアなセマフォを作成する場合は true。
DoSemaphoreFactory
public static <E extends java.lang.Exception> Fn<java.lang.Object,? extends Acquirable<E>,E> trySemaphoreFactory(int permit,
boolean fair)
Acquirable.acquire()でSemaphore.tryAcquire()を実行し、
Acquirable.release()でSemaphore.release()を実行する実行権マネージャ
のファクトリを生成します。
AcquirableのAbstract Factory。
E - permit - 初期パーミット数。fair - フェアなセマフォを作成する場合は true。
TrySemaphoreFactory
|
Woolpack API | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||