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