ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

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


Es una clase segura para subprocesos con operaciones similares a PriorityBlockingQueue que puede recuperar objetos que coinciden con una condición determinada.

La iteración también es segura para subprocesos, pero no es coherente. Se hace una copia de la fila en el momento de la creación del iterador, y esa copia se usa como destino de la iteración. Si se modifica la fila durante la iteración, no se arrojará un ConcurrentModificationException, pero el iterador tampoco reflejará el contenido modificado.

Resumen

Clases anidadas

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

Un ConditionPriorityBlockingQueue.IMatcher que coincide con cualquier objeto. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

Es una interfaz para determinar si los elementos coinciden con algún tipo de condición. 

Constructores públicos

ConditionPriorityBlockingQueue()

Crea un ConditionPriorityBlockingQueue.

Los elementos se priorizarán en orden FIFO.

ConditionPriorityBlockingQueue(Comparator<T> c)

Crea un ConditionPriorityBlockingQueue.

Métodos públicos

boolean add(T addedElement)

Inserta el elemento especificado en esta cola.

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

Agrega un elemento a esta cola y reemplaza cualquier objeto existente que coincida con la condición determinada.

void clear()

Quita todos los elementos de esta cola.

boolean contains(T object)

Determina si un objeto se encuentra actualmente en esta fila.

List<T> getCopy()

Obtiene una copia del contenido de la fila.

Iterator<T> iterator()

T poll(IMatcher<T> matcher)

Recupera y quita el mínimo (según el elemento Comparator proporcionado T en la cola donde matcher.matches(T) es true.

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

Recupera y quita el mínimo (según el elemento Comparator proporcionado T en la cola donde matcher.matches(T) es true.

T poll(long timeout, TimeUnit unit)

Recupera y quita el mínimo (según el elemento Comparator proporcionado T) de la fila.

T poll()

Recupera y quita el encabezado de esta fila.

boolean remove(T object)

Quita un elemento de esta fila.

int size()
T take()

Recupera y quita el mínimo (según el elemento Comparator proporcionado T) de la fila.

T take(IMatcher<T> matcher)

Recupera y quita el primer elemento T de la fila en la que matcher.matches(T) es true, y espera si es necesario hasta que haya un elemento disponible.

Constructores públicos

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Crea un ConditionPriorityBlockingQueue.

Los elementos se priorizarán en orden FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue (Comparator<T> c)

Crea un ConditionPriorityBlockingQueue.

Parámetros
c Comparator: Es el Comparator que se usa para priorizar la cola.

Métodos públicos

agregar

public boolean add (T addedElement)

Inserta el elemento especificado en esta cola. Como la cola no tiene límites, este método nunca se bloqueará.

Parámetros
addedElement T: El elemento que se agregará

Muestra
boolean true

Arroja
ClassCastException si el elemento especificado no se puede comparar con los elementos que se encuentran actualmente en la cola de prioridad según el orden de la cola de prioridad
NullPointerException si el elemento especificado es nulo

addUnique

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

Agrega un elemento a esta cola y reemplaza cualquier objeto existente que coincida con la condición determinada.

Parámetros
matcher IMatcher: Es el comparador para evaluar objetos existentes.

object T: El objeto que se agregará

Muestra
T El objeto reemplazado o null si no existe ninguno

borrar

public void clear ()

Quita todos los elementos de esta cola.

contiene

public boolean contains (T object)

Determina si un objeto se encuentra actualmente en esta fila.

Parámetros
object T: Es el objeto que se debe encontrar.

Muestra
boolean Devuelve true si el objeto determinado está incluido en la fila. false> en caso contrario.

getCopy

public List<T> getCopy ()

Obtiene una copia del contenido de la fila.

Muestra
List<T>

iterador

public Iterator<T> iterator ()

Muestra
Iterator<T>

sondear

public T poll (IMatcher<T> matcher)

Recupera y quita el mínimo (según el elemento Comparator proporcionado T en la cola donde matcher.matches(T) es true.

Parámetros
matcher IMatcher: Es el IMatcher que se usará para evaluar elementos.

Muestra
T el elemento coincidente mínimo o null si no hay elementos coincidentes

sondear

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

Recupera y quita el mínimo (según el elemento Comparator proporcionado T en la cola donde matcher.matches(T) es true.

Bloquea hasta timeout tiempo para que un elemento esté disponible.

Parámetros
timeout long: Es la cantidad de tiempo que se espera para que un elemento esté disponible.

unit TimeUnit: Es el TimeUnit de tiempo de espera.

matcher IMatcher: Es el IMatcher que se usará para evaluar elementos.

Muestra
T el elemento coincidente mínimo o null si no hay elementos coincidentes

Arroja
InterruptedException

sondear

public T poll (long timeout, 
                TimeUnit unit)

Recupera y quita el mínimo (según el elemento Comparator proporcionado T) de la fila.

Bloquea hasta timeout tiempo para que un elemento esté disponible.

Parámetros
timeout long: Es la cantidad de tiempo que se espera para que un elemento esté disponible.

unit TimeUnit: Es el TimeUnit de tiempo de espera.

Muestra
T el elemento coincidente mínimo o null si no hay elementos coincidentes

Arroja
InterruptedException

sondear

public T poll ()

Recupera y quita el encabezado de esta fila.

Muestra
T El primer elemento de esta fila o null si la fila está vacía

quitar

public boolean remove (T object)

Quita un elemento de esta fila.

Parámetros
object T: El objeto que se quitará

Muestra
boolean true si se quitó el objeto determinado de la fila. false> en caso contrario.

tamaño

public int size ()

Muestra
int La cantidad de elementos en la cola

toma

public T take ()

Recupera y quita el mínimo (según el elemento Comparator proporcionado T) de la fila.

Bloquea de forma indefinida hasta que un elemento esté disponible.

Muestra
T el encabezado de esta fila

Arroja
InterruptedException Si se interrumpe mientras espera

toma

public T take (IMatcher<T> matcher)

Recupera y quita el primer elemento T de la fila en la que matcher.matches(T) es true, y espera si es necesario hasta que haya un elemento disponible.

Parámetros
matcher IMatcher: Es el IMatcher que se usará para evaluar elementos.

Muestra
T el elemento coincidente

Arroja
InterruptedException Si se interrumpe mientras espera