ConditionPriorityBlockQueue

public class ConditionPriorityBlockingQueue
extends Object

java.lang.Object
com.android.tradefed.util.ConditionPriority GroupingQueue<T>


Klasa zgodna z wątkami z operacjami podobnymi do ERROR(/PriorityBlockingQueue), które mogą pobierać obiekty które spełniają określone warunki.

Iteracja jest też bezpieczna w przypadku wątków, ale nie jest spójna. Podczas iteracji tworzona jest kopia kolejki w momencie utworzenia, a kopia ta będzie używana jako miejsce docelowe iteracji. Jeśli kolejka jest modyfikowana w okresie iteracji, ERROR(/ConcurrentModificationException) nie zostanie zgłoszony, ale iterator nie odzwierciedla zmienionej zawartości.

Podsumowanie

Zagnieżdżone klasy

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

ConditionPriorityBlockingQueue.IMatcher które pasują do dowolnego obiektu. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

Interfejs służący do określania, czy elementy pasują do jakiegoś rodzaju warunku. 

Konstruktory publiczne

ConditionPriorityBlockingQueue()

Tworzy ConditionPriorityBlockingQueue

Elementy będą nadane priorytet w kolejności zgodnej z FIFO.

ConditionPriorityBlockingQueue( c)

Tworzy ConditionPriorityBlockingQueue

Metody publiczne

boolean add(T addedElement)

Wstawia określony element do tej kolejki.

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

Dodaje element do kolejki, zastępując istniejący obiekt spełniający dany warunek.

void clear()

Usuwa wszystkie elementy z tej kolejki.

boolean contains(T object)

Sprawdź, czy obiekt znajduje się obecnie w tej kolejce.

getCopy()

Pobierz kopię zawartości kolejki.

iterator()

T poll(long timeout, TimeUnit unit)

Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator) T w argumencie w kolejce.

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

Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator) T w argumencie kolejka, w której matcher.matches(T) to true.

T poll(IMatcher<T> matcher)

Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator) T w argumencie kolejka, w której matcher.matches(T) to true.

T poll()

Pobiera i usuwa nagłówek tej kolejki.

boolean remove(T object)

Usuwa element z kolejki.

int size()
T take()

Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator) T w argumencie w kolejce.

T take(IMatcher<T> matcher)

Pobiera i usuwa pierwszy element T w kolejce, w którym znajduje się matcher.matches(T) true. W razie potrzeby poczekaj, aż taki element będzie dostępny.

Konstruktory publiczne

ConditionPriorityBlockQueue

public ConditionPriorityBlockingQueue ()

Tworzy ConditionPriorityBlockingQueue

Elementy będą nadane priorytet w kolejności zgodnej z FIFO.

ConditionPriorityBlockQueue

public ConditionPriorityBlockingQueue ( c)

Tworzy ConditionPriorityBlockingQueue

Parametry
c : ERROR(/Comparator) określa priorytet kolejki.

Metody publiczne

dodaj

public boolean add (T addedElement)

Wstawia określony element do tej kolejki. Kolejka jest niepowiązana, więc ta metoda i nigdy nie blokować.

Parametry
addedElement T: element do dodania

Zwroty
boolean true

Rzuty
ClassCastException jeśli określonego elementu nie można porównać z elementami aktualnie w kolejce priorytetów według kolejności w kolejce priorytetów
NullPointerException jeśli określony element ma wartość null

addUnique

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

Dodaje element do kolejki, zastępując istniejący obiekt spełniający dany warunek.

Parametry
matcher IMatcher: dopasowanie do oceny istniejących obiektów

object T: obiekt do dodania

Zwroty
T zastąpiony obiekt lub null, jeśli żaden nie istnieje

wyczyść

public void clear ()

Usuwa wszystkie elementy z tej kolejki.

zawiera

public boolean contains (T object)

Sprawdź, czy obiekt znajduje się obecnie w tej kolejce.

Parametry
object T: obiekt do znalezienia;

Zwroty
boolean true, jeśli dany obiekt jest w kolejce. false> w przeciwnym razie.

getCopy

public  getCopy ()

Pobierz kopię zawartości kolejki.

Zwroty

iterator

public  iterator ()

Zwroty

ankieta

public T poll (long timeout, 
                TimeUnit unit)

Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator) T w argumencie w kolejce.

Zablokowanie możliwości udostępnienia elementu do timeout raza.

Parametry
timeout long: czas oczekiwania na dostępność elementu.

unit TimeUnit: ERROR(/TimeUnit) limitu czasu

Zwroty
T minimalną liczbę dopasowanych elementów lub null, jeśli nie ma pasujących elementów

ankieta

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

Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator) T w argumencie kolejka, w której matcher.matches(T) to true.

Zablokowanie możliwości udostępnienia elementu do timeout raza.

Parametry
timeout long: czas oczekiwania na dostępność elementu.

unit TimeUnit: ERROR(/TimeUnit) limitu czasu

matcher IMatcher: obiekt IMatcher używany do oceny elementów

Zwroty
T minimalną liczbę dopasowanych elementów lub null, jeśli nie ma pasujących elementów

ankieta

public T poll (IMatcher<T> matcher)

Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator) T w argumencie kolejka, w której matcher.matches(T) to true.

Parametry
matcher IMatcher: obiekt IMatcher używany do oceny elementów

Zwroty
T minimalną liczbę dopasowanych elementów lub null, jeśli nie ma pasujących elementów

ankieta

public T poll ()

Pobiera i usuwa nagłówek tej kolejki.

Zwroty
T nagłówek tej kolejki, lub null, jeśli kolejka jest pusta

usuwania

public boolean remove (T object)

Usuwa element z kolejki.

Parametry
object T: obiekt do usunięcia.

Zwroty
boolean true, jeśli dany obiekt został usunięty z kolejki. false> w przeciwnym razie.

rozmiar

public int size ()

Zwroty
int liczbę elementów w kolejce

wziąć

public T take ()

Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator) T w argumencie w kolejce.

Blokuje dostęp do elementu na czas nieokreślony.

Zwroty
T na początku tej kolejki

Rzuty
InterruptedException jeśli przerwano podczas oczekiwania

wziąć

public T take (IMatcher<T> matcher)

Pobiera i usuwa pierwszy element T w kolejce, w którym znajduje się matcher.matches(T) true. W razie potrzeby poczekaj, aż taki element będzie dostępny.

Parametry
matcher IMatcher: obiekt IMatcher używany do oceny elementów

Zwroty
T dopasowany element

Rzuty
InterruptedException jeśli przerwano podczas oczekiwania