public interface FunctionBatchAdminSession extends FunctionAdminSession
This session creates, updates, and deletes Functions
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
Function,
a FunctionForm
is requested using
getFunctionFormsForCreate()
specifying the desired record
Types
or none if no record Types
are needed. Each
of the returned FunctionForms
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 FunctionForm
is
submiited to a create operation, it cannot be reused with another create
operation unless the first operation was unsuccessful. Each
FunctionForm
corresponds to an attempted transaction.
The FunctionForms
returned from
getFunctionFormsForCreate()
may be linked to the originating
request through the peer Ids
of the FunctionForm.
In the case where there may be duplicates, any FunctionForm
of the same peer Ids
may be used for a create
operation.
Once a batch of FunctionForms
are submitted for create,
a CreateResponse
is returned for each FunctionForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createFunctions(),
errors specific to an individual FunctionForm
are
indicated in the corresponding CreateResponse.
CreateResponses
may be linked to the originating
FunctionForm
through the FunctionForm
Id
.
For updates, FunctionForms
are requested to the
Function
Id
that is to be updated using
getFunctionFormsForUpdate()
where the reference Id
in the FunctionForm
may be used to link the request.
Similarly, the FunctionForm
has metadata about the data
that can be updated and it can perform validation before submitting the
update. The FunctionForm
can only be used once for a
successful update and cannot be reused.
Once a batch of FunctionForms
are submitted for update,
an UpdateResponse
is returned for each FunctionForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateFunctions(),
errors specific to an individual FunctionForm
are
indicated in the corresponding UpdateResponse.
UpdateResponses
may be linked to the originating
FunctionForm
through the FunctionForm
Id.
The delete operations delete Functions
in bulk. To
unmap a Function
from the current Vault,
the
FunctionVaultAssignmentSession
should be used. These delete
operations attempt to remove the Function
itself thus
removing it from all known Vault
catalogs. Bulk delete
operations return the results in DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasFunctions(AliasRequestList aliasRequests)
Adds an
Id to a Function for the purpose
of creating compatibility. |
CreateResponseList |
createFunctions(FunctionBatchFormList functionForms)
Creates a new set of
Functions. |
DeleteResponseList |
deleteAllFunctions()
Deletes all
Functions in this Vault . |
DeleteResponseList |
deleteFunctions(IdList functionIds)
Deletes functions for the given
Ids. |
FunctionBatchFormList |
getFunctionFormsForCreate(long number,
Type[] functionRecordTypes)
Gets the function forms for creating a bunch of new functions.
|
FunctionBatchFormList |
getFunctionFormsForUpdate(IdList functionIds)
Gets the function forms for updating an existing set of functions.
|
UpdateResponseList |
updateFunctions(FunctionBatchFormList functionForms)
Updates existing functions.
|
aliasFunction, canCreateFunctions, canCreateFunctionWithRecordTypes, canDeleteFunctions, canManageFunctionAliases, canUpdateFunctions, createFunction, deleteFunction, getFunctionFormForCreate, getFunctionFormForUpdate, getVault, getVaultId, updateFunction
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
FunctionBatchFormList getFunctionFormsForCreate(long number, Type[] functionRecordTypes) throws OperationFailedException, PermissionDeniedException
number
- the number of forms to retrievefunctionRecordTypes
- array of function record types to be
included in each create operation or an empty list if noneNullArgumentException
- functionRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createFunctions(FunctionBatchFormList functionForms) throws OperationFailedException, PermissionDeniedException
Functions.
This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse
.functionForms
- the function formsNullArgumentException
- functionForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. FunctionBatchFormList getFunctionFormsForUpdate(IdList functionIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
functionIds
- the Ids
of the Function
NotFoundException
- a functionId
is not
foundNullArgumentException
- functionIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateFunctions(FunctionBatchFormList functionForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.functionForms
- the form containing the elements to be updatedNullArgumentException
- functionForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllFunctions() throws OperationFailedException, PermissionDeniedException
Functions
in this Vault
.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteFunctions(IdList functionIds) throws OperationFailedException, PermissionDeniedException
Ids.
functionIds
- the Ids
of the functions to deleteNullArgumentException
- functionIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasFunctions(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to a Function
for the purpose
of creating compatibility. The primary Id
of the
Function
is determined by the provider. The new Id
is an alias to the primary Id.
If the alias is
a pointer to another function, it is reassigned to the given entry
Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.