ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.ConditionPriorityBlockingQueue<T>


特定の条件に一致するオブジェクトを取得できる ERROR(/PriorityBlockingQueue) のようなオペレーションを備えたスレッドセーフ クラス。

イテレーションもスレッドセーフですが、整合性はありません。キューのコピーはイテレータの作成時に作成され、そのコピーがイテレーション ターゲットとして使用されます。イテレーション中にキューが変更された場合、ERROR(/ConcurrentModificationException) はスローされませんが、イテレータにも変更された内容は反映されません。

概要

ネストされたクラス

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

任意のオブジェクトに一致する ConditionPriorityBlockingQueue.IMatcher。 

interface ConditionPriorityBlockingQueue.IMatcher<T>

要素がなんらかの条件に一致するかどうかを判断するためのインターフェース。 

パブリック コンストラクタ

ConditionPriorityBlockingQueue()

ConditionPriorityBlockingQueue を作成します。

要素は FIFO 順に優先されます。

ConditionPriorityBlockingQueue( c)

ConditionPriorityBlockingQueue を作成します。

パブリック メソッド

boolean add(T addedElement)

指定した要素をこのキューに挿入します。

T addUnique(IMatcher<T> matcher, T object)

このキューにアイテムを追加し、指定された条件に一致する既存のオブジェクトを置き換えます。

void clear()

このキューからすべての要素を削除します。

boolean contains(T object)

オブジェクトが現在このキュー内にあるかどうかを判断します。

getCopy()

キューの内容のコピーを取得します。

iterator()

T poll(long timeout, TimeUnit unit)

キュー内の指定された ERROR(/Comparator) 要素 T によって判断される最小値を取得して削除します。

T poll(long timeout, TimeUnit unit, IMatcher<T> matcher)

キュー内の指定された ERROR(/Comparator) 要素 T(matcher.matches(T)true の場合)で判断される最小値を取得して削除します。

T poll(IMatcher<T> matcher)

キュー内の指定された ERROR(/Comparator) 要素 T(matcher.matches(T)true の場合)で判断される最小値を取得して削除します。

T poll()

このキューの先頭を取得して削除します。

boolean remove(T object)

このキューからアイテムを削除します。

int size()
T take()

キュー内の指定された ERROR(/Comparator) 要素 T によって判断される最小値を取得して削除します。

T take(IMatcher<T> matcher)

matcher.matches(T)true であるキューの最初の要素 T を取得して削除します。必要に応じて、そのような要素が使用可能になるまで待機します。

パブリック コンストラクタ

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

ConditionPriorityBlockingQueue を作成します。

要素は FIFO 順に優先されます。

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

ConditionPriorityBlockingQueue を作成します。

パラメータ
c : キューの優先度付けに使用される ERROR(/Comparator)

パブリック メソッド

追加

public boolean add (T addedElement)

指定した要素をこのキューに挿入します。キューは無制限であるため、このメソッドはブロックされません。

パラメータ
addedElement T: 追加する要素

戻り値
boolean true

例外
ClassCastException 指定された要素を、優先キューの順序に従って、現在優先キューにある要素と比較できない場合
NullPointerException 指定された要素が null の場合

addUnique

public T addUnique (IMatcher<T> matcher, 
                T object)

このキューにアイテムを追加し、指定された条件に一致する既存のオブジェクトを置き換えます。

パラメータ
matcher IMatcher: 既存のオブジェクトを評価するマッチャー

object T: 追加するオブジェクト

戻り値
T 置き換えられたオブジェクト、または存在しない場合は null

消去

public void clear ()

このキューからすべての要素を削除します。

次を含む

public boolean contains (T object)

オブジェクトが現在このキュー内にあるかどうかを判断します。

パラメータ
object T: 検索するオブジェクト

戻り値
boolean 指定されたオブジェクトがキュー内にある場合: true。そうでない場合は false>

getCopy

public  getCopy ()

キューの内容のコピーを取得します。

戻り値

iterator

public  iterator ()

戻り値

アンケート

public T poll (long timeout, 
                TimeUnit unit)

キュー内の指定された ERROR(/Comparator) 要素 T によって判断される最小値を取得して削除します。

要素が利用可能になるまで最大 timeout 時間ブロックします。

パラメータ
timeout long: 要素が使用可能になるまで待機する時間

unit TimeUnit: タイムアウトの ERROR(/TimeUnit)

戻り値
T 一致する最小要素、または一致する要素がない場合は null

アンケート

public T poll (long timeout, 
                TimeUnit unit, 
                IMatcher<T> matcher)

キュー内の指定された ERROR(/Comparator) 要素 T(matcher.matches(T)true の場合)で判断される最小値を取得して削除します。

要素が利用可能になるまで最大 timeout 時間ブロックします。

パラメータ
timeout long: 要素が使用可能になるまで待機する時間

unit TimeUnit: タイムアウトの ERROR(/TimeUnit)

matcher IMatcher: 要素の評価に使用する IMatcher

戻り値
T 一致する最小要素、または一致する要素がない場合は null

アンケート

public T poll (IMatcher<T> matcher)

キュー内の指定された ERROR(/Comparator) 要素 T(matcher.matches(T)true の場合)で判断される最小値を取得して削除します。

パラメータ
matcher IMatcher: 要素の評価に使用する IMatcher

戻り値
T 一致する最小要素、または一致する要素がない場合は null

アンケート

public T poll ()

このキューの先頭を取得して削除します。

戻り値
T このキューの先頭、またはキューが空の場合は null

削除

public boolean remove (T object)

このキューからアイテムを削除します。

パラメータ
object T: 削除するオブジェクト

戻り値
boolean 指定されたオブジェクトがキューから削除された場合: true。そうでない場合は false>

size

public int size ()

戻り値
int キュー内の要素数

取る

public T take ()

キュー内の指定された ERROR(/Comparator) 要素 T によって判断される最小値を取得して削除します。

要素が使用可能になるまで無期限にブロックします。

戻り値
T このキューの先頭

例外
InterruptedException 待機中に中断された場合

取る

public T take (IMatcher<T> matcher)

matcher.matches(T)true であるキューの最初の要素 T を取得して削除します。必要に応じて、そのような要素が使用可能になるまで待機します。

パラメータ
matcher IMatcher: 要素の評価に使用する IMatcher

戻り値
T 一致した要素

例外
InterruptedException 待機中に中断された場合