public interface CreditBatchAdminSession extends CreditAdminSession
This session creates, updates, and deletes Credits 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
Credit, a CreditForm is requested using
getCreditFormsForCreate() specifying the desired reference,
resource, and record Types or none if no record
Types are needed. Each of the returned CreditForms
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
CreditForm is submiited to a create operation, it cannot be reused
with another create operation unless the first operation was unsuccessful.
Each CreditForm corresponds to an attempted transaction.
The CreditForms returned from
getCreditFormsForCreate() may be linked to the originating request
through the peer Ids of the CreditForm. In
the case where there may be duplicates, any CreditForm of
the same peer Ids may be used for a create operation.
Once a batch of CreditForms are submitted for create, a
CreateResponse is returned for each CreditForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createCredits(),
errors specific to an individual CreditForm are
indicated in the corresponding CreateResponse.
CreateResponses may be linked to the originating CreditForm
through the CreditForm Id .
For updates, CreditForms are requested to the
Credit Id that is to be updated using
getCreditFormsForUpdate() where the reference Id in
the CreditForm may be used to link the request. Similarly,
the CreditForm has metadata about the data that can be
updated and it can perform validation before submitting the update. The
CreditForm can only be used once for a successful update
and cannot be reused.
Once a batch of CreditForms are submitted for update,
an UpdateResponse is returned for each CreditForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateCredits(),
errors specific to an individual CreditForm are
indicated in the corresponding UpdateResponse.
UpdateResponses may be linked to the originating CreditForm
through the CreditForm Id.
The delete operations delete Credits in bulk. To unmap
a Credit from the current Billing, the
CreditBillingAssignmentSession should be used. These delete
operations attempt to remove the Credit itself thus
removing it from all known Billing catalogs. Bulk delete
operations return the results in DeleteResponses.
| Modifier and Type | Method and Description |
|---|---|
AliasResponseList |
aliasCredits(AliasRequestList aliasRequests)
Adds an
Id to a Credit for the purpose
of creating compatibility. |
CreateResponseList |
createCredits(CreditBatchFormList creditForms)
Creates a new set of
Credits. |
DeleteResponseList |
deleteAllCredits()
Deletes all
Credits in this Billing . |
DeleteResponseList |
deleteCredits(IdList creditIds)
Deletes credits for the given
Ids. |
DeleteResponseList |
deleteCreditsForReference(Id referenceId)
Deletes credits for the given reference.
|
DeleteResponseList |
deleteCreditsForResource(Id resourceId)
Deletes credits for the given resource.
|
DeleteResponseList |
deleteIneffectiveCreditsByDate(DateTime date)
Deletes credits expired before the given date.
|
CreditBatchFormList |
getCreditFormsForCreate(CreditPeerList peers,
Type[] creditRecordTypes)
Gets the credit forms for creating a bunch of new credits.
|
CreditBatchFormList |
getCreditFormsForUpdate(IdList creditIds)
Gets the credit forms for updating an existing set of credits.
|
UpdateResponseList |
updateCredits(CreditBatchFormList creditForms)
Updates existing credits.
|
aliasCredit, canCreateCredits, canCreateCreditWithRecordTypes, canDeleteCredits, canManageCreditAliases, canUpdateCredits, createCredit, deleteCredit, getBilling, getBillingId, getCreditFormForCreate, getCreditFormForUpdate, updateCreditgetAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionscloseCreditBatchFormList getCreditFormsForCreate(CreditPeerList peers, Type[] creditRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException
peers - the relationship peerscreditRecordTypes - array of credit record types to be included
in each create operation or an empty list if noneNotFoundException - a resourceId is not
foundNullArgumentException - peers or
creditRecordTypes is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - unable to request forms with
given record typesmandatory - This method must be implemented. CreateResponseList createCredits(CreditBatchFormList creditForms) throws OperationFailedException, PermissionDeniedException
Credits. This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse .creditForms - the credit formsNullArgumentException - creditForms is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. CreditBatchFormList getCreditFormsForUpdate(IdList creditIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
creditIds - the Ids of the Credits NotFoundException - a creditId is not
foundNullArgumentException - creditIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. UpdateResponseList updateCredits(CreditBatchFormList creditForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse .creditForms - the form containing the elements to be updatedNullArgumentException - creditForms is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteAllCredits() throws OperationFailedException, PermissionDeniedException
Credits in this Billing .OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteCredits(IdList creditIds) throws OperationFailedException, PermissionDeniedException
Ids. creditIds - the Ids of the credits to deleteNullArgumentException - creditIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteCreditsForReference(Id referenceId) throws OperationFailedException, PermissionDeniedException
referenceId - the Id of a referenceNullArgumentException - referenceId is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteCreditsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
resourceId - the Id of a resourceNullArgumentException - resourceId is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteIneffectiveCreditsByDate(DateTime date) throws OperationFailedException, PermissionDeniedException
date - a dateNullArgumentException - date is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. AliasResponseList aliasCredits(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id to a Credit for the purpose
of creating compatibility. The primary Id of the
Credit is determined by the provider. The new Id
is an alias to the primary Id. If the alias is
a pointer to another credit, 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.