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, updateFamily
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
FamilyBatchFormList 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.