ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

java.lang.Oggetto
com.android.tradefed.util.ConditionPriorityBlockingQueue<T>


Una classe thread-safe con operazioni simili ERROR(/PriorityBlockingQueue) in grado di recuperare oggetti che soddisfano una determinata condizione.

Anche l'iterazione è thread-safe, ma non coerente. Una copia della coda viene creata al momento della creazione dell'iteratore e tale copia viene utilizzata come destinazione dell'iterazione. Se la coda viene modificata durante l'iterazione, non verrà generata un'eccezione ERROR(/ConcurrentModificationException) , ma anche l'iteratore non rifletterà i contenuti modificati.

Riepilogo

Classi nidificate

class ConditionPriorityBlockingQueue.AlwaysMatch <T>

Un ConditionPriorityBlockingQueue.IMatcher che corrisponde a qualsiasi oggetto.

interface ConditionPriorityBlockingQueue.IMatcher <T>

Un'interfaccia per determinare se gli elementi corrispondono a una sorta di condizione.

Costruttori pubblici

ConditionPriorityBlockingQueue ()

Crea una ConditionPriorityBlockingQueue

Gli elementi avranno la priorità in ordine FIFO.

ConditionPriorityBlockingQueue ( c) ConditionPriorityBlockingQueue ( c)

Crea una ConditionPriorityBlockingQueue

Metodi pubblici

boolean add (T addedElement)

Inserisce l'elemento specificato in questa coda.

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

Aggiunge un elemento a questa coda, sostituendo qualsiasi oggetto esistente che corrisponde a una determinata condizione

void clear ()

Rimuove tutti gli elementi da questa coda.

boolean contains (T object)

Determina se un oggetto è attualmente contenuto in questa coda.

getCopy ()

Ottenere una copia del contenuto della coda.

iterator ()

T poll (long timeout, TimeUnit unit)

Recupera e rimuove l'elemento T minimo (come giudicato dall'elemento ERROR(/Comparator) fornito nella coda.

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

Recupera e rimuove il minimo (come giudicato dall'elemento T fornito ERROR(/Comparator) nella coda in cui matcher.matches(T) è true .

T poll ( IMatcher <T> matcher)

Recupera e rimuove il minimo (come giudicato dall'elemento T fornito ERROR(/Comparator) nella coda in cui matcher.matches(T) è true .

T poll ()

Recupera e rimuove l'intestazione di questa coda.

boolean remove (T object)

Rimuove un elemento da questa coda.

int size ()
T take ()

Recupera e rimuove l'elemento T minimo (come giudicato dall'elemento ERROR(/Comparator) fornito nella coda.

T take ( IMatcher <T> matcher)

Recupera e rimuove il primo elemento T nella coda in cui matcher.matches(T) è true , attendendo se necessario finché tale elemento non diventa disponibile.

Costruttori pubblici

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Crea una ConditionPriorityBlockingQueue

Gli elementi avranno la priorità in ordine FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Crea una ConditionPriorityBlockingQueue

Parametri
c : l' ERROR(/Comparator) utilizzato per dare priorità alla coda.

Metodi pubblici

aggiungere

public boolean add (T addedElement)

Inserisce l'elemento specificato in questa coda. Poiché la coda è illimitata, questo metodo non si bloccherà mai.

Parametri
addedElement T : l'elemento da aggiungere

ritorna
boolean true

Getta
ClassCastException se l'elemento specificato non può essere confrontato con gli elementi attualmente nella coda di priorità in base all'ordine della coda di priorità
NullPointerException se l'elemento specificato è nullo

addUnique

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

Aggiunge un elemento a questa coda, sostituendo qualsiasi oggetto esistente che corrisponde a una determinata condizione

Parametri
matcher IMatcher : il matcher per valutare gli oggetti esistenti

object T : l'oggetto da aggiungere

ritorna
T l'oggetto sostituito o null se non esiste

chiaro

public void clear ()

Rimuove tutti gli elementi da questa coda.

contiene

public boolean contains (T object)

Determina se un oggetto è attualmente contenuto in questa coda.

Parametri
object T : l'oggetto da trovare

ritorna
boolean true se l'oggetto specificato è contenuto nella coda. false> altrimenti.

getCopia

public  getCopy ()

Ottenere una copia del contenuto della coda.

ritorna

iteratore

public  iterator ()

ritorna

sondaggio

public T poll (long timeout, 
                TimeUnit unit)

Recupera e rimuove l'elemento T minimo (come giudicato dall'elemento ERROR(/Comparator) fornito nella coda.

Blocca fino al tempo timeout affinché un elemento diventi disponibile.

Parametri
timeout long : il tempo di attesa prima che un elemento diventi disponibile

unit TimeUnit : l' ERROR(/TimeUnit) del timeout

ritorna
T l'elemento corrispondente minimo o null se non ci sono elementi corrispondenti

sondaggio

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

Recupera e rimuove il minimo (come giudicato dall'elemento T fornito ERROR(/Comparator) nella coda in cui matcher.matches(T) è true .

Blocca fino al tempo timeout affinché un elemento diventi disponibile.

Parametri
timeout long : il tempo di attesa prima che un elemento diventi disponibile

unit TimeUnit : l' ERROR(/TimeUnit) del timeout

matcher IMatcher : l' IMatcher da utilizzare per valutare gli elementi

ritorna
T l'elemento corrispondente minimo o null se non ci sono elementi corrispondenti

sondaggio

public T poll (IMatcher<T> matcher)

Recupera e rimuove il minimo (come giudicato dall'elemento T fornito ERROR(/Comparator) nella coda in cui matcher.matches(T) è true .

Parametri
matcher IMatcher : l' IMatcher da utilizzare per valutare gli elementi

ritorna
T l'elemento corrispondente minimo o null se non ci sono elementi corrispondenti

sondaggio

public T poll ()

Recupera e rimuove l'intestazione di questa coda.

ritorna
T l'intestazione di questa coda o null se la coda è vuota

rimuovere

public boolean remove (T object)

Rimuove un elemento da questa coda.

Parametri
object T : l'oggetto da rimuovere

ritorna
boolean true se l'oggetto specificato è stato rimosso dalla coda. false> altrimenti.

misurare

public int size ()

ritorna
int il numero di elementi in coda

Prendere

public T take ()

Recupera e rimuove l'elemento T minimo (come giudicato dall'elemento ERROR(/Comparator) fornito nella coda.

Blocca a tempo indeterminato affinché un elemento diventi disponibile.

ritorna
T il capo di questa coda

Getta
InterruptedException se interrotto durante l'attesa

Prendere

public T take (IMatcher<T> matcher)

Recupera e rimuove il primo elemento T nella coda in cui matcher.matches(T) è true , attendendo se necessario finché tale elemento non diventa disponibile.

Parametri
matcher IMatcher : l' IMatcher da utilizzare per valutare gli elementi

ritorna
T l'elemento corrispondente

Getta
InterruptedException se interrotto durante l'attesa