L
- listener typepublic class CategorisedListenerSet<L> extends Object
ALL
qui permet d'envoyer un event
a tous les listeners.
Si cette classe est la derniere classe a conserver l'objet categorie
alors la categorie est libere et ainsi que les listeners si c'etait aussi
leur derniers referencements
Si les categories sont representees par des Class, alors vous pouvez utiliser la hierachie de classe pour creer de facon automatique les peres.
ListenerSet
Modifier and Type | Field and Description |
---|---|
static Object |
ALL
permet de remplacer toutes les categories.
|
protected WeakHashMap<Object,Object> |
categoryParent |
protected boolean |
isClassCategory |
protected WeakHashMap<Object,ListenerSet<L>> |
listeners
HashMap de ListenerSet, en cle l'objet qui caracterise la categorie
en valeur un ListenerSet
|
Constructor and Description |
---|
CategorisedListenerSet()
Empty constructor.
|
CategorisedListenerSet(boolean isClassCategory) |
Modifier and Type | Method and Description |
---|---|
void |
add(Object category,
L l)
Ajoute un listener sur une certaine categorie, si la categorie n'existe
alors on la crée en ne lui affectant pas de père
|
void |
addCategory(Object parent,
Object newCategory)
Ajoute une categorie en indiquant sont pere.
|
protected void |
checkCategory(Object category) |
void |
fire(Object category,
String methodName)
Permet de lancer un event dans une categorie, l'event est aussi propagé
sur les ancètres de la categorie, si un meme objet etait listener
dans plusieurs categories alors il ne recevra qu'une seul notification
|
void |
fire(Object category,
String methodName,
Object event)
Permet de lancer un event dans une categorie, l'event est aussi propagé
sur les ancètres de la categorie
|
protected ListenerSet<L> |
getAllListeners(Object category) |
protected ListenerSet<L> |
getListeners(Object category) |
protected ListenerSet<L> |
getListenersClass(Class<?> category) |
Iterator<L> |
iterator(Object category)
Retourne un Iterator sur tous les listeners qu'il faut prevenir si on
souhaite prevenir une certaine categorie.
|
void |
remove(Object category,
L l)
Supprime un listener d'une categorie, si la categorie ou le listener
n'existe pas, rien ne se passe.
|
String |
toString() |
public static final Object ALL
protected WeakHashMap<Object,ListenerSet<L>> listeners
protected WeakHashMap<Object,Object> categoryParent
protected boolean isClassCategory
public CategorisedListenerSet()
public CategorisedListenerSet(boolean isClassCategory)
isClassCategory
- si vrai et que les categorie passé en arguement
lors de l'ajout sont de type Class alors lors du fire on recherche aussi
les peres dans la hierarchie d'heritage de la classe (Super class et
interfaces)protected void checkCategory(Object category)
public void addCategory(Object parent, Object newCategory)
parent
- le pere de la categorie, null si on ne souhaite pas de perenewCategory
- la nouvelle caterogiepublic void add(Object category, L l)
category
- la categorie dans lequel il faut ajouter le listenerl
- le listener a ajouterpublic void remove(Object category, L l)
category
- la categorie dans lequel il faut supprimer le listenerl
- le listener a supprimerpublic void fire(Object category, String methodName, Object event) throws Exception
category
- la categorie a partir duquel il faut lancer l'evenementmethodName
- le nom de la méthode de la classe listenerevent
- l'objet event a passer en paramètre de la methode du
listenerException
- if event can't be firedpublic void fire(Object category, String methodName) throws Exception
category
- la categorie a partir duquel il faut lancer l'evenementmethodName
- le nom de la méthode de la classe listenerException
- if event can't be firedpublic Iterator<L> iterator(Object category)
category
- category to get iterator onprotected ListenerSet<L> getAllListeners(Object category)
category
- categorie demandeeprotected ListenerSet<L> getListenersClass(Class<?> category)
protected ListenerSet<L> getListeners(Object category)
category
- categorie demandeeCopyright © 2004–2020 CodeLutin. All rights reserved.