概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| Woolpack API
前 次 | フレームあり フレームなし

## インタフェース
woolpack.acquirable.Acquirable の使用

Acquirable を使用しているパッケージ
woolpack.acquirable | 実行権を制御するためのインタフェースとアダプタのパッケージです。

woolpack.acquirable での Acquirable の使用

Acquirable を実装している woolpack.acquirable のクラス
`class` | `AcquirableChain<E extends Exception>`
`class` | `DoLock<E extends Exception>`
`class` | `DoSemaphore`
`class` | `TryLock<E extends Exception>`
`class` | `TrySemaphore<E extends Exception>`

Acquirable として宣言されている woolpack.acquirable のフィールド
`static Acquirable<java.lang.RuntimeException>` | `AcquirableUtils.ANY` 無制限に実行権を与える実行権マネージャです。
`static Acquirable<java.lang.RuntimeException>` | `AcquirableUtils.INTERRUPT` 常に実行権を与えず、実行したスレッドに対し`Thread.interrupt()`を実行する実行権マネージャです。
`static Acquirable<java.lang.InterruptedException>` | `AcquirableUtils.INTERRUPTED_EXCEPTION` 常に実行権を与えず、 実行したスレッドに対し`Thread.interrupt()`を実行し、 `InterruptedException`を原因として持つ `IllegalStateException`を投げる実行権マネージャです。
`static Acquirable<java.lang.RuntimeException>` | `AcquirableUtils.NONE` 常に実行権を与えない実行権マネージャです。

Acquirable を返す woolpack.acquirable のメソッド
`static
`<E extends java.lang.Exception> Acquirable<E>`
` | `AcquirableUtils.chain(java.util.List<? extends Acquirable<? extends E>> list)` コンストラクタ引数で指定された`Acquirable`を順に `acquire()`する実行権マネージャを生成します。
`static Acquirable<java.lang.RuntimeException>` | `AcquirableUtils.doLock(java.util.concurrent.locks.Lock lock)` `acquire()`で`Lock.lock()`を実行し、 `release()`で`Lock.unlock()` を実行する実行権マネージャを生成します。
`static Acquirable<java.lang.InterruptedException>` | `AcquirableUtils.doSemaphore(java.util.concurrent.Semaphore semaphore)` `acquire()`で`Semaphore.acquire()`を実行し、 `release()`で`Semaphore.release()`を実行する実行権マネージャを生成します。
`static Acquirable<java.lang.RuntimeException>` | `AcquirableUtils.tryLock(java.util.concurrent.locks.Lock lock)` `acquire()`で`Lock.tryLock()`を実行し、 `release()`で`Lock.unlock()`を実行する実行権マネージャを生成します。
`static Acquirable<java.lang.RuntimeException>` | `AcquirableUtils.trySemaphore(java.util.concurrent.Semaphore semaphore)` `acquire()`で`Semaphore.tryAcquire()`を実行し、 `release()`で`Semaphore.release()`を実行する実行権マネージャを生成します。

Acquirable 型の引数を持つ型を返す woolpack.acquirable のメソッド
`static
`<E extends java.lang.Exception> Fn<java.lang.Object,? extends Acquirable<java.lang.InterruptedException>,E>`
` | `AcquirableUtils.doSemaphoreFactory(int permit, boolean fair)` `acquire()`で`Semaphore.acquire()`を実行し、 `release()`で`Semaphore.release()`を実行する実行権マネージャ のファクトリを生成します。
`Fn<? super C,? extends Acquirable<? extends E>,? extends E>` | `AcquireFn.getAcquireGetter()`
`java.util.List<? extends Acquirable<? extends E>>` | `AcquirableChain.getList()`
`static
`<E extends java.lang.Exception> Fn<java.lang.Object,? extends Acquirable<E>,E>`
` | `AcquirableUtils.trySemaphoreFactory(int permit, boolean fair)` `acquire()`で`Semaphore.tryAcquire()`を実行し、 `release()`で`Semaphore.release()`を実行する実行権マネージャ のファクトリを生成します。

Method parameters in woolpack.acquirable with type arguments of type Acquirable
`static
`<C,R,E extends java.lang.Exception> Fn<C,R,E>`
` | `AcquirableUtils.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
`<E extends java.lang.Exception> Acquirable<E>`
` | `AcquirableUtils.chain(java.util.List<? extends Acquirable<? extends E>> list)` コンストラクタ引数で指定された`Acquirable`を順に `acquire()`する実行権マネージャを生成します。
`void` | `AcquireFn.setAcquireGetter(Fn<? super C,? extends Acquirable<? extends E>,? extends E> acquireGetter)`
`void` | `AcquirableChain.setList(java.util.List<? extends Acquirable<? extends E>> list)`

Constructor parameters in woolpack.acquirable with type arguments of type Acquirable
`AcquirableChain(java.util.List<? extends Acquirable<? extends E>> list)`
`AcquireFn(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)`

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| Woolpack API
前 次 | フレームあり フレームなし

Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.