ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

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


Classe thread-safe avec des opérations de type PriorityBlockingQueue permettant de récupérer des objets correspondant à une condition donnée.

L'itération est également thread-safe, mais 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 d'itération. Si la file d'attente est modifiée pendant l'itération, une ConcurrentModificationException ne sera pas générée, mais l'itérateur ne reflétera pas non plus le contenu modifié.

Voir aussi :

Résumé

Classes imbriquées

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

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

interface ConditionPriorityBlockingQueue.IMatcher<T>

Interface permettant de déterminer si des éléments correspondent à une condition. 

Constructeurs publics

ConditionPriorityBlockingQueue()

Crée un ConditionPriorityBlockingQueue.

Les éléments seront traités par ordre d'arrivée.

ConditionPriorityBlockingQueue(Comparator<T> c)

Crée un 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, en remplaçant tout objet existant qui correspond à la condition donnée.

void clear()

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

boolean contains(T object)

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

List<T> getCopy()

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

Iterator<T> iterator()

T poll(IMatcher<T> matcher)

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

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

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

T poll(long timeout, TimeUnit unit)

Récupère et supprime l'élément minimal (selon l'élément Comparator fourni) de la file d'attente.

T poll()

Récupère et supprime l'élément en 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 l'élément minimal (selon l'élément Comparator fourni) de 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) est true, en attendant si nécessaire qu'un tel élément devienne disponible.

Constructeurs publics

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Crée un ConditionPriorityBlockingQueue.

Les éléments seront traités par ordre d'arrivée.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue (Comparator<T> c)

Crée un ConditionPriorityBlockingQueue.

Paramètres
c Comparator : Comparator utilisé pour définir la priorité de 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 n'est pas limitée, cette méthode ne se bloquera jamais.

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

Renvoie
boolean true

Génère
ClassCastException si l'élément spécifié ne peut pas être comparé aux éléments actuellement dans la file d'attente de priorité en fonction de l'ordre de la file d'attente de priorité.
NullPointerException si l'élément spécifié est nul

addUnique

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

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

Paramètres
matcher IMatcher : outil de mise en correspondance pour évaluer les objets existants

object T : objet à ajouter

Renvoie
T l'objet remplacé ou null s'il n'en existe aucun.

effacer

public void clear ()

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

contient

public boolean contains (T object)

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

Paramètres
object T : objet à trouver

Renvoie
boolean true si l'objet donné est contenu dans la file d'attente. false> dans le cas contraire.

getCopy

public List<T> getCopy ()

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

Renvoie
List<T>

iterator

public Iterator<T> iterator ()

Renvoie
Iterator<T>

interroger

public T poll (IMatcher<T> matcher)

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

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

Renvoie
T l'élément correspondant minimal ou null s'il n'y a aucun élément correspondant.

interroger

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

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

Bloque jusqu'à timeout secondes pour qu'un élément devienne disponible.

Paramètres
timeout long : délai d'attente avant qu'un élément ne devienne disponible.

unit TimeUnit : TimeUnit du délai d'inactivité

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

Renvoie
T l'élément correspondant minimal ou null s'il n'y a aucun élément correspondant.

Génère
InterruptedException

interroger

public T poll (long timeout, 
                TimeUnit unit)

Récupère et supprime l'élément minimal (selon l'élément Comparator fourni) de la file d'attente.

Bloque jusqu'à timeout secondes pour qu'un élément devienne disponible.

Paramètres
timeout long : délai d'attente avant qu'un élément ne devienne disponible.

unit TimeUnit : TimeUnit du délai d'inactivité

Renvoie
T l'élément correspondant minimal ou null s'il n'y a aucun élément correspondant.

Génère
InterruptedException

interroger

public T poll ()

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

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

supprimer

public boolean remove (T object)

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

Paramètres
object T : objet à supprimer

Renvoie
boolean true si l'objet donné a été supprimé de la file d'attente. false> dans le cas contraire.

taille

public int size ()

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

prendre

public T take ()

Récupère et supprime l'élément minimal (selon l'élément Comparator fourni) de la file d'attente.

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

Renvoie
T le début de cette file d'attente.

Génère
InterruptedException si l'utilisateur est interrompu pendant l'attente.

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) est true, en attendant si nécessaire qu'un tel élément devienne disponible.

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

Renvoie
T l'élément correspondant

Génère
InterruptedException si l'utilisateur est interrompu pendant l'attente.