ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

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


Une classe thread-safe avec des opérations de type ERROR(/PriorityBlockingQueue) qui peuvent récupérer des objets qui correspondent à une certaine condition.

L'itération est également thread-safe, mais n'est pas cohérente. Une copie de la file d'attente est effectuée au moment de la création de l'itérateur et cette copie est utilisée comme cible de l'itération. Si la file d'attente est modifiée pendant l'itération, une ERROR(/ConcurrentModificationException) ne sera pas levée, mais l'itérateur ne reflétera pas non plus le contenu modifié.

Résumé

Classes imbriquées

class ConditionPriorityBlockingQueue.AlwaysMatch <T>

Un ConditionPriorityBlockingQueue.IMatcher qui correspond à n'importe quel objet.

interface ConditionPriorityBlockingQueue.IMatcher <T>

Une interface pour déterminer si les éléments correspondent à une sorte de condition.

Constructeurs publics

ConditionPriorityBlockingQueue ()

Crée une ConditionPriorityBlockingQueue

Les éléments seront priorisés dans l’ordre FIFO.

ConditionPriorityBlockingQueue ( c) ConditionPriorityBlockingQueue ( c)

Crée une ConditionPriorityBlockingQueue

Méthodes publiques

boolean add (T addedElement)

Insère l'élément spécifié dans cette file d'attente.

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

Ajoute un élément à cette file d'attente, remplaçant tout objet existant qui correspond à une condition donnée

void clear ()

Supprime tous les éléments de cette file d'attente.

boolean contains (T object)

Déterminez si un objet est actuellement contenu dans cette file d'attente.

getCopy ()

Obtenez une copie du contenu de la file d'attente.

iterator ()

T poll (long timeout, TimeUnit unit)

Récupère et supprime le minimum (en fonction de l'élément ERROR(/Comparator) T fourni dans la file d'attente.

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

Récupère et supprime le minimum (à en juger par l'élément ERROR(/Comparator) T fourni dans la file d'attente où matcher.matches(T) est true .

T poll ( IMatcher <T> matcher)

Récupère et supprime le minimum (à en juger par l'élément ERROR(/Comparator) T fourni dans la file d'attente où matcher.matches(T) est true .

T poll ()

Récupère et supprime la tête de cette file d'attente.

boolean remove (T object)

Supprime un élément de cette file d'attente.

int size ()
T take ()

Récupère et supprime le minimum (en fonction de l'élément ERROR(/Comparator) T fourni dans la file d'attente.

T take ( IMatcher <T> matcher)

Récupère et supprime le premier élément T de la file d'attente où matcher.matches(T) vaut true , en attendant si nécessaire qu'un tel élément soit disponible.

Constructeurs publics

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Crée une ConditionPriorityBlockingQueue

Les éléments seront priorisés dans l’ordre FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Crée une ConditionPriorityBlockingQueue

Paramètres
c : l' ERROR(/Comparator) utilisée pour prioriser la file d'attente.

Méthodes publiques

ajouter

public boolean add (T addedElement)

Insère l'élément spécifié dans cette file d'attente. Comme la file d'attente est illimitée, cette méthode ne bloquera jamais.

Paramètres
addedElement T : l'élément à ajouter

Retour
boolean true

Jetés
ClassCastException si l'élément spécifié ne peut pas être comparé aux éléments actuellement dans la file d'attente prioritaire selon l'ordre de la file d'attente prioritaire
NullPointerException si l'élément spécifié est nul

ajouterUnique

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

Ajoute un élément à cette file d'attente, remplaçant tout objet existant qui correspond à une condition donnée

Paramètres
matcher IMatcher : le matcher pour évaluer les objets existants

object T : l'objet à ajouter

Retour
T l'objet remplacé ou null s'il n'en existe pas

clair

public void clear ()

Supprime tous les éléments de cette file d'attente.

contient

public boolean contains (T object)

Déterminez si un objet est actuellement contenu dans cette file d'attente.

Paramètres
object T : l'objet à trouver

Retour
boolean true si l'objet donné est contenu dans la file d'attente. false> sinon.

obtenirCopie

public  getCopy ()

Obtenez une copie du contenu de la file d'attente.

Retour

itérateur

public  iterator ()

Retour

sondage

public T poll (long timeout, 
                TimeUnit unit)

Récupère et supprime le minimum (en fonction de l'élément ERROR(/Comparator) T fourni dans la file d'attente.

Bloque jusqu'au délai timeout pour qu'un élément devienne disponible.

Paramètres
timeout long : le temps d'attente pour qu'un élément devienne disponible

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

Retour
T l'élément correspondant minimum ou null s'il n'y a aucun élément correspondant

sondage

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

Récupère et supprime le minimum (à en juger par l'élément ERROR(/Comparator) T fourni dans la file d'attente où matcher.matches(T) est true .

Bloque jusqu'au délai timeout pour qu'un élément devienne disponible.

Paramètres
timeout long : le temps d'attente pour qu'un élément devienne disponible

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

matcher IMatcher : l' IMatcher à utiliser pour évaluer les éléments

Retour
T l'élément correspondant minimum ou null s'il n'y a aucun élément correspondant

sondage

public T poll (IMatcher<T> matcher)

Récupère et supprime le minimum (à en juger par l'élément ERROR(/Comparator) T fourni dans la file d'attente où matcher.matches(T) est true .

Paramètres
matcher IMatcher : l' IMatcher à utiliser pour évaluer les éléments

Retour
T l'élément correspondant minimum ou null s'il n'y a aucun élément correspondant

sondage

public T poll ()

Récupère et supprime la tête de cette file d'attente.

Retour
T la tête de cette file d'attente, ou null si la file d'attente est vide

retirer

public boolean remove (T object)

Supprime un élément de cette file d'attente.

Paramètres
object T : l'objet à supprimer

Retour
boolean true si l'objet donné a été supprimé de la file d'attente. false> sinon.

taille

public int size ()

Retour
int le nombre d'éléments dans la file d'attente

prendre

public T take ()

Récupère et supprime le minimum (en fonction de l'élément ERROR(/Comparator) T fourni dans la file d'attente.

Bloque indéfiniment pour qu'un élément devienne disponible.

Retour
T la tête de cette file d'attente

Jetés
InterruptedException si interrompu en attendant

prendre

public T take (IMatcher<T> matcher)

Récupère et supprime le premier élément T de la file d'attente où matcher.matches(T) vaut true , en attendant si nécessaire qu'un tel élément soit disponible.

Paramètres
matcher IMatcher : l' IMatcher à utiliser pour évaluer les éléments

Retour
T l'élément correspondant

Jetés
InterruptedException si interrompu en attendant