Package com.pointrlabs.core.util
Class PTRAdvertiserImpl
-
- All Implemented Interfaces:
-
com.pointrlabs.core.management.interfaces.Advertiser
public class PTRAdvertiserImpl<T extends Object> implements Advertiser<T>
Base implementation for Advertiser. Handles the synchronization.
Stores listeners in a HashSet. Offers a convenience method to properly advertise events to listeners. @see advertise
-
-
Constructor Summary
Constructors Constructor Description PTRAdvertiserImpl()
-
Method Summary
Modifier and Type Method Description final Set<T>
getListeners()
final Unit
setListeners(Set<T> listeners)
final Object
getLock()
Unit
addListener(T listener)
Adds listener to receive callbacks Unit
removeListener(T listener)
Removes listener to stop receiving callbacks final Unit
removeAllListeners()
final Boolean
isListenersEmpty()
Thread safe check to isEmpty final Unit
advertise(AdvertiseFunction<T> advertiserFunction)
Executes given function for every listener that's previously added -
-
Method Detail
-
getListeners
final Set<T> getListeners()
-
setListeners
final Unit setListeners(Set<T> listeners)
-
addListener
Unit addListener(T listener)
Adds listener to receive callbacks
- Parameters:
listener
- A listener of type T
-
removeListener
Unit removeListener(T listener)
Removes listener to stop receiving callbacks
- Parameters:
listener
- A listener of type T
-
removeAllListeners
final Unit removeAllListeners()
-
isListenersEmpty
final Boolean isListenersEmpty()
Thread safe check to isEmpty
-
advertise
final Unit advertise(AdvertiseFunction<T> advertiserFunction)
Executes given function for every listener that's previously added
- Parameters:
advertiserFunction
- to accept a listener and perform the advertise operation
-
-
-
-