public interface TriggerBatchAdminSession extends TriggerAdminSession
This session creates, updates, and deletes Triggers
in
bulk. The data for create and update is provided by the consumer via the
form object. OsidForms
are requested for each create or
update and may not be reused.
Create and update operations differ in their usage. To create a
Trigger,
a TriggerForm
is requested using
getTriggerFormsForCreate()
specifying the desired controller and
record Types
or none if no record Types
are
needed. Each of the returned TriggerForms
will indicate
that it is to be used with a create operation and can be used to examine
metdata or validate data prior to creation. Once a TriggerForm
is submiited to a create operation, it cannot be reused with
another create operation unless the first operation was unsuccessful. Each
TriggerForm
corresponds to an attempted transaction.
The TriggerForms
returned from
getTriggerFormsForCreate()
may be linked to the originating
request through the peer Ids
of the TriggerForm.
In the case where there may be duplicates, any TriggerForm
of the same peer Ids
may be used for a create
operation.
Once a batch of TriggerForm
are submitted for create, a
CreateTrigger
is returned for each TriggerForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createTriggers(),
errors specific to an individual TriggerForm
are
indicated in the corresponding CreateTrigger.
CreateTriggers
may be linked to the originating TriggerForm
through the TriggerForm
Id
.
For updates, TriggerForms
are requested to the
Trigger
Id
that is to be updated using
getTriggerFormsForUpdate()
where the reference Id
in the TriggerForm
may be used to link the request.
Similarly, the TriggerForm
has metadata about the data that
can be updated and it can perform validation before submitting the update.
The TriggerForm
can only be used once for a successful
update and cannot be reused.
Once a batch of TriggerForms
are submitted for update,
an UpdateTrigger
is returned for each TriggerForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateTriggers(),
errors specific to an individual TriggerForm
are
indicated in the corresponding UpdateTrigger.
UpdateTriggers
may be linked to the originating TriggerForm
through the TriggerForm
Id.
The delete operations delete Triggers
in bulk. To unmap
a Trigger
from the current System,
the
TriggerSystemAssignmentSession
should be used. These delete
operations attempt to remove the Trigger
itself thus
removing it from all known System
catalogs. Bulk delete
operations return the results in DeleteTriggers.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasTriggers(AliasRequestList aliasRequests)
Adds an
Id to a Trigger for the purpose
of creating compatibility. |
CreateResponseList |
createTriggers(TriggerBatchFormList triggerForms)
Creates a new set of
Triggers. |
DeleteResponseList |
deleteAllTriggers()
Deletes all
Triggers in this System. |
DeleteResponseList |
deleteTriggers(IdList triggerIds)
Deletes triggers for the given
Ids. |
DeleteResponseList |
deleteTriggersForController(Id controllerId)
Deletes triggers for the given
Controller. |
TriggerBatchFormList |
getTriggerFormsForCreate(IdList controllerIds,
Type[] triggerRecordTypes)
Gets the trigger forms for creating a bunch of new triggers.
|
TriggerBatchFormList |
getTriggerFormsForUpdate(IdList triggerIds)
Gets the trigger forms for updating an existing set of triggers.
|
UpdateResponseList |
updateTriggers(TriggerBatchFormList triggerForms)
Updates existing triggers.
|
aliasTrigger, canCreateTriggers, canCreateTriggerWithRecordTypes, canDeleteTriggers, canManageTriggerAliases, canUpdateTriggers, createTrigger, deleteTrigger, getSystem, getSystemId, getTriggerFormForCreate, getTriggerFormForUpdate, updateTrigger
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
TriggerBatchFormList getTriggerFormsForCreate(IdList controllerIds, Type[] triggerRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException
controllerIds
- list of controller Ids
triggerRecordTypes
- array of trigger record types to be
included in each create operation or an empty list if noneNotFoundException
- a controllerId
is
not foundNullArgumentException
- controllerIds
or
triggerRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createTriggers(TriggerBatchFormList triggerForms) throws OperationFailedException, PermissionDeniedException
Triggers.
This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateTrigger
.triggerForms
- the trigger formsNullArgumentException
- triggerForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. TriggerBatchFormList getTriggerFormsForUpdate(IdList triggerIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
triggerIds
- the Ids
of the Trigger
NotFoundException
- a triggerId
is not
foundNullArgumentException
- triggerIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateTriggers(TriggerBatchFormList triggerForms) throws OperationFailedException, PermissionDeniedException
BatchCreateTrigger
.triggerForms
- the form containing the elements to be updatedNullArgumentException
- triggerForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllTriggers() throws OperationFailedException, PermissionDeniedException
Triggers
in this System.
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteTriggers(IdList triggerIds) throws OperationFailedException, PermissionDeniedException
Ids.
triggerIds
- the Ids
of the triggers to deleteNullArgumentException
- triggerIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteTriggersForController(Id controllerId) throws OperationFailedException, PermissionDeniedException
Controller.
controllerId
- a controller Id
NullArgumentException
- controllerId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasTriggers(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to a Trigger
for the purpose
of creating compatibility. The primary Id
of the
Trigger
is determined by the provider. The new Id
is an alias to the primary Id.
If the alias is
a pointer to another trigger, it is reassigned to the given trigger
Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.