public interface EnhancedObject
CopyOnWriteArrayList
, so their behavior is similar.Callback.beforeCall(Object, Object[]) and
Callback.afterCall(Object, Object[], Object) are treated as separate
invocations, so adding/removing listener in beforeCall will affect afterCall.| Modifier and Type | Method and Description |
|---|---|
void |
addCallback(Callback callback)
Adds callback to this object.
|
ReentrantReadWriteLock |
getCallbackLock()
Returns lock that is used to ensure thread safety
|
Map<Class<? extends Callback>,List<Callback>> |
getCallbacks()
Returns all callbacks associated with this.
|
void |
removeCallback(Callback callback)
Removes callback from this object.
|
void |
setCallbacks(Map<Class<? extends Callback>,List<Callback>> callbacks)
Associates callback map with this object.
|
void addCallback(Callback callback)
concurrency descriptioncallback - instance of callback to addObjectCallbackHelper.addCallback(Callback,
EnhancedObject)void removeCallback(Callback callback)
concurrency descriptioncallback - instance of callback to removeObjectCallbackHelper.removeCallback(Callback,
EnhancedObject)Map<Class<? extends Callback>,List<Callback>> getCallbacks()
getCallbackLock() is locked in read mode to read.getCallbackLock() is in write mode void setCallbacks(Map<Class<? extends Callback>,List<Callback>> callbacks)
getCallbackLock() is
in write-mode lock when calling this method callbacks - callbackMap or nullReentrantReadWriteLock getCallbackLock()
Copyright © 2014–2015. All rights reserved.