public interface FamilyBatchAdminSession extends FamilyAdminSession
This session creates, updates, and deletes Families 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
Family, a FamilyForm is requested using
getFamilyFormsForCreate() specifying the desired record
Types or none if no record Types are needed. Each
of the returned FamilyForms 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 FamilyForm is
submiited to a create operation, it cannot be reused with another create
operation unless the first operation was unsuccessful. Each
FamilyForm corresponds to an attempted transaction.
The FamilyForms returned from
getFamilyFormsForCreate() may be linked to the originating request
through the peer Ids of the FamilyForm. In
the case where there may be duplicates, any FamilyForm of
the same peer Ids may be used for a create operation.
Once a batch of FamilyForms are submitted for create, a
CreateResponse is returned for each FamilyForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createFamily(),
errors specific to an individual FamilyForm are
indicated in the corresponding CreateResponse.
CreateResponses may be linked to the originating FamilyForm
through the FamilyForm Id .
For updates, FamilyForms are requested to the
Family Id that is to be updated using
getFamilyFormsForUpdate() where the reference Id in
the FamilyForm may be used to link the request. Similarly,
the FamilyForm has metadata about the data that can be
updated and it can perform validation before submitting the update. The
FamilyForm can only be used once for a successful update
and cannot be reused.
Once a batch of FamilyForms are submitted for update,
an UpdateResponse is returned for each FamilyForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateFamily(),
errors specific to an individual FamilyForm are
indicated in the corresponding UpdateResponse.
UpdateResponses may be linked to the originating FamilyForm
through the FamilyForm Id.
The delete operations delete Families in bulk. Bulk
delete operations return the results in DeleteResponses.
| Modifier and Type | Method and Description |
|---|---|
AliasResponseList |
aliasFamilies(AliasRequestList aliasRequests)
Adds an
Id to a Family for the purpose
of creating compatibility. |
CreateResponseList |
createFamilies(FamilyBatchFormList familyForms)
Creates a new set of
Families. |
DeleteResponseList |
deleteAllFamilies()
Deletes all
Families. |
DeleteResponseList |
deleteFamilies(IdList familyIds)
Deletes families for the given
Ids. |
FamilyBatchFormList |
getFamilyFormsForCreate(long number,
Type[] familyRecordTypes)
Gets the family forms for creating a bunch of new family.
|
FamilyBatchFormList |
getFamilyFormsForUpdate(IdList familyIds)
Gets the family forms for updating an existing set of families.
|
UpdateResponseList |
updateFamilies(FamilyBatchFormList familyForms)
Updates existing families.
|
aliasFamily, canCreateFamilies, canCreateFamilyWithRecordTypes, canDeleteFamilies, canManageFamilyAliases, canUpdateFamilies, createFamily, deleteFamily, getFamilyFormForCreate, getFamilyFormForUpdate, updateFamilygetAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionscloseFamilyBatchFormList getFamilyFormsForCreate(long number, Type[] familyRecordTypes) throws OperationFailedException, PermissionDeniedException
number - the number of forms to retrievefamilyRecordTypes - array of family record types to be included
in each create operation or an empty list if noneNullArgumentException - familyRecordTypes
is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - unable to request forms with
given record typesmandatory - This method must be implemented. CreateResponseList createFamilies(FamilyBatchFormList familyForms) throws OperationFailedException, PermissionDeniedException
Families. This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse .familyForms - the family formsNullArgumentException - familyForms is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. FamilyBatchFormList getFamilyFormsForUpdate(IdList familyIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
familyIds - the Ids of the Families
NotFoundException - a familyId is not
foundNullArgumentException - familyIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. UpdateResponseList updateFamilies(FamilyBatchFormList familyForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse .familyForms - the form containing the elements to be updatedNullArgumentException - familyForms is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteAllFamilies() throws OperationFailedException, PermissionDeniedException
Families. OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteFamilies(IdList familyIds) throws OperationFailedException, PermissionDeniedException
Ids. familyIds - the Ids of the families to deleteNullArgumentException - familyIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. AliasResponseList aliasFamilies(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id to a Family for the purpose
of creating compatibility. The primary Id of the
Family is determined by the provider. The new Id
is an alias to the primary Id. If the alias is
a pointer to another family, it is reassigned to the given family
Id. aliasRequests - the alias requestsNullArgumentException - aliasRequests is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented.