Interface BeforeCreateOccurrenceContext
- All Superinterfaces:
TableTriggerExecutionContext
,TriggerExecutionContext
-
Method Summary
Modifier and TypeMethodDescriptionReturns the definition mode of the record to be created.Returns the record context for performing the update.boolean
boolean
Returnstrue
if the pre-record creation context is for a record duplication.void
Disables all permission checks for all nodes during the current operation.Methods inherited from interface com.orchestranetworks.schema.trigger.TableTriggerExecutionContext
getAdaptationHome, getOccurrenceContext, getTable, isHistoryRestore
Methods inherited from interface com.orchestranetworks.schema.trigger.TriggerExecutionContext
getSession
-
Method Details
-
getOccurrenceContextForUpdate
ValueContextForUpdate getOccurrenceContextForUpdate()Returns the record context for performing the update.When a record is copied as-is from one table to another (see
ProcedureContext.getContext(AdaptationName)
), the default context is a read context. In this case, this method transforms it from a read context to an update context. -
getDefinitionMode
DefinitionMode getDefinitionMode()Returns the definition mode of the record to be created. -
isDuplicatingOccurrence
boolean isDuplicatingOccurrence()Returnstrue
if the pre-record creation context is for a record duplication.In this case the context returned by the method
TableTriggerExecutionContext.getOccurrenceContext()
is pre-populated with the values of the record that is being duplicated. -
isAllPrivileges
boolean isAllPrivileges()- See Also:
-
setAllPrivileges
void setAllPrivileges()Disables all permission checks for all nodes during the current operation.Using this method is not recommended, because the scope of the granted privileges is very wide. It is instead recommended to use
ValueContextForUpdate.setPrivilegeForNode(com.orchestranetworks.schema.Path)
, which allows to grant privilege to required nodes only.Privilege scope
As soon as these privileges are granted by this method, permission check for the specified node will be skipped during the whole operation.
For instance, given a user with read-only permission on the some updated nodes:
- an import user service launched by this user could still set a value for these nodes.
- a Procedure executed with this user session and with
setAllPrivileges(false)
could still set a value for these nodes. - a SOAP data service call with this user session could still set a value for these nodes.
- any trigger with no privilege granted could still set a value for these nodes when multiple triggers are specified by the data model. Indeed, all triggers implied in the operation are affected by the privilege.
The granted privilege will return to its previous state just after the insert operation and before the invocation of after create triggers.
-