CondizionePriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

java.lang.Object
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à generato un ERROR(/ConcurrentModificationException) , ma anche l'iteratore non rifletterà il contenuto modificato.

Riepilogo

Classi nidificate

class ConditionPriorityBlockingQueue.AlwaysMatch <T>

Oggetto ConditionPriorityBlockingQueue.IMatcher che corrisponde a qualsiasi oggetto.

interface ConditionPriorityBlockingQueue.IMatcher <T>

Un'interfaccia per determinare se gli elementi corrispondono a qualche tipo 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 ()

Ottieni una copia del contenuto della coda.

iterator ()

T poll (long timeout, TimeUnit unit)

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

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

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

T poll ( IMatcher <T> matcher)

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

T poll ()

Recupera e rimuove l'inizio di questa coda.

boolean remove (T object)

Rimuove un elemento da questa coda.

int size ()
T take ()

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

T take ( IMatcher <T> matcher)

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

Costruttori pubblici

CondizionePriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Crea una ConditionPriorityBlockingQueue

Gli elementi avranno la priorità in ordine FIFO.

CondizionePriorityBlockingQueue

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

Lancia
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 è null

aggiungiUnico

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 ne esiste nessuno

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 dato è contenuto nella coda. false> altrimenti.

getCopy

public  getCopy ()

Ottieni una copia del contenuto della coda.

ritorna

iteratore

public  iterator ()

ritorna

sondaggio

public T poll (long timeout, 
                TimeUnit unit)

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

Blocca fino al timeout affinché un elemento diventi disponibile.

Parametri
timeout long : il tempo di attesa affinché un elemento diventi disponibile

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

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

sondaggio

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

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

Blocca fino al timeout affinché un elemento diventi disponibile.

Parametri
timeout long : il tempo di attesa affinché 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 sono presenti elementi corrispondenti

sondaggio

public T poll (IMatcher<T> matcher)

Recupera e rimuove il minimo (come giudicato dall'elemento ERROR(/Comparator) T fornito nella coda dove 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 sono presenti elementi corrispondenti

sondaggio

public T poll ()

Recupera e rimuove l'inizio di questa coda.

ritorna
T l'inizio 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 il minimo (come giudicato dall'elemento ERROR(/Comparator) T fornito nella coda.

Si blocca a tempo indeterminato affinché un elemento diventi disponibile.

ritorna
T il capo di questa coda

Lancia
InterruptedException se interrotto durante l'attesa

Prendere

public T take (IMatcher<T> matcher)

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

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

ritorna
T l'elemento abbinato

Lancia
InterruptedException se interrotto durante l'attesa