java.lang.Object
org.pdfsam.eventstudio.Listeners
A thread-safe holder for the listeners
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final recordListener wrapper around an explicitly definedListener(package private) static classHolder for aListeners.ListenerWrapper(package private) static interfaceWraps a listener defined either explicitly or picked up by the annotation processorprivate static final recordReflective invocation of an annotated listener -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<Class<?>, TreeSet<Listeners.ListenerReferenceHolder>> private final ReentrantReadWriteLockprivate static final org.slf4j.Logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) <T> voidadd(Class<T> eventClass, Listener<T> listener, int priority, ReferenceStrength strength, boolean once) addAll(Object bean, List<Annotations.ReflectiveListenerDescriptor> descriptors) private TreeSet<Listeners.ListenerReferenceHolder> nullSafeGetListenerHolders(Class<?> eventClass) (package private) List<Listeners.ListenerReferenceHolder> nullSafeGetListeners(Class<?> eventClass) (package private) booleanremove(Class<?> eventClass, Listeners.ListenerReferenceHolder listener) Removes the listener listening for the given event if present.(package private) <T> booleanRemoves the listener listening for the given event if present.private booleanremoveListenerAndSetIfNeeded(Class<?> eventClass, Listeners.ListenerReferenceHolder listener, TreeSet<Listeners.ListenerReferenceHolder> set)
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
lock
-
listeners
-
-
Constructor Details
-
Listeners
Listeners()
-
-
Method Details
-
add
<T> void add(Class<T> eventClass, Listener<T> listener, int priority, ReferenceStrength strength, boolean once) -
addAll
public Set<Class<?>> addAll(Object bean, List<Annotations.ReflectiveListenerDescriptor> descriptors) -
nullSafeGetListenerHolders
-
remove
Removes the listener listening for the given event if present. It also removes the listeners set from the map if the set is empty.- Returns:
- true if the listener was present and has been removed
-
remove
Removes the listener listening for the given event if present. It also removes the listeners set from the map if the set is empty.- Returns:
- true if the listener was present and has been removed
-
removeListenerAndSetIfNeeded
private boolean removeListenerAndSetIfNeeded(Class<?> eventClass, Listeners.ListenerReferenceHolder listener, TreeSet<Listeners.ListenerReferenceHolder> set) -
nullSafeGetListeners
- Returns:
- A sorted set containing the listeners queue for the given class.
-