Class DescriptorEvent
- java.lang.Object
-
- java.util.EventObject
-
- org.eclipse.persistence.descriptors.DescriptorEvent
-
- All Implemented Interfaces:
java.io.Serializable
,CoreDescriptorEvent
public class DescriptorEvent extends java.util.EventObject implements CoreDescriptorEvent
Purpose: Encapsulate the information provided with descriptor events. This is used as the argument to any event raised by the descriptor. Events can be registered for through two methods, the first is by providing a method to be called on the object that a particular operation is being performed on. The second is by registering a manager object to be notified when any event occurs for that descriptor. The second method is more similar to the java beans event model but requires the registered object to implement the DescriptorEventListener interface.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.eclipse.persistence.internal.sessions.ObjectChangeSet
changeSet
For the post merge event it is possible that there has been a change set generated.protected ClassDescriptor
descriptor
protected int
eventCode
The code of the descriptor event being raised.protected static java.lang.String[]
eventNames
Event names for toString()protected java.lang.Object
originalObject
The source object represents the object the event is being raised on, some events also require a second object, for example the original object in a postClone.protected DatabaseQuery
query
The query causing the event.protected Record
record
Optionally a database row may be provided on some events, (such as aboutToUpdate).protected org.eclipse.persistence.internal.sessions.AbstractSession
session
The session in which the event is raised.
-
Constructor Summary
Constructors Constructor Description DescriptorEvent(int eventCode, ObjectLevelModifyQuery query)
PUBLIC: Most events are trigger from queries, so this is a helper method.DescriptorEvent(java.lang.Object sourceObject)
PUBLIC: All events require a source object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
applyAttributeValuesIntoRow(java.lang.String attributeName)
PUBLIC: Re-populate the database row with the values from the source object based upon the attribute's mapping.org.eclipse.persistence.internal.sessions.ObjectChangeSet
getChangeSet()
PUBLIC: Returns the Object changeSet if availableClassDescriptor
getClassDescriptor()
PUBLIC: The source descriptor of the event.ClassDescriptor
getDescriptor()
PUBLIC: The source descriptor of the event.int
getEventCode()
PUBLIC: The code of the descriptor event being raised.java.lang.Object
getObject()
PUBLIC: Synanym for source.java.lang.Object
getOriginalObject()
PUBLIC: The source object represents the object the event is being raised on, some events also require a second object, for example the original object in a postClone.DatabaseQuery
getQuery()
PUBLIC: The query causing the event.Record
getRecord()
PUBLIC: Return the record that is associated with some events, such as postBuild, and aboutToUpdate.org.eclipse.persistence.internal.sessions.AbstractSession
getSession()
PUBLIC: The session in which the event is raised.void
setChangeSet(org.eclipse.persistence.internal.sessions.ObjectChangeSet newChangeSet)
INTERNAL: Sets the Change set in the event if the change Set is availablevoid
setDescriptor(ClassDescriptor descriptor)
INTERNAL: The source descriptor of the event.void
setEventCode(int eventCode)
INTERNAL: The code of the descriptor event being raised.void
setOriginalObject(java.lang.Object originalObject)
INTERNAL: The source object represents the object the event is being raised on, some events also require a second object, for example the original object in a postClone.void
setQuery(DatabaseQuery query)
INTERNAL: The query causing the event.void
setRecord(Record record)
INTERNAL: Optionally a database row may be provided on some events, (such as aboutToUpdate).void
setSession(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: The session in which the event is raised.java.lang.String
toString()
INTERNAL:void
updateAttributeAddObjectToCollection(java.lang.String attributeName, java.lang.Object mapKey, java.lang.Object value)
ADVANCED: Use this method when updating object attribute values, with unmapped objects Integer, String or others. in events to ensure that all required objects are updated.void
updateAttributeRemoveObjectFromCollection(java.lang.String attributeName, java.lang.Object mapKey, java.lang.Object value)
ADVANCED: Use this method when updating object attribute values, with unmapped objects Integer, String or others. in events to ensure that all required objects are updated.void
updateAttributeWithObject(java.lang.String attributeName, java.lang.Object value)
ADVANCED: Use this method when updating object attribute values, with unmapped objects Integer, String or others. in events to ensure that all required objects are updated.
-
-
-
Field Detail
-
eventCode
protected int eventCode
The code of the descriptor event being raised. This is an integer constant value from DescriptorEventManager.
-
query
protected DatabaseQuery query
The query causing the event.
-
record
protected Record record
Optionally a database row may be provided on some events, (such as aboutToUpdate).
-
descriptor
protected ClassDescriptor descriptor
-
originalObject
protected java.lang.Object originalObject
The source object represents the object the event is being raised on, some events also require a second object, for example the original object in a postClone.
-
changeSet
protected org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet
For the post merge event it is possible that there has been a change set generated. This attribute will store the changeSet for the object just merged
-
session
protected org.eclipse.persistence.internal.sessions.AbstractSession session
The session in which the event is raised.
-
eventNames
protected static java.lang.String[] eventNames
Event names for toString()
-
-
Constructor Detail
-
DescriptorEvent
public DescriptorEvent(int eventCode, ObjectLevelModifyQuery query)
PUBLIC: Most events are trigger from queries, so this is a helper method.
-
DescriptorEvent
public DescriptorEvent(java.lang.Object sourceObject)
PUBLIC: All events require a source object.
-
-
Method Detail
-
applyAttributeValuesIntoRow
public void applyAttributeValuesIntoRow(java.lang.String attributeName)
PUBLIC: Re-populate the database row with the values from the source object based upon the attribute's mapping. Provided as a helper method for modifying the row during event handling.
-
getChangeSet
public org.eclipse.persistence.internal.sessions.ObjectChangeSet getChangeSet()
PUBLIC: Returns the Object changeSet if available
-
getDescriptor
public ClassDescriptor getDescriptor()
PUBLIC: The source descriptor of the event.
-
getClassDescriptor
public ClassDescriptor getClassDescriptor()
PUBLIC: The source descriptor of the event.
-
getEventCode
public int getEventCode()
PUBLIC: The code of the descriptor event being raised. This is an integer constant value from DescriptorEventManager.
-
getObject
public java.lang.Object getObject()
PUBLIC: Synanym for source.
-
getOriginalObject
public java.lang.Object getOriginalObject()
PUBLIC: The source object represents the object the event is being raised on, some events also require a second object, for example the original object in a postClone.- See Also:
EventObject.getSource()
-
getQuery
public DatabaseQuery getQuery()
PUBLIC: The query causing the event.
-
getRecord
public Record getRecord()
PUBLIC: Return the record that is associated with some events, such as postBuild, and aboutToUpdate.
-
getSession
public org.eclipse.persistence.internal.sessions.AbstractSession getSession()
PUBLIC: The session in which the event is raised.
-
setChangeSet
public void setChangeSet(org.eclipse.persistence.internal.sessions.ObjectChangeSet newChangeSet)
INTERNAL: Sets the Change set in the event if the change Set is available
-
setDescriptor
public void setDescriptor(ClassDescriptor descriptor)
INTERNAL: The source descriptor of the event.
-
setEventCode
public void setEventCode(int eventCode)
INTERNAL: The code of the descriptor event being raised. This is an integer constant value from DescriptorEventManager.
-
setOriginalObject
public void setOriginalObject(java.lang.Object originalObject)
INTERNAL: The source object represents the object the event is being raised on, some events also require a second object, for example the original object in a postClone.
-
setQuery
public void setQuery(DatabaseQuery query)
INTERNAL: The query causing the event.
-
setRecord
public void setRecord(Record record)
INTERNAL: Optionally a database row may be provided on some events, (such as aboutToUpdate).
-
setSession
public void setSession(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: The session in which the event is raised.
-
toString
public java.lang.String toString()
INTERNAL:- Overrides:
toString
in classjava.util.EventObject
-
updateAttributeWithObject
public void updateAttributeWithObject(java.lang.String attributeName, java.lang.Object value)
ADVANCED: Use this method when updating object attribute values, with unmapped objects Integer, String or others. in events to ensure that all required objects are updated. EclipseLink will automatically update all objects and changesets involved. EclipseLink will update the field, in the row, to have the new value for the field that this mapping maps to.
-
updateAttributeAddObjectToCollection
public void updateAttributeAddObjectToCollection(java.lang.String attributeName, java.lang.Object mapKey, java.lang.Object value)
ADVANCED: Use this method when updating object attribute values, with unmapped objects Integer, String or others. in events to ensure that all required objects are updated. EclipseLink will automatically update all objects and changesets involved. EclipseLink will update the field, in the row, to have the new value for the field that this mapping maps to. If the attribute being updated is within an aggregate then pass the updated aggregate and the attribute of the aggregate mapping into this method.
-
updateAttributeRemoveObjectFromCollection
public void updateAttributeRemoveObjectFromCollection(java.lang.String attributeName, java.lang.Object mapKey, java.lang.Object value)
ADVANCED: Use this method when updating object attribute values, with unmapped objects Integer, String or others. in events to ensure that all required objects are updated. EclipseLink will automatically update all objects and changesets involved. EclipseLink will update the field, in the row, to have the new value for the field that this mapping maps to.
-
-