ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

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


Uma classe thread-safe com operações semelhantes a PriorityBlockingQueue que podem recuperar objetos que correspondem a uma determinada condição.

A iteração também é thread-safe, mas não consistente. Uma cópia da fila é feita no momento da criação do iterador, e essa cópia é usada como o destino da iteração. Se a fila for modificada durante a iteração, um ConcurrentModificationException não será gerado, mas o iterador também não vai refletir o conteúdo modificado.

Confira também:

Resumo

Classes aninhadas

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

Um ConditionPriorityBlockingQueue.IMatcher que corresponde a qualquer objeto. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

Uma interface para determinar se os elementos correspondem a algum tipo de condição. 

Construtores públicos

ConditionPriorityBlockingQueue()

Cria um ConditionPriorityBlockingQueue.

Os elementos são priorizados na ordem PEPS.

ConditionPriorityBlockingQueue(Comparator<T> c)

Cria um ConditionPriorityBlockingQueue.

Métodos públicos

boolean add(T addedElement)

Insere o elemento especificado nesta fila.

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

Adiciona um item a essa fila, substituindo qualquer objeto existente que corresponda à condição especificada.

void clear()

Remove todos os elementos da fila.

boolean contains(T object)

Determina se um objeto está contido nesta fila.

List<T> getCopy()

Receba uma cópia do conteúdo da fila.

Iterator<T> iterator()

T poll(IMatcher<T> matcher)

Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na fila em que matcher.matches(T) é true.

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

Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na fila em que matcher.matches(T) é true.

T poll(long timeout, TimeUnit unit)

Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na fila).

T poll()

Recupera e remove o início desta fila.

boolean remove(T object)

Remove um item da fila.

int size()
T take()

Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na fila).

T take(IMatcher<T> matcher)

Recupera e remove o primeiro elemento T na fila em que matcher.matches(T) é true, aguardando, se necessário, até que um elemento desse tipo fique disponível.

Construtores públicos

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Cria um ConditionPriorityBlockingQueue.

Os elementos são priorizados na ordem PEPS.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue (Comparator<T> c)

Cria um ConditionPriorityBlockingQueue.

Parâmetros
c Comparator: o Comparator usado para priorizar a fila.

Métodos públicos

adicionar

public boolean add (T addedElement)

Insere o elemento especificado nesta fila. Como a fila não tem limites, esse método nunca vai bloquear.

Parâmetros
addedElement T: o elemento a ser adicionado

Retorna
boolean true

Gera
ClassCastException se o elemento especificado não puder ser comparado com os elementos atualmente na fila de prioridade de acordo com a ordenação dela.
NullPointerException se o elemento especificado for nulo

addUnique

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

Adiciona um item a essa fila, substituindo qualquer objeto existente que corresponda à condição especificada.

Parâmetros
matcher IMatcher: o comparador para avaliar objetos atuais.

object T: o objeto a ser adicionado

Retorna
T o objeto substituído ou null se nenhum existir

limpar

public void clear ()

Remove todos os elementos da fila.

contém

public boolean contains (T object)

Determina se um objeto está contido nesta fila.

Parâmetros
object T: o objeto a ser encontrado

Retorna
boolean true se o objeto especificado estiver na fila. false> caso contrário.

getCopy

public List<T> getCopy ()

Receba uma cópia do conteúdo da fila.

Retorna
List<T>

iterator

public Iterator<T> iterator ()

Retorna
Iterator<T>

enquete

public T poll (IMatcher<T> matcher)

Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na fila em que matcher.matches(T) é true.

Parâmetros
matcher IMatcher: o IMatcher a ser usado para avaliar elementos.

Retorna
T o elemento correspondente mínimo ou null se não houver elementos correspondentes

enquete

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

Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na fila em que matcher.matches(T) é true.

Bloqueia até timeout tempo para que um elemento fique disponível.

Parâmetros
timeout long: o tempo de espera para que um elemento fique disponível.

unit TimeUnit: o TimeUnit de tempo limite

matcher IMatcher: o IMatcher a ser usado para avaliar elementos.

Retorna
T o elemento correspondente mínimo ou null se não houver elementos correspondentes

Gera
InterruptedException

enquete

public T poll (long timeout, 
                TimeUnit unit)

Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na fila).

Bloqueia até timeout tempo para que um elemento fique disponível.

Parâmetros
timeout long: o tempo de espera para que um elemento fique disponível.

unit TimeUnit: o TimeUnit de tempo limite

Retorna
T o elemento correspondente mínimo ou null se não houver elementos correspondentes

Gera
InterruptedException

enquete

public T poll ()

Recupera e remove o início desta fila.

Retorna
T a frente da fila ou null se a fila estiver vazia

remover

public boolean remove (T object)

Remove um item da fila.

Parâmetros
object T: o objeto a ser removido

Retorna
boolean true se o objeto especificado foi removido da fila. false> caso contrário.

tamanho

public int size ()

Retorna
int o número de elementos na fila

ocupar

public T take ()

Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na fila).

Bloqueia indefinidamente até que um elemento fique disponível.

Retorna
T o início da fila

Gera
InterruptedException se for interrompido enquanto espera

ocupar

public T take (IMatcher<T> matcher)

Recupera e remove o primeiro elemento T na fila em que matcher.matches(T) é true, aguardando, se necessário, até que um elemento desse tipo fique disponível.

Parâmetros
matcher IMatcher: o IMatcher a ser usado para avaliar elementos.

Retorna
T o elemento correspondente

Gera
InterruptedException se for interrompido enquanto espera