Class EventImpl
- java.lang.Object
-
- org.nuxeo.ecm.core.event.impl.EventImpl
-
- All Implemented Interfaces:
Serializable
,Event
- Direct Known Subclasses:
ShallowEvent
public class EventImpl extends Object implements Event
Event implementation.- Author:
- Bogdan Stefanescu
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected EventContext
ctx
protected int
flags
protected String
name
protected Exception
rollbackException
protected String
rollbackMessage
protected long
time
-
Fields inherited from interface org.nuxeo.ecm.core.event.Event
FLAG_BUBBLE_EXCEPTION, FLAG_CANCEL, FLAG_COMMIT, FLAG_IMMEDIATE, FLAG_INLINE, FLAG_NONE, FLAG_ROLLBACK
-
-
Constructor Summary
Constructors Constructor Description EventImpl(String name, EventContext ctx)
EventImpl(String name, EventContext ctx, int flags)
EventImpl(String name, EventContext ctx, int flags, long creationTime)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cancel()
Cancels this event.EventContext
getContext()
Gets the event context.int
getFlags()
Gets the set of event flagsString
getName()
Gets the event name.Exception
getRollbackException()
Returns the Exception associated the RollBack if anyString
getRollbackMessage()
Returns the message associated to the RollBack if anylong
getTime()
The time stamp when the event was raised.boolean
isBubbleException()
Returnstrue
if the event was marked to bubble the Exception,false
otherwise.boolean
isCanceled()
Checks whether the event was canceled.boolean
isCommitEvent()
Tests whether or not this is a commit event.boolean
isImmediate()
Tests if event is Immediateboolean
isInline()
Whether this event must not be added to a bundle.boolean
isMarkedForRollBack()
Checks whether the event was marked for RollBackvoid
markBubbleException()
Marks the event to bubble the Exception thrown by a listener.void
markRollBack()
Marks transaction for RollBackvoid
markRollBack(String message, Exception exception)
Marks transaction for RollBackvoid
setImmediate(boolean immediate)
Sets the immediate flag.void
setInline(boolean isInline)
Set the inline flag.void
setIsCommitEvent(boolean isCommit)
Set the commit flag.
-
-
-
Field Detail
-
name
protected final String name
-
time
protected final long time
-
ctx
protected final EventContext ctx
-
flags
protected int flags
-
rollbackException
protected Exception rollbackException
-
rollbackMessage
protected String rollbackMessage
-
-
Constructor Detail
-
EventImpl
public EventImpl(String name, EventContext ctx, int flags, long creationTime)
-
EventImpl
public EventImpl(String name, EventContext ctx, int flags)
-
EventImpl
public EventImpl(String name, EventContext ctx)
-
-
Method Detail
-
getFlags
public int getFlags()
Description copied from interface:Event
Gets the set of event flags
-
getContext
public EventContext getContext()
Description copied from interface:Event
Gets the event context.Event contexts give access to the context in which the the event was raised. Event contexts are usually identifying the operation that raised the event. The context is exposing data objects linked to the event like documents and also may give access to the operation that raised the event allowing thus to canceling the operation, to record time spent to set the result status etc.
- Specified by:
getContext
in interfaceEvent
- Returns:
- the event context
-
getName
public String getName()
Description copied from interface:Event
Gets the event name.The name must be unique. It is recommended to use prefixes in the style of java package names to differentiate between similar events that are sent by different components.
-
getTime
public long getTime()
Description copied from interface:Event
The time stamp when the event was raised.- Specified by:
getTime
in interfaceEvent
- Returns:
- the time stamp as returned by
System.currentTimeMillis()
-
cancel
public void cancel()
Description copied from interface:Event
Cancels this event.This can be used by event listeners to exit the event notification. Remaining event listeners will no more be notified. Note that this is not canceling the underlying operation if any.
-
markRollBack
public void markRollBack()
Description copied from interface:Event
Marks transaction for RollBackThis will exit the event listeners loop and throw a RuntimeException In JTA container, this will make the global transaction rollback.
- Specified by:
markRollBack
in interfaceEvent
-
markRollBack
public void markRollBack(String message, Exception exception)
Description copied from interface:Event
Marks transaction for RollBackThis will exit the event listeners loop and throw a RuntimeException In JTA container, this will make the global transaction rollback.
- Specified by:
markRollBack
in interfaceEvent
- Parameters:
message
- message that explains the reason of the Rollbackexception
- associated Exception that explains the Rollback if any
-
markBubbleException
public void markBubbleException()
Description copied from interface:Event
Marks the event to bubble the Exception thrown by a listener.This will exit the event listeners loop. The transaction won't be rollbacked, but the Exception will be thrown by the
EventService
.- Specified by:
markBubbleException
in interfaceEvent
-
isBubbleException
public boolean isBubbleException()
Description copied from interface:Event
Returnstrue
if the event was marked to bubble the Exception,false
otherwise.- Specified by:
isBubbleException
in interfaceEvent
-
isMarkedForRollBack
public boolean isMarkedForRollBack()
Description copied from interface:Event
Checks whether the event was marked for RollBack- Specified by:
isMarkedForRollBack
in interfaceEvent
- Returns:
- true if rolled back, false otherwise.
-
isCanceled
public boolean isCanceled()
Description copied from interface:Event
Checks whether the event was canceled.- Specified by:
isCanceled
in interfaceEvent
- Returns:
- true if canceled, false otherwise.
-
isInline
public boolean isInline()
Description copied from interface:Event
Whether this event must not be added to a bundle. An event is not inline by default.
-
setInline
public void setInline(boolean isInline)
Description copied from interface:Event
Set the inline flag.- Specified by:
setInline
in interfaceEvent
- Parameters:
isInline
- true if the event must not be recorded as part of the transaction- See Also:
Event.isInline()
-
isCommitEvent
public boolean isCommitEvent()
Description copied from interface:Event
Tests whether or not this is a commit event. A commit event is triggering the post commit notification and then is reseting the recorded events.- Specified by:
isCommitEvent
in interfaceEvent
- Returns:
- true if a commit event false otherwise
-
setIsCommitEvent
public void setIsCommitEvent(boolean isCommit)
Description copied from interface:Event
Set the commit flag.- Specified by:
setIsCommitEvent
in interfaceEvent
- See Also:
Event.isCommitEvent()
-
isImmediate
public boolean isImmediate()
Description copied from interface:Event
Tests if event is ImmediateImmediate events are sent in bundle without waiting for a commit
- Specified by:
isImmediate
in interfaceEvent
- Returns:
- true if event is immediate, false otherwise
-
setImmediate
public void setImmediate(boolean immediate)
Description copied from interface:Event
Sets the immediate flag.- Specified by:
setImmediate
in interfaceEvent
-
getRollbackException
public Exception getRollbackException()
Description copied from interface:Event
Returns the Exception associated the RollBack if any- Specified by:
getRollbackException
in interfaceEvent
- Returns:
- the Exception associated the RollBack if any
-
getRollbackMessage
public String getRollbackMessage()
Description copied from interface:Event
Returns the message associated to the RollBack if any- Specified by:
getRollbackMessage
in interfaceEvent
- Returns:
- the message associated to the RollBack if any
-
-