public interface ObjectiveBankAdminSession extends OsidSession
This session creates, updates, and deletes ObjectiveBanks.
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 an
ObjectiveBank,
an ObjectiveBankForm
is
requested using getObjectiveBankFormForCreate()
specifying
the desired record Types
or none if no record Types
are needed. The returned ObjectiveBankForm
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 the
ObjectiveBankForm
is submiited to a create operation, it cannot be
reused with another create operation unless the first operation was
unsuccessful. Each ObjectiveBankForm
corresponds to an
attempted transaction.
For updates, ObjectiveBankForms
are requested to the
ObjectiveBank
Id
that is to be updated using
getObjectiveBankFormForUpdate().
Similarly, the
ObjectiveBankForm
has metadata about the data that can be updated
and it can perform validation before submitting the update. The
ObjectiveBankForm
can only be used once for a successful update
and cannot be reused.
The delete operations delete ObjectiveBanks.
It is
safer to remove all mappings to the ObjectiveBank
catalogs
before deletion.
This session includes an Id
aliasing mechanism to
assign an external Id
to an internally assigned Id.
Modifier and Type | Method and Description |
---|---|
void |
aliasObjectiveBank(Id objectiveBankId,
Id aliasId)
Adds an
Id to an ObjectiveBank for the
purpose of creating compatibility. |
boolean |
canCreateObjectiveBanks()
Tests if this user can create
ObjectiveBanks. |
boolean |
canCreateObjectiveBankWithRecordTypes(Type[] objectiveBankRecordTypes)
Tests if this user can create a single
ObjectiveBank
using the desired record types. |
boolean |
canDeleteObjectiveBanks()
Tests if this user can delete objective banks.
|
boolean |
canManageObjectiveBankAliases()
Tests if this user can manage
Id aliases for
ObjectiveBanks. |
boolean |
canUpdateObjectiveBanks()
Tests if this user can update
ObjectiveBanks. |
ObjectiveBank |
createObjectiveBank(ObjectiveBankForm objectiveBankForm)
Creates a new
ObjectiveBank. |
void |
deleteObjectiveBank(Id objectiveBankId)
Deletes an
ObjectiveBank. |
ObjectiveBankForm |
getObjectiveBankFormForCreate(Type[] objectiveBankRecordTypes)
Gets the objective bank form for creating new objective banks.
|
ObjectiveBankForm |
getObjectiveBankFormForUpdate(Id objectiveBankId)
Gets the objective bank form for updating an existing objective bank.
|
void |
updateObjectiveBank(ObjectiveBankForm objectiveBankForm)
Updates an existing objective bank.
|
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
boolean canCreateObjectiveBanks()
ObjectiveBanks.
A return
of true does not guarantee successful authorization. A return of false
indicates that it is known creating an ObjectiveBank
will result in a PERMISSION_DENIED.
This is intended as
a hint to an application that may not wish to offer create operations
to unauthorized users. false
if ObjectiveBank
creation
is not authorized, true
otherwisemandatory
- This method must be implemented. boolean canCreateObjectiveBankWithRecordTypes(Type[] objectiveBankRecordTypes)
ObjectiveBank
using the desired record types. While
LearningManager.getObjectiveBankRecordTypes()
can be used to
examine which records are supported, this method tests which record(s)
are required for creating a specific ObjectiveBank.
Providing an empty array tests if an ObjectiveBank
can
be created with no records.objectiveBankRecordTypes
- array of objective bank record types true
if ObjectiveBank
creation
using the specified Types
is supported,
false
otherwiseNullArgumentException
- objectiveBankRecordTypes
is null
mandatory
- This method must be implemented. ObjectiveBankForm getObjectiveBankFormForCreate(Type[] objectiveBankRecordTypes) throws OperationFailedException, PermissionDeniedException
objectiveBankRecordTypes
- array of objective bank record typesNullArgumentException
- objectiveBankRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to get form for requested
record types.mandatory
- This method must be implemented. ObjectiveBank createObjectiveBank(ObjectiveBankForm objectiveBankForm) throws OperationFailedException, PermissionDeniedException
ObjectiveBank.
objectiveBankForm
- the form for this ObjectiveBank
ObjectiveBank
IllegalStateException
- objectiveBankForm
already used in a create transactionInvalidArgumentException
- one or more of the form
elements is invalidNullArgumentException
- objectiveBankForm
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- objectiveBankForm
did not originate from getObjectiveBankFormForCreate()
mandatory
- This method must be implemented. boolean canUpdateObjectiveBanks()
ObjectiveBanks.
A return
of true does not guarantee successful authorization. A return of false
indicates that it is known updating an ObjectiveBank
will result in a PERMISSION_DENIED.
This is intended as
a hint to an application that may not wish to offer update operations
to unauthorized users. false
if ObjectiveBank
modification is not authorized, true
otherwisemandatory
- This method must be implemented. ObjectiveBankForm getObjectiveBankFormForUpdate(Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException
objectiveBankId
- the Id
of the
ObjectiveBank
NotFoundException
- objectiveBankId
is
not foundNullArgumentException
- objectiveBankId
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void updateObjectiveBank(ObjectiveBankForm objectiveBankForm) throws OperationFailedException, PermissionDeniedException
objectiveBankForm
- the form containing the elements to be
updatedIllegalStateException
- objectiveBankForm
already used in an update transactionInvalidArgumentException
- the form contains an invalid
valueNullArgumentException
- objectiveBankForm
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- objectiveBankForm did not
originate from getObjectiveBankFormForUpdate()
mandatory
- This method must be implemented. boolean canDeleteObjectiveBanks()
ObjectiveBank
will result
in a PERMISSION_DENIED.
This is intended as a hint to
an application that may not wish to offer delete operations to
unauthorized users. false
if ObjectiveBank
deletion
is not authorized, true
otherwisemandatory
- This method must be implemented. void deleteObjectiveBank(Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException
ObjectiveBank.
objectiveBankId
- the Id
of the
ObjectiveBank
to removeNotFoundException
- objectiveBankId
not
foundNullArgumentException
- objectiveBankId
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean canManageObjectiveBankAliases()
Id
aliases for
ObjectiveBanks.
A return of true does not guarantee successful
authorization. A return of false indicates that it is known changing
an alias will result in a PERMISSION_DENIED.
This is
intended as a hint to an application that may opt not to offer alias
operations to an unauthorized user. false
if ObjectiveBank
aliasing
is not authorized, true
otherwisemandatory
- This method must be implemented. void aliasObjectiveBank(Id objectiveBankId, Id aliasId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
Id
to an ObjectiveBank
for the
purpose of creating compatibility. The primary Id
of
the ObjectiveBank
is determined by the provider. The
new Id
performs as an alias to the primary Id.
If the alias is a pointer to another objective bank, it is
reassigned to the given objective bank Id.
objectiveBankId
- the Id
of an
ObjectiveBank
aliasId
- the alias Id
AlreadyExistsException
- aliasId
is
already assignedNotFoundException
- objectiveBankId
not
foundNullArgumentException
- objectiveBankId
or aliasId
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.