public interface BlockAdminSession extends OsidSession
This session creates, updates, and deletes  Blocks.  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  
  Block,  a  BlockForm  is requested using  
  getBlockFormForCreate()  specifying the desired relationship peers 
  and record  Types  or none if no record  Types  
  are needed. The returned  BlockForm  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  BlockForm  is 
  submiited to a create operation, it cannot be reused with another create 
  operation unless the first operation was unsuccessful. Each  
  BlockForm  corresponds to an attempted transaction. 
 For updates,  BlockForms  are requested to the  
  Block   Id  that is to be updated using  
  getBlockFormForUpdate().  Similarly, the  BlockForm  
  has metadata about the data that can be updated and it can perform 
  validation before submitting the update. The  BlockForm  can 
  only be used once for a successful update and cannot be reused. 
 The delete operations delete  Blocks.  To unmap a  
  Block  from the current  Oubliette,  the  
  BlockOublietteAssignmentSession  should be used. These delete 
  operations attempt to remove the  Block  itself thus removing 
  it from all known  Oubliette  catalogs. 
 This session includes an  Id  aliasing mechanism to 
  assign an external  Id  to an internally assigned Id. 
| Modifier and Type | Method and Description | 
|---|---|
void | 
aliasBlock(Id blockId,
          Id aliasId)
Adds an  
 Id  to a  Block  for the purpose of 
  creating compatibility. | 
boolean | 
canCreateBlocks()
Tests if this user can create  
 Blocks. | 
boolean | 
canCreateBlockWithRecordTypes(Type[] blockRecordTypes)
Tests if this user can create a single  
 Block  using the 
  desired record types. | 
boolean | 
canDeleteBlocks()
Tests if this user can delete  
 Blocks. | 
boolean | 
canManageBlockAliases()
Tests if this user can manage  
 Id  aliases for  
  Blocks. | 
boolean | 
canUpdateBlocks()
Tests if this user can update  
 Blocks. | 
Block | 
createBlock(BlockForm blockForm)
Creates a new  
 Block. | 
void | 
deleteBlock(Id blockId)
Deletes a  
 Block. | 
BlockForm | 
getBlockFormForCreate(Type[] blockRecordTypes)
Gets the block form for creating new blocks. 
 | 
BlockForm | 
getBlockFormForUpdate(Id blockId)
Gets the block form for updating an existing block. 
 | 
Oubliette | 
getOubliette()
Gets the  
 Oubliette  associated with this session. | 
Id | 
getOublietteId()
Gets the  
 Oubliette   Id  associated with 
  this session. | 
void | 
updateBlock(BlockForm blockForm)
Updates an existing block. 
 | 
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionscloseId getOublietteId()
 Oubliette   Id  associated with 
  this session. Oubliette Id  associated with this sessionmandatory - This method must be implemented. Oubliette getOubliette() throws OperationFailedException, PermissionDeniedException
 Oubliette  associated with this session.OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. boolean canCreateBlocks()
 Blocks.  A return of true 
  does not guarantee successful authorization. A return of false 
  indicates that it is known creating a  Block  will result 
  in a  PERMISSION_DENIED.  This is intended as a hint to 
  an application that may opt not to offer create operations to an 
  unauthorized user. false  if  Block  creation is not 
          authorized,  true  otherwisemandatory - This method must be implemented. boolean canCreateBlockWithRecordTypes(Type[] blockRecordTypes)
 Block  using the 
  desired record types. While  HoldManager.getBlockRecordTypes() 
   can be used to examine which records are supported, this 
  method tests which record(s) are required for creating a specific 
   Block.  Providing an empty array tests if a  Block 
   can be created with no records.blockRecordTypes - array of block record types true  if  Block  creation using the 
          specified record  Types  is supported,  
          false  otherwiseNullArgumentException -  blockRecordTypes  
          is  null mandatory - This method must be implemented. BlockForm getBlockFormForCreate(Type[] blockRecordTypes) throws OperationFailedException, PermissionDeniedException
blockRecordTypes - array of block record typesNullArgumentException -  blockRecordTypes  
          is  null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - unable to get form for requested 
          record typesmandatory - This method must be implemented. Block createBlock(BlockForm blockForm) throws OperationFailedException, PermissionDeniedException
 Block. blockForm - the form for this  Block  Block IllegalStateException -  blockForm  
          already used in a create transactionInvalidArgumentException - one or more of the form 
          elements is invalidNullArgumentException -  blockForm  is 
           null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException -  blockForm  did not 
          originate from  getBlockFormForCreate() mandatory - This method must be implemented. boolean canUpdateBlocks()
 Blocks.  A return of true 
  does not guarantee successful authorization. A return of false 
  indicates that it is known updating a  Block  will result 
  in a  PERMISSION_DENIED.  This is intended as a hint to 
  an application that may opt not to offer update operations to an 
  unauthorized user. false  if  Block  modification is 
          not authorized,  true  otherwisemandatory - This method must be implemented. BlockForm getBlockFormForUpdate(Id blockId) throws NotFoundException, OperationFailedException
blockId - the  Id  of the  Block NotFoundException -  blockId  is not foundNullArgumentException -  blockId  is 
           null OperationFailedException - unable to complete requestmandatory - This method must be implemented. void updateBlock(BlockForm blockForm) throws OperationFailedException, PermissionDeniedException
blockForm - the form containing the elements to be updatedIllegalStateException -  blockForm  
          already used in an update transactionInvalidArgumentException - the form contains an invalid 
          valueNullArgumentException -  blockId  or 
           blockForm  is  null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException -  blockForm  did not 
          originate from  getBlockFormForUpdate() mandatory - This method must be implemented. boolean canDeleteBlocks()
 Blocks.  A return of true 
  does not guarantee successful authorization. A return of false 
  indicates that it is known deleting a  Block  will result 
  in a  PERMISSION_DENIED.  This is intended as a hint to 
  an application that may opt not to offer delete operations to an 
  unauthorized user. false  if  Block  deletion is not 
          authorized,  true  otherwisemandatory - This method must be implemented. void deleteBlock(Id blockId) throws NotFoundException, OperationFailedException, PermissionDeniedException
 Block. blockId - the  Id  of the  Block  to 
          removeNotFoundException -  blockId  not foundNullArgumentException -  blockId  is 
           null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. boolean canManageBlockAliases()
 Id  aliases for  
  Blocks.  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  Block  aliasing is not 
          authorized,  true  otherwisemandatory - This method must be implemented. void aliasBlock(Id blockId, Id aliasId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
 Id  to a  Block  for the purpose of 
  creating compatibility. The primary  Id  of the  
  Block  is determined by the provider. The new  Id  
  performs as an alias to the primary  Id.  If the alias is 
  a pointer to another block, it is reassigned to the given block  
  Id. blockId - the  Id  of a  Block aliasId - the alias  Id AlreadyExistsException -  aliasId  is 
          already assignedNotFoundException -  blockId  not foundNullArgumentException -  blockId  or 
           aliasId  is  null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented.