Package com.redwood.scheduler.api.model
Interface EventDefinition
-
- All Superinterfaces:
ApplicationObject
,BusinessKeyObject
,EventDefinitionComp
,NamedRootObject
,NamedRootObjectComp
,PartitionableObject
,PartitionableObjectComp
,Readable
,Root
,SchedulerEntity
,SchedulerEntityComp
,UniqueNamedApplicationObject
public interface EventDefinition extends EventDefinitionComp, UniqueNamedApplicationObject, Readable
Events are signals for jobs to start execution. Events can be raised manually (in the user interface), job status events (which are raised when a job gets a specific job status), return code events (raised when a job gets a specific return code), file events (raised when files on the operating system level or URLs on the internet are created or modified) or programmatic events (raised by a user program).
-
-
Field Summary
Fields Modifier and Type Field Description static Long
BEHAVIOR_MAINTENANCE
Deprecated.This is no longer usedstatic String
OBJECT_TYPE
String that will be returned fromSchedulerEntity.getObjectType()
for "EventDefinition" objects.static String
SEC_PRIV_CLEAR
This privilege can be granted at a group level.static String
SEC_PRIV_CLEARPENDINGEVENTS
This privilege can be granted at a group level.static String
SEC_PRIV_CREATE
This privilege can be granted at a group level.static String
SEC_PRIV_DELETE
This privilege can be granted at a group level.static String
SEC_PRIV_DELETEARCHIVEDEVENTS
This privilege can be granted at a group level.static String
SEC_PRIV_EDIT
This privilege can be granted at a group level.static String
SEC_PRIV_RAISE
This privilege can be granted at a group level.static String
SEC_PRIV_VIEW
This privilege can be granted at a group level.static String
SEC_RANK_ALL
This rank is made of the following privileges: create , view , raise , clear , clearPendingEvents , deleteArchivedEvents , edit , deletestatic String
SEC_RANK_CREATE
This rank is made of the following privileges: createstatic String
SEC_RANK_DELETE
This rank is made of the following privileges: create , view , raise , clear , deleteArchivedEvents , clearPendingEvents , deletestatic String
SEC_RANK_EDIT
This rank is made of the following privileges: create , view , raise , clear , deleteArchivedEvents , clearPendingEvents , editstatic String
SEC_RANK_MANAGEEVENTS
This rank is made of the following privileges: view , raise , clear , deleteArchivedEvents , clearPendingEventsstatic String
SEC_RANK_NONE
This rank has no privileges assigned to it.static String
SEC_RANK_VIEW
This rank is made of the following privileges: viewstatic QueryObjectType<EventDefinition>
TYPE
Type that can be used inSchedulerSession.executeObjectQuery(QueryObjectType, String, Object...)
.-
Fields inherited from interface com.redwood.scheduler.api.model.SchedulerEntity
ACTION_AUDIT, ACTION_EXPORT, ACTION_READ, BEHAVIOR_DEPRECATED, BEHAVIOR_NONE, BEHAVIOR_SYSTEM
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RequiredPermission
checkClearPendingEventsPrivilege()
Check whether or not the clearPendingEvents action can be performed on this object.RequiredPermission
checkClearPrivilege()
Check whether or not the clear action can be performed on this object.RequiredPermission
checkCreatePrivilege()
Check whether or not the create action can be performed on this object.RequiredPermission
checkDeleteArchivedEventsPrivilege()
Check whether or not the deleteArchivedEvents action can be performed on this object.RequiredPermission
checkDeletePrivilege()
Check whether or not the delete action can be performed on this object.RequiredPermission
checkEditPrivilege()
Check whether or not the edit action can be performed on this object.RequiredPermission
checkRaisePrivilege()
Check whether or not the raise action can be performed on this object.RequiredPermission
checkViewPrivilege()
Check whether or not the view action can be performed on this object.void
clear()
Clear the currently raised Event for this EventDefinition.void
clear(Job job, String clearerComment)
Clear the currently raised Event instance for this EventDefinition.void
clearAllPending()
Clear all the pending events for this EventDefinition.void
clearAllPending(Job job, String clearerComment)
Clear all the pending events for this EventDefinition.Event
createEvent()
Create a newEvent
linked to this object.FileEventDefinition
createFileEventDefinition()
Create a newFileEventDefinition
linked to this object.MonitorEvent
createMonitorEvent(LinkableMonitor newLinkableMonitor)
Create a newMonitorEvent
linked to this object.Event
getCurrentRaisedEvent()
Get the value for CurrentRaisedEvent.String
getDefaultClearComment()
Get the value for DefaultClearComment.String
getDefaultRaiseComment()
Get the value for DefaultRaiseComment.Event
getEventByRaisedSequence(Long raisedSequence)
Get the Event by RaisedSequence.RWIterable<Event>
getEvents()
Get anRWIterable
over a collection ofEvents
, the collection will be ordered by UniqueId.FileEventDefinition
getFileEventDefinitionByName(String name)
Get the FileEventDefinition by NameEventDefinition.RWIterable<FileEventDefinition>
getFileEventDefinitions()
Get anRWIterable
over an ordered collection ofFileEventDefinitions
.RWIterable<JobDefinitionRaiseEvent>
getJobDefinitionRaiseEvents()
Get anRWIterable
over an ordered collection ofJobDefinitionRaiseEvents
.RWIterable<JobDefinitionRuntimeLimit>
getJobDefinitionRuntimeLimits()
Get anRWIterable
over an ordered collection ofJobDefinitionRuntimeLimits
.RWIterable<JobDefinitionWaitEvent>
getJobDefinitionWaitEvents()
Get anRWIterable
over an ordered collection ofJobDefinitionWaitEvents
.Event
getLastRaisedEvent()
Get the value for LastRaisedEvent.MonitorEvent
getMonitorEventByLinkableMonitor(LinkableMonitor linkableMonitor)
Get the MonitorEvent by MonitorEvent.RWIterable<MonitorEvent>
getMonitorEvents()
Get anRWIterable
over an ordered collection ofMonitorEvents
.boolean
isRaised()
Get the value for Raised.boolean
isRequiresCommentOnClear()
Get the value for RequiresCommentOnClear.boolean
isRequiresCommentOnRaise()
Get the value for RequiresCommentOnRaise.Event
raise()
Raise an instance of this EventDefinition.Event
raise(Job job, String raiserComment)
Raise an Event instance for this EventDefinition.void
setDefaultClearComment(String newDefaultClearComment)
Set the value for DefaultClearComment.void
setDefaultRaiseComment(String newDefaultRaiseComment)
Set the value for DefaultRaiseComment.void
setRequiresCommentOnClear(boolean newRequiresCommentOnClear)
Set the value for RequiresCommentOnClear.void
setRequiresCommentOnRaise(boolean newRequiresCommentOnRaise)
Set the value for RequiresCommentOnRaise.-
Methods inherited from interface com.redwood.scheduler.api.model.ApplicationObject
getParentApplication, setParentApplication
-
Methods inherited from interface com.redwood.scheduler.api.model.BusinessKeyObject
getBusinessKey
-
Methods inherited from interface com.redwood.scheduler.api.model.NamedRootObject
createObjectReference, getComment, getDescription, getLinkedObjectReferenceByLinkedObject, getLinkedObjectReferenceByName, getLinkedObjectReferences, getName, getSearchName, getSourceObjectReferences, isHidden, setComment, setDescription, setName
-
Methods inherited from interface com.redwood.scheduler.api.model.PartitionableObject
createObjectTag, getEditablePartitions, getObjectTagByObjectTagDefinition, getObjectTags, getPartition, setPartition
-
Methods inherited from interface com.redwood.scheduler.api.model.Root
getCreationTime, getLastModificationTime, getLastModifierSubject
-
Methods inherited from interface com.redwood.scheduler.api.model.SchedulerEntity
canPerform, createSubjectObjectPrivilegeGrant, deleteObject, getAuditTrail, getAuditTrailSize, getBehavior, getEffectiveBehavior, getErrorNameEN, getErrorNameKey, getLLPVersion, getLOV, getLOVSupport, getObjectType, getParentSchedulerEntities, getRuntime, getSubjectObjectPrivilegeGrantBySubject, getSubjectObjectPrivilegeGrants, getUniqueId, getUrl, getUrl, isCreated, isDeletable, isDeleted, isModifiable, isModified, isSelectVersioned, processRelatedObjects, processRelatedObjects, processRelatedObjects, refreshObject, resetObject, resetObject, resetValuesToDefault, selectForRead
-
-
-
-
Field Detail
-
OBJECT_TYPE
static final String OBJECT_TYPE
String that will be returned fromSchedulerEntity.getObjectType()
for "EventDefinition" objects.- See Also:
- Constant Field Values
-
TYPE
static final QueryObjectType<EventDefinition> TYPE
Type that can be used inSchedulerSession.executeObjectQuery(QueryObjectType, String, Object...)
.
-
BEHAVIOR_MAINTENANCE
@Deprecated static final Long BEHAVIOR_MAINTENANCE
Deprecated.This is no longer usedBehavior for System events that can't be modified, however file events can be added or removed. System Events with this behavior can change the file events that will raise this event.
-
SEC_PRIV_CREATE
static final String SEC_PRIV_CREATE
This privilege can be granted at a group level.- See Also:
- Constant Field Values
-
SEC_PRIV_VIEW
static final String SEC_PRIV_VIEW
This privilege can be granted at a group level. This privilege can be granted at an instance level.- See Also:
- Constant Field Values
-
SEC_PRIV_RAISE
static final String SEC_PRIV_RAISE
This privilege can be granted at a group level. This privilege can be granted at an instance level.- See Also:
- Constant Field Values
-
SEC_PRIV_CLEAR
static final String SEC_PRIV_CLEAR
This privilege can be granted at a group level. This privilege can be granted at an instance level.- See Also:
- Constant Field Values
-
SEC_PRIV_CLEARPENDINGEVENTS
static final String SEC_PRIV_CLEARPENDINGEVENTS
This privilege can be granted at a group level. This privilege can be granted at an instance level.- See Also:
- Constant Field Values
-
SEC_PRIV_DELETEARCHIVEDEVENTS
static final String SEC_PRIV_DELETEARCHIVEDEVENTS
This privilege can be granted at a group level. This privilege can be granted at an instance level.- See Also:
- Constant Field Values
-
SEC_PRIV_EDIT
static final String SEC_PRIV_EDIT
This privilege can be granted at a group level. This privilege can be granted at an instance level.- See Also:
- Constant Field Values
-
SEC_PRIV_DELETE
static final String SEC_PRIV_DELETE
This privilege can be granted at a group level. This privilege can be granted at an instance level.- See Also:
- Constant Field Values
-
SEC_RANK_NONE
static final String SEC_RANK_NONE
This rank has no privileges assigned to it.- See Also:
- Constant Field Values
-
SEC_RANK_CREATE
static final String SEC_RANK_CREATE
This rank is made of the following privileges: create- See Also:
- Constant Field Values
-
SEC_RANK_VIEW
static final String SEC_RANK_VIEW
This rank is made of the following privileges: view- See Also:
- Constant Field Values
-
SEC_RANK_MANAGEEVENTS
static final String SEC_RANK_MANAGEEVENTS
This rank is made of the following privileges: view , raise , clear , deleteArchivedEvents , clearPendingEvents- See Also:
- Constant Field Values
-
SEC_RANK_EDIT
static final String SEC_RANK_EDIT
This rank is made of the following privileges: create , view , raise , clear , deleteArchivedEvents , clearPendingEvents , edit- See Also:
- Constant Field Values
-
SEC_RANK_DELETE
static final String SEC_RANK_DELETE
This rank is made of the following privileges: create , view , raise , clear , deleteArchivedEvents , clearPendingEvents , delete- See Also:
- Constant Field Values
-
SEC_RANK_ALL
static final String SEC_RANK_ALL
This rank is made of the following privileges: create , view , raise , clear , clearPendingEvents , deleteArchivedEvents , edit , delete- See Also:
- Constant Field Values
-
-
Method Detail
-
getCurrentRaisedEvent
Event getCurrentRaisedEvent()
Get the value for CurrentRaisedEvent. (The currently raised Event. If isRaised()==false, then this will return null.)- Returns:
- the field
- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
getLastRaisedEvent
Event getLastRaisedEvent()
Get the value for LastRaisedEvent. (The last raised Event. If getCurrentRaisedEvent != null, then this method will return the same Event.)- Returns:
- the field
- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
isRaised
boolean isRaised()
Get the value for Raised. (Is this event currently raised?)- Returns:
- the field
- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
isRequiresCommentOnRaise
boolean isRequiresCommentOnRaise()
Get the value for RequiresCommentOnRaise. (If set, prompt the user for a comment on the raise of the event)- Returns:
- the field
- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
getDefaultRaiseComment
String getDefaultRaiseComment()
Get the value for DefaultRaiseComment. (Default comment that will be set as RaiserComment on a newly raised event.)- Returns:
- the field
- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
isRequiresCommentOnClear
boolean isRequiresCommentOnClear()
Get the value for RequiresCommentOnClear. (If set, prompt the user for a comment on the clear of the event)- Returns:
- the field
- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
getDefaultClearComment
String getDefaultClearComment()
Get the value for DefaultClearComment. (Default comment that will be set as ClearerComment on the cleared event.)- Returns:
- the field
- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
setRequiresCommentOnRaise
void setRequiresCommentOnRaise(boolean newRequiresCommentOnRaise)
Set the value for RequiresCommentOnRaise. (If set, prompt the user for a comment on the raise of the event)- Parameters:
newRequiresCommentOnRaise
- the new value for RequiresCommentOnRaise.- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
setDefaultRaiseComment
void setDefaultRaiseComment(String newDefaultRaiseComment)
Set the value for DefaultRaiseComment. (Default comment that will be set as RaiserComment on a newly raised event.) This value is optional.- Parameters:
newDefaultRaiseComment
- the new value for DefaultRaiseComment.- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
setRequiresCommentOnClear
void setRequiresCommentOnClear(boolean newRequiresCommentOnClear)
Set the value for RequiresCommentOnClear. (If set, prompt the user for a comment on the clear of the event)- Parameters:
newRequiresCommentOnClear
- the new value for RequiresCommentOnClear.- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
setDefaultClearComment
void setDefaultClearComment(String newDefaultClearComment)
Set the value for DefaultClearComment. (Default comment that will be set as ClearerComment on the cleared event.) This value is optional.- Parameters:
newDefaultClearComment
- the new value for DefaultClearComment.- Throws:
com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException
- This will be thrown if this method is called while the object is not attached to a session.
-
raise
Event raise() throws com.redwood.scheduler.api.exception.PendingEventsNotAllowedException
Raise an instance of this EventDefinition. The session needs to be persisted before the Event will be raised in the database. If the event is raised in the context of a job, the RaiserObject will be set to this job. Otherwise it will default to the current user. The comment will be "raised automatically" resp. "raised manually", unless a raise comment was specified for the event definition.- Returns:
- The newly raised Event.
- Throws:
com.redwood.scheduler.api.exception.PendingEventsNotAllowedException
- Cannot raise event; isPendingEventsAllowed is false and the event is already raised.
-
clear
void clear()
Clear the currently raised Event for this EventDefinition. This method will not do anything if there is no currently-raised event. The session needs to be persisted before the Event will be cleared in the database.
-
clearAllPending
void clearAllPending()
Clear all the pending events for this EventDefinition. This method will not do anything if there are no pending events. The session needs to be persisted before events will be cleared in the database.
-
clearAllPending
void clearAllPending(Job job, String clearerComment)
Clear all the pending events for this EventDefinition. This method will not do anything if there are no pending events. The session needs to be persisted before events will be cleared in the database. Convenience function to clear and set Job and Comment in one go.- Parameters:
job
- The Job that caused this Event to be cleared, can be null if it is not being cleared by a Job.clearerComment
- The comment that should be associated with the clearing of this event.
-
raise
Event raise(Job job, String raiserComment) throws com.redwood.scheduler.api.exception.PendingEventsNotAllowedException
Raise an Event instance for this EventDefinition. The session needs to be persisted before the Event will be raised in the database. Convenience function to raise and set Job and Comment in one go.- Parameters:
job
- The Job that caused this Event to be raised, can be null if it is not being raised by a Job. If set to null, the default rules forraise()
will apply.raiserComment
- The comment that should be associated with this raised event.- Returns:
- The newly raised Event.
- Throws:
com.redwood.scheduler.api.exception.PendingEventsNotAllowedException
- Cannot raise event; isPendingEventsAllowed is false and the event is already raised.
-
clear
void clear(Job job, String clearerComment)
Clear the currently raised Event instance for this EventDefinition. This method will not do anything if there is no currently-raised event. The session needs to be persisted before the Event will be cleared in the database. Convenience function to clear and set Job and Comment in one go.- Parameters:
job
- The Job that caused this Event to be cleared, can be null if it is not being cleared by a Job.clearerComment
- The comment that should be associated with the clearing of this event.
-
getEvents
RWIterable<Event> getEvents()
Get anRWIterable
over a collection ofEvents
, the collection will be ordered by UniqueId. If the collection is empty, an empty iterator will be returned, that is, this method will never returnnull
. A list of events that have been created by calling raise().- Specified by:
getEvents
in interfaceEventDefinitionComp
- Returns:
- An
RWIterable
over a collection ofEvent
objects , the collection will be ordered by UniqueId.
-
getEventByRaisedSequence
Event getEventByRaisedSequence(Long raisedSequence)
Get the Event by RaisedSequence.- Parameters:
raisedSequence
-- Returns:
- the Event, or
null
if it could not be found
-
getFileEventDefinitions
RWIterable<FileEventDefinition> getFileEventDefinitions()
Get anRWIterable
over an ordered collection ofFileEventDefinitions
. If the collection is empty, an empty iterator will be returned, that is, this method will never returnnull
. EventSourceDefinitions that can raise this event definition.- Specified by:
getFileEventDefinitions
in interfaceEventDefinitionComp
- Returns:
- An
RWIterable
over an ordered collection ofFileEventDefinition
objects .
-
createFileEventDefinition
FileEventDefinition createFileEventDefinition()
Create a newFileEventDefinition
linked to this object.- Returns:
- a new
FileEventDefinition
.
-
getFileEventDefinitionByName
FileEventDefinition getFileEventDefinitionByName(String name)
Get the FileEventDefinition by NameEventDefinition.- Parameters:
name
-- Returns:
- the FileEventDefinition, or
null
if it could not be found
-
getJobDefinitionRaiseEvents
RWIterable<JobDefinitionRaiseEvent> getJobDefinitionRaiseEvents()
Get anRWIterable
over an ordered collection ofJobDefinitionRaiseEvents
. If the collection is empty, an empty iterator will be returned, that is, this method will never returnnull
. Which EventDefinition will be raised when the job reaches a particular status?- Specified by:
getJobDefinitionRaiseEvents
in interfaceEventDefinitionComp
- Returns:
- An
RWIterable
over an ordered collection ofJobDefinitionRaiseEvent
objects .
-
getJobDefinitionRuntimeLimits
RWIterable<JobDefinitionRuntimeLimit> getJobDefinitionRuntimeLimits()
Get anRWIterable
over an ordered collection ofJobDefinitionRuntimeLimits
. If the collection is empty, an empty iterator will be returned, that is, this method will never returnnull
. Which EventDefinition to be raised if the runtime limit is reached?- Specified by:
getJobDefinitionRuntimeLimits
in interfaceEventDefinitionComp
- Returns:
- An
RWIterable
over an ordered collection ofJobDefinitionRuntimeLimit
objects .
-
getJobDefinitionWaitEvents
RWIterable<JobDefinitionWaitEvent> getJobDefinitionWaitEvents()
Get anRWIterable
over an ordered collection ofJobDefinitionWaitEvents
. If the collection is empty, an empty iterator will be returned, that is, this method will never returnnull
. Which EventDefinition must be raised before this WaitEvent is satisfied?- Specified by:
getJobDefinitionWaitEvents
in interfaceEventDefinitionComp
- Returns:
- An
RWIterable
over an ordered collection ofJobDefinitionWaitEvent
objects .
-
getMonitorEvents
RWIterable<MonitorEvent> getMonitorEvents()
Get anRWIterable
over an ordered collection ofMonitorEvents
. If the collection is empty, an empty iterator will be returned, that is, this method will never returnnull
. Which Event should the Monitor raise on an error condition?- Specified by:
getMonitorEvents
in interfaceEventDefinitionComp
- Returns:
- An
RWIterable
over an ordered collection ofMonitorEvent
objects .
-
createMonitorEvent
MonitorEvent createMonitorEvent(LinkableMonitor newLinkableMonitor)
Create a newMonitorEvent
linked to this object.- Parameters:
newLinkableMonitor
- The other parent of theMonitorEventMonitorCheck
association.- Returns:
- a new
MonitorEvent
.
-
getMonitorEventByLinkableMonitor
MonitorEvent getMonitorEventByLinkableMonitor(LinkableMonitor linkableMonitor)
Get the MonitorEvent by MonitorEvent.- Parameters:
linkableMonitor
-- Returns:
- the MonitorEvent, or
null
if it could not be found
-
checkCreatePrivilege
RequiredPermission checkCreatePrivilege()
Check whether or not the create action can be performed on this object.- Returns:
- a
RequiredPermission
instance indicating whether the current user has the privilege. To check this, use isAllowed() on the returned permission.
-
checkViewPrivilege
RequiredPermission checkViewPrivilege()
Check whether or not the view action can be performed on this object.- Returns:
- a
RequiredPermission
instance indicating whether the current user has the privilege. To check this, use isAllowed() on the returned permission.
-
checkRaisePrivilege
RequiredPermission checkRaisePrivilege()
Check whether or not the raise action can be performed on this object.- Returns:
- a
RequiredPermission
instance indicating whether the current user has the privilege. To check this, use isAllowed() on the returned permission.
-
checkClearPrivilege
RequiredPermission checkClearPrivilege()
Check whether or not the clear action can be performed on this object.- Returns:
- a
RequiredPermission
instance indicating whether the current user has the privilege. To check this, use isAllowed() on the returned permission.
-
checkClearPendingEventsPrivilege
RequiredPermission checkClearPendingEventsPrivilege()
Check whether or not the clearPendingEvents action can be performed on this object.- Returns:
- a
RequiredPermission
instance indicating whether the current user has the privilege. To check this, use isAllowed() on the returned permission.
-
checkDeleteArchivedEventsPrivilege
RequiredPermission checkDeleteArchivedEventsPrivilege()
Check whether or not the deleteArchivedEvents action can be performed on this object.- Returns:
- a
RequiredPermission
instance indicating whether the current user has the privilege. To check this, use isAllowed() on the returned permission.
-
checkEditPrivilege
RequiredPermission checkEditPrivilege()
Check whether or not the edit action can be performed on this object.- Returns:
- a
RequiredPermission
instance indicating whether the current user has the privilege. To check this, use isAllowed() on the returned permission.
-
checkDeletePrivilege
RequiredPermission checkDeletePrivilege()
Check whether or not the delete action can be performed on this object.- Returns:
- a
RequiredPermission
instance indicating whether the current user has the privilege. To check this, use isAllowed() on the returned permission.
-
-