Class EntityListener<T>
- java.lang.Object
-
- org.eclipse.persistence.descriptors.DescriptorEventAdapter
-
- org.eclipse.persistence.internal.jpa.metadata.listeners.EntityListener<T>
-
- All Implemented Interfaces:
java.util.EventListener,org.eclipse.persistence.descriptors.DescriptorEventListener
- Direct Known Subclasses:
EntityClassListener
public class EntityListener<T> extends org.eclipse.persistence.descriptors.DescriptorEventAdapterAn EntityListener is placed on the owning entity's descriptor. Callback methods from an EntityListener require a signature on the method. Namely, they must have an Object parameter.- Since:
- Eclipselink 1.0
- Author:
- Guy Pelletier
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPOST_BUILDstatic java.lang.StringPOST_CLONEstatic java.lang.StringPOST_DELETEstatic java.lang.StringPOST_INSERTstatic java.lang.StringPOST_REFRESHstatic java.lang.StringPOST_UPDATEstatic java.lang.StringPRE_PERSISTstatic java.lang.StringPRE_REMOVEstatic java.lang.StringPRE_UPDATE_WITH_CHANGES
-
Constructor Summary
Constructors Modifier Constructor Description protectedEntityListener(java.lang.Class entityClass)INTERNAL:EntityListener(java.lang.Class<T> listenerClass, java.lang.Class entityClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEventMethod(java.lang.String event, java.lang.reflect.Method method)INTERNAL: You can have multiple event methods for the same event, however, only one event method per class is permitted.protected TconstructListenerInstance()Construct an instance of the wrapped entity listener This method will attempt to create the listener in a CDI injection friendly manner and if that fails, reflectively instantiate the classprotected TcreateEntityListenerAndInjectDependencies(java.lang.Class<T> entityListenerClass)Create the wrapped listener and trigger CDI injection.java.util.Map<java.lang.String,java.util.List<java.lang.reflect.Method>>getAllEventMethods()INTERNAL:java.lang.ClassgetEntityClass()INTERNAL:protected java.util.List<java.lang.reflect.Method>getEventMethods(int eventCode)INTERNAL:protected java.util.List<java.lang.reflect.Method>getEventMethods(java.lang.String event)INTERNAL:protected java.lang.reflect.MethodgetLastEventMethod(java.lang.String event)INTERNAL: Assumes a check for event methods for the given event has been called beforehand.TgetListener()java.lang.ClassgetListenerClass()INTERNAL:org.eclipse.persistence.internal.sessions.AbstractSessiongetOwningSession()INTERNAL:booleanhasCallbackMethods()INTERNAL:protected booleanhasEventMethods(int eventCode)INTERNAL:protected booleanhasEventMethods(java.lang.String event)INTERNAL:protected booleanhasOverriddenEventMethod(java.lang.reflect.Method eventMethod, int eventCode)INTERNAL:protected booleanhasOverriddenEventMethod(java.lang.reflect.Method eventMethod, java.lang.String eventCode)INTERNAL:protected booleanhasOverriddenEventMethod(java.util.List<java.lang.reflect.Method> eventMethods, java.lang.reflect.Method eventMethod)INTERNAL:booleanisOverriddenEvent(org.eclipse.persistence.descriptors.DescriptorEvent event, java.util.List<org.eclipse.persistence.descriptors.DescriptorEventManager> eventManagers)INTERNAL: Return true if listener has a lifecycle callback method that is overridden in a subclass.voidpostBuild(org.eclipse.persistence.descriptors.DescriptorEvent event)INTERNAL:voidpostClone(org.eclipse.persistence.descriptors.DescriptorEvent event)INTERNAL:voidpostDelete(org.eclipse.persistence.descriptors.DescriptorEvent event)INTERNAL:voidpostInsert(org.eclipse.persistence.descriptors.DescriptorEvent event)INTERNAL:voidpostRefresh(org.eclipse.persistence.descriptors.DescriptorEvent event)INTERNAL:voidpostUpdate(org.eclipse.persistence.descriptors.DescriptorEvent event)INTERNAL:voidprePersist(org.eclipse.persistence.descriptors.DescriptorEvent event)INTERNAL:voidpreRemove(org.eclipse.persistence.descriptors.DescriptorEvent event)INTERNAL:voidpreUpdateWithChanges(org.eclipse.persistence.descriptors.DescriptorEvent event)INTERNAL:voidsetAllEventMethods(java.util.Map<java.lang.String,java.util.List<java.lang.reflect.Method>> methods)INTERNAL:voidsetOwningSession(org.eclipse.persistence.internal.sessions.AbstractSession owningSession)INTERNAL:voidsetPostBuildMethod(java.lang.reflect.Method method)INTERNAL:voidsetPostCloneMethod(java.lang.reflect.Method method)INTERNAL:voidsetPostDeleteMethod(java.lang.reflect.Method method)INTERNAL:voidsetPostInsertMethod(java.lang.reflect.Method method)INTERNAL:voidsetPostRefreshMethod(java.lang.reflect.Method method)INTERNAL:voidsetPostUpdateMethod(java.lang.reflect.Method method)INTERNAL:voidsetPrePersistMethod(java.lang.reflect.Method method)INTERNAL:voidsetPreRemoveMethod(java.lang.reflect.Method method)INTERNAL:voidsetPreUpdateWithChangesMethod(java.lang.reflect.Method method)INTERNAL:java.lang.StringtoString()INTERNAL: Used in the debugger.protected voidvalidateMethod(java.lang.reflect.Method method)INTERNAL:protected voidvalidateMethodModifiers(java.lang.reflect.Method method)INTERNAL:
-
-
-
Field Detail
-
POST_BUILD
public static final java.lang.String POST_BUILD
- See Also:
- Constant Field Values
-
POST_CLONE
public static final java.lang.String POST_CLONE
- See Also:
- Constant Field Values
-
POST_DELETE
public static final java.lang.String POST_DELETE
- See Also:
- Constant Field Values
-
POST_INSERT
public static final java.lang.String POST_INSERT
- See Also:
- Constant Field Values
-
POST_REFRESH
public static final java.lang.String POST_REFRESH
- See Also:
- Constant Field Values
-
POST_UPDATE
public static final java.lang.String POST_UPDATE
- See Also:
- Constant Field Values
-
PRE_PERSIST
public static final java.lang.String PRE_PERSIST
- See Also:
- Constant Field Values
-
PRE_REMOVE
public static final java.lang.String PRE_REMOVE
- See Also:
- Constant Field Values
-
PRE_UPDATE_WITH_CHANGES
public static final java.lang.String PRE_UPDATE_WITH_CHANGES
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EntityListener
protected EntityListener(java.lang.Class entityClass)
INTERNAL:
-
EntityListener
public EntityListener(java.lang.Class<T> listenerClass, java.lang.Class entityClass)
-
-
Method Detail
-
addEventMethod
public void addEventMethod(java.lang.String event, java.lang.reflect.Method method)INTERNAL: You can have multiple event methods for the same event, however, only one event method per class is permitted.
-
createEntityListenerAndInjectDependencies
protected T createEntityListenerAndInjectDependencies(java.lang.Class<T> entityListenerClass)
Create the wrapped listener and trigger CDI injection.- Parameters:
entityListenerClass- theEntityListenerclass- Returns:
- the class instance that has had injection run on it. If injection fails, null.
-
constructListenerInstance
protected T constructListenerInstance()
Construct an instance of the wrapped entity listener This method will attempt to create the listener in a CDI injection friendly manner and if that fails, reflectively instantiate the class- Returns:
- the entity listener instance
-
getEntityClass
public java.lang.Class getEntityClass()
INTERNAL:
-
getAllEventMethods
public java.util.Map<java.lang.String,java.util.List<java.lang.reflect.Method>> getAllEventMethods()
INTERNAL:
-
setAllEventMethods
public void setAllEventMethods(java.util.Map<java.lang.String,java.util.List<java.lang.reflect.Method>> methods)
INTERNAL:
-
setOwningSession
public void setOwningSession(org.eclipse.persistence.internal.sessions.AbstractSession owningSession)
INTERNAL:
-
getEventMethods
protected java.util.List<java.lang.reflect.Method> getEventMethods(int eventCode)
INTERNAL:
-
getEventMethods
protected java.util.List<java.lang.reflect.Method> getEventMethods(java.lang.String event)
INTERNAL:
-
getLastEventMethod
protected java.lang.reflect.Method getLastEventMethod(java.lang.String event)
INTERNAL: Assumes a check for event methods for the given event has been called beforehand.
-
getListener
public T getListener()
-
getListenerClass
public java.lang.Class getListenerClass()
INTERNAL:
-
getOwningSession
public org.eclipse.persistence.internal.sessions.AbstractSession getOwningSession()
INTERNAL:
-
hasCallbackMethods
public boolean hasCallbackMethods()
INTERNAL:
-
hasEventMethods
protected boolean hasEventMethods(int eventCode)
INTERNAL:
-
hasEventMethods
protected boolean hasEventMethods(java.lang.String event)
INTERNAL:
-
hasOverriddenEventMethod
protected boolean hasOverriddenEventMethod(java.util.List<java.lang.reflect.Method> eventMethods, java.lang.reflect.Method eventMethod)INTERNAL:
-
hasOverriddenEventMethod
protected boolean hasOverriddenEventMethod(java.lang.reflect.Method eventMethod, int eventCode)INTERNAL:
-
hasOverriddenEventMethod
protected boolean hasOverriddenEventMethod(java.lang.reflect.Method eventMethod, java.lang.String eventCode)INTERNAL:
-
isOverriddenEvent
public boolean isOverriddenEvent(org.eclipse.persistence.descriptors.DescriptorEvent event, java.util.List<org.eclipse.persistence.descriptors.DescriptorEventManager> eventManagers)INTERNAL: Return true if listener has a lifecycle callback method that is overridden in a subclass.- Specified by:
isOverriddenEventin interfaceorg.eclipse.persistence.descriptors.DescriptorEventListener- Overrides:
isOverriddenEventin classorg.eclipse.persistence.descriptors.DescriptorEventAdapter
-
postBuild
public void postBuild(org.eclipse.persistence.descriptors.DescriptorEvent event)
INTERNAL:- Specified by:
postBuildin interfaceorg.eclipse.persistence.descriptors.DescriptorEventListener- Overrides:
postBuildin classorg.eclipse.persistence.descriptors.DescriptorEventAdapter
-
postClone
public void postClone(org.eclipse.persistence.descriptors.DescriptorEvent event)
INTERNAL:- Specified by:
postClonein interfaceorg.eclipse.persistence.descriptors.DescriptorEventListener- Overrides:
postClonein classorg.eclipse.persistence.descriptors.DescriptorEventAdapter
-
postDelete
public void postDelete(org.eclipse.persistence.descriptors.DescriptorEvent event)
INTERNAL:- Specified by:
postDeletein interfaceorg.eclipse.persistence.descriptors.DescriptorEventListener- Overrides:
postDeletein classorg.eclipse.persistence.descriptors.DescriptorEventAdapter
-
postInsert
public void postInsert(org.eclipse.persistence.descriptors.DescriptorEvent event)
INTERNAL:- Specified by:
postInsertin interfaceorg.eclipse.persistence.descriptors.DescriptorEventListener- Overrides:
postInsertin classorg.eclipse.persistence.descriptors.DescriptorEventAdapter
-
postRefresh
public void postRefresh(org.eclipse.persistence.descriptors.DescriptorEvent event)
INTERNAL:- Specified by:
postRefreshin interfaceorg.eclipse.persistence.descriptors.DescriptorEventListener- Overrides:
postRefreshin classorg.eclipse.persistence.descriptors.DescriptorEventAdapter
-
postUpdate
public void postUpdate(org.eclipse.persistence.descriptors.DescriptorEvent event)
INTERNAL:- Specified by:
postUpdatein interfaceorg.eclipse.persistence.descriptors.DescriptorEventListener- Overrides:
postUpdatein classorg.eclipse.persistence.descriptors.DescriptorEventAdapter
-
prePersist
public void prePersist(org.eclipse.persistence.descriptors.DescriptorEvent event)
INTERNAL:- Specified by:
prePersistin interfaceorg.eclipse.persistence.descriptors.DescriptorEventListener- Overrides:
prePersistin classorg.eclipse.persistence.descriptors.DescriptorEventAdapter
-
preRemove
public void preRemove(org.eclipse.persistence.descriptors.DescriptorEvent event)
INTERNAL:- Specified by:
preRemovein interfaceorg.eclipse.persistence.descriptors.DescriptorEventListener- Overrides:
preRemovein classorg.eclipse.persistence.descriptors.DescriptorEventAdapter
-
preUpdateWithChanges
public void preUpdateWithChanges(org.eclipse.persistence.descriptors.DescriptorEvent event)
INTERNAL:- Specified by:
preUpdateWithChangesin interfaceorg.eclipse.persistence.descriptors.DescriptorEventListener- Overrides:
preUpdateWithChangesin classorg.eclipse.persistence.descriptors.DescriptorEventAdapter
-
setPostBuildMethod
public void setPostBuildMethod(java.lang.reflect.Method method)
INTERNAL:
-
setPostCloneMethod
public void setPostCloneMethod(java.lang.reflect.Method method)
INTERNAL:
-
setPostDeleteMethod
public void setPostDeleteMethod(java.lang.reflect.Method method)
INTERNAL:
-
setPostInsertMethod
public void setPostInsertMethod(java.lang.reflect.Method method)
INTERNAL:
-
setPostRefreshMethod
public void setPostRefreshMethod(java.lang.reflect.Method method)
INTERNAL:
-
setPostUpdateMethod
public void setPostUpdateMethod(java.lang.reflect.Method method)
INTERNAL:
-
setPrePersistMethod
public void setPrePersistMethod(java.lang.reflect.Method method)
INTERNAL:
-
setPreRemoveMethod
public void setPreRemoveMethod(java.lang.reflect.Method method)
INTERNAL:
-
setPreUpdateWithChangesMethod
public void setPreUpdateWithChangesMethod(java.lang.reflect.Method method)
INTERNAL:
-
toString
public java.lang.String toString()
INTERNAL: Used in the debugger.- Overrides:
toStringin classjava.lang.Object
-
validateMethod
protected void validateMethod(java.lang.reflect.Method method)
INTERNAL:
-
validateMethodModifiers
protected void validateMethodModifiers(java.lang.reflect.Method method)
INTERNAL:
-
-