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, supportsTransactionscloseboolean 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.