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) pouvant récupérer des objets qui remplissent une certaine condition.

L'itération est également thread-safe, mais pas cohérente. Une copie de la file d'attente est créée au niveau de l'itérateur de création, et cette copie est utilisée comme cible d'itération. Si la file d'attente est modifiée pendant l'itération, aucune exception ERROR(/ConcurrentModificationException) n'est générée, mais l'itérateur ne reflètent pas non plus le contenu modifié.

Résumé

Classes imbriquées

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

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

interface ConditionPriorityBlockingQueue.IMatcher<T>

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

Constructeurs publics

ConditionPriorityBlockingQueue()

Crée un ConditionPriorityBlockingQueue

Les éléments seront prioritaires dans l'ordre FIFO.

ConditionPriorityBlockingQueue( 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éterminez si un objet se trouve actuellement 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 (tel que jugé par l'élément ERROR(/Comparator) T fourni dans dans la file d'attente.

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

Récupère et supprime le minimum (tel que jugé 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 (tel que jugé 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 le début 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 (tel que jugé par l'élément ERROR(/Comparator) T fourni dans 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) est true, qui attend si nécessaire qu'un tel élément devienne disponible.

Constructeurs publics

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Crée un ConditionPriorityBlockingQueue

Les éléments seront prioritaires dans l'ordre FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Crée un ConditionPriorityBlockingQueue

Paramètres
c : ERROR(/Comparator) utilisé pour hiérarchiser 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 jamais bloquer.

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é à d'autres éléments actuellement dans la file d'attente prioritaire selon l'ordre
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éterminez si un objet se trouve actuellement dans cette file d'attente.

Paramètres
object T: objet à rechercher.

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

getCopy

public  getCopy ()

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

Renvoie

itérateur

public  iterator ()

Renvoie

sondage

public T poll (long timeout, 
                TimeUnit unit)

Récupère et supprime le minimum (tel que jugé par l'élément ERROR(/Comparator) T fourni dans dans la file d'attente.

bloque jusqu'à timeout temps pour qu'un élément soit disponible.

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

unit TimeUnit: ERROR(/TimeUnit) du délai avant expiration

Renvoie
T le nombre minimal d'éléments correspondants ou null s'il n'y a pas d'éléments correspondants

sondage

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

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

bloque jusqu'à timeout temps pour qu'un élément soit disponible.

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

unit TimeUnit: ERROR(/TimeUnit) du délai avant expiration

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

Renvoie
T le nombre minimal d'éléments correspondants ou null s'il n'y a pas d'éléments correspondants

sondage

public T poll (IMatcher<T> matcher)

Récupère et supprime le minimum (tel que jugé par l'élément ERROR(/Comparator) T 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 le nombre minimal d'éléments correspondants ou null s'il n'y a pas d'éléments correspondants

sondage

public T poll ()

Récupère et supprime le début de cette file d'attente.

Renvoie
T le début 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> sinon.

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 le minimum (tel que jugé par l'élément ERROR(/Comparator) T fourni dans dans la file d'attente.

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

Renvoie
T en tête de cette file d'attente

Génère
InterruptedException en cas d'interruption 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, qui attend 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 en cas d'interruption pendant l'attente