Package io.jmix.data.impl
Class EntityListenerManager
java.lang.Object
io.jmix.data.impl.EntityListenerManager
This bean allows to register and fire entity listeners.
Usually entity listeners are registered declaratively with @Listeners annotation on entity class.
Methods addListener(Class, Class) and addListener(Class, String) allow to add listeners dynamically,
e.g. to an entity from a base project.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.beans.factory.BeanFactoryprotected Map<EntityListenerManager.Key,List> protected booleanprotected ReadWriteLockprotected ThreadLocal<List<EntityListenerManager.ListenerExecution>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddListener(Class<?> entityClass, Class<?> listenerClass) Register an entity listener by its class.voidaddListener(Class<?> entityClass, String listenerBeanName) Register an entity listener which is a ManagedBean.voidenable(boolean enable) protected List<?>findListener(Class<?> entityClass, EntityListenerType type) voidfireListener(Object entity, EntityListenerType type, String storeName) getDeclaredListeners(Class<?> entityClass) protected List<?>getListener(Class<?> entityClass, EntityListenerType type) protected voidlogExecution(EntityListenerType type, Object entity) voidremoveListener(Class<?> entityClass, Class<?> listenerClass) Unregister an entity listener.voidremoveListener(Class<?> entityClass, String listenerBeanName) Unregister an entity listener.
-
Field Details
-
beanFactory
@Autowired protected org.springframework.beans.factory.BeanFactory beanFactory -
cache
-
dynamicListeners
-
lock
-
enabled
protected volatile boolean enabled -
threadLocalExecutions
-
-
Constructor Details
-
EntityListenerManager
public EntityListenerManager()
-
-
Method Details
-
addListener
Register an entity listener by its class. The listener instance will be instantiated as a plain object.- Parameters:
entityClass- entitylistenerClass- listener class
-
removeListener
Unregister an entity listener.- Parameters:
entityClass- entitylistenerClass- listener class
-
addListener
Register an entity listener which is a ManagedBean.- Parameters:
entityClass- entitylistenerBeanName- listener bean name
-
removeListener
Unregister an entity listener.- Parameters:
entityClass- entitylistenerBeanName- listener bean name
-
fireListener
-
enable
public void enable(boolean enable) -
logExecution
-
getListener
-
findListener
-
getDeclaredListeners
-