| Interface | osid.filing.allocation.AllocationAdminSession | ||
|---|---|---|---|
| Implements | osid.OsidSession | ||
| Description | 
                 This session defines methods for managing quotas. Allocations can be assigned across all users in a directory structure or on a user by user basis.  | ||
| Method | getDirectoryPath | ||
| Description | 
                     Gets the absolute path of this directory.  | ||
| Return | string | the absolute path of this directory | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getDirectory | ||
| Description | 
                     Gets the directory associated with this session.  | ||
| Return | osid.filing.Directory | the directory associated with this session | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canCreateAllocations | ||
| Description | 
                     Tests if this user can create allocations in this 
                    session for or under the session directory. A return of 
                    true does not guarantee successful authorization. A return 
                    of false indicates that it is known all methods in this 
                    session will result in a   | ||
| Return | boolean |  false  if filing allocation create methods are not 
authorized,  true  otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | canCreateAllocationWithRecordTypes | ||
| Description | 
                     Tests if this user can create a single   | ||
| Parameters | osid.type.Type[] | allocationRecordTypes | array of allocation record types | 
| Return | boolean |  true  if  Allocation  creation using the 
specified record  Types  is supported,  false  
otherwise  | |
| Errors | NULL_ARGUMENT |  allocationRecordTypes  is  null   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | getAllocationFormForCreate | ||
| Description | 
                     Gets the file form for creating new allocations across all users for a directory. A new form should be requested for each create transaction.  | ||
| Parameters | string | name | name of a directory | 
osid.type.Type[] | allocationRecordTypes | array of allocation record types | |
| Return | osid.filing.allocation.AllocationForm | the allocation form | |
| Errors | ALREADY_EXISTS | allocation already exists | |
| NOT_FOUND |  name  not found  |                 ||
| NULL_ARGUMENT |  name  or  allocationRecordTypes  is  null 
  |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| UNSUPPORTED | unable to get form for requested record types | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | createAllocation | ||
| Description | 
                     Creates a new allocation across all users for a directory.  | ||
| Parameters | osid.filing.allocation.AllocationForm | allocationForm | the allocation form | 
| Return | osid.filing.allocation.Allocation | the new allocation | |
| Errors | ILLEGAL_STATE |  allocationForm  already used in a create transaction  |                 |
| INVALID_ARGUMENT | one or more of the form elements is invalid | ||
| NULL_ARGUMENT |  allocationForm  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| UNSUPPORTED |  fileForm  did not originate from  
getAllocationFormForCreate()   |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canUpdateAllocations | ||
| Description | 
                     Tests if this user can update allocations for 
                    directories in this session. A return of true does not 
                    guarantee successful authorization. A return of false 
                    indicates that it is known all methods in this session 
                    will result in a   | ||
| Return | boolean |  false  if filing allocation update methods are not 
authorized,  true  otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getAllocationFormForUpdate | ||
| Description | 
                     Gets the allocation form for updating an existing allocation. A new file form should be requested for each update transaction.  | ||
| Parameters | string | name | name of the directory | 
| Return | osid.filing.allocation.AllocationForm | the allocation form | |
| Errors | NOT_FOUND |  name  is not found or no allocation exists  |                 |
| NULL_ARGUMENT |  name  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | updateAllocation | ||
| Description | 
                     Updates an existing allocation.  | ||
| Parameters | osid.filing.allocation.AllocationForm | allocationForm | the form containing the elements to be updated | 
| Errors | ILLEGAL_STATE |  allocationForm  already used in an update transaction  |                 |
| INVALID_ARGUMENT | the form contains an invalid value | ||
| NULL_ARGUMENT |  allocationForm  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| UNSUPPORTED |  allocationForm  did not originate from  
getAllocationFormForUpdate()   |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canDeleteAllocations | ||
| Description | 
                     Tests if this user can delete allocations for 
                    directories in this session. A return of true does not 
                    guarantee successful authorization. A return of false 
                    indicates that it is known all methods in this session 
                    will result in a   | ||
| Return | boolean |  false  if filing allocation delete methods are not 
authorized,  true  otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | deleteAllocation | ||
| Description | 
                     Deletes the allocation for a directory.  | ||
| Parameters | string | name | the name of the directory | 
| Errors | NOT_FOUND |  name  is not found or no allocation exists  |                 |
| NULL_ARGUMENT |  name  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canCreateAllocationsForUsers | ||
| Description | 
                     Tests if this user can create allocations in this 
                    session for or under the session directory for specific 
                    users. A return of true does not guarantee successful 
                    authorization. A return of false indicates that it is 
                    known all methods in this session will result in a   | ||
| Return | boolean |  false  if user allocation create methods are not authorized, 
 true  otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | canCreateAllocationWithRecordTypesForUsers | ||
| Description | 
                     Tests if this user can create a single   | ||
| Parameters | osid.type.Type[] | allocationRecordTypes | array of allocation record types | 
| Return | boolean |  true  if  Allocation  creation using the 
specified record  Types  is supported,  false  
otherwise  | |
| Errors | NULL_ARGUMENT |  allocationRecordTypes  is  null   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | getAllocationFormForCreateForUser | ||
| Description | 
                     Gets the file form for creating new allocations across all users for a directory. A new form should be requested for each create transaction.  | ||
| Parameters | string | name | name of a directory | 
osid.id.Id | agentId | the  Id  of a user  | |
osid.type.Type[] | allocationRecordTypes | array of allocation record types | |
| Return | osid.filing.allocation.AllocationForm | the allocation form | |
| Errors | ALREADY_EXISTS | allocation already exists | |
| NOT_FOUND |  name  or  agentId  is not found  |                 ||
| NULL_ARGUMENT |  name, agentId,  or  allocationRecordTypes  is 
 null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| UNSUPPORTED | unable to get form for requested record types | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | createAllocationForUser | ||
| Description | 
                     Creates a new allocation for a specific user for a directory.  | ||
| Parameters | osid.filing.allocation.AllocationForm | allocationForm | the allocation form | 
| Return | osid.filing.allocation.Allocation | the new allocation | |
| Errors | ILLEGAL_STATE |  allocationForm  already used in a create transaction  |                 |
| INVALID_ARGUMENT | one or more of the form elements is invalid | ||
| NULL_ARGUMENT |  allocationForm  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| UNSUPPORTED |  fileForm  did not originate from  
getAllocationFormForCreateForUser()   |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canUpdateAllocationsForUsers | ||
| Description | 
                     Tests if this user can update allocations for users in 
                    directories in this session. A return of true does not 
                    guarantee successful authorization. A return of false 
                    indicates that it is known all methods in this session 
                    will result in a   | ||
| Return | boolean |  false  if filing allocation user update methods are not 
authorized,  true  otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getAllocationFormForUpdateForUser | ||
| Description | 
                     Gets the allocation form for updating an existing allocation for a user. A new file form should be requested for each update transaction.  | ||
| Parameters | string | name | name of the directory | 
osid.id.Id | agentId | the  Id  of the user  | |
| Return | osid.filing.allocation.AllocationForm | the allocation form | |
| Errors | NOT_FOUND |  name  or  agentId  is not found or no allocation 
exists  |                 |
| NULL_ARGUMENT |  name  or  agentId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | updateAllocationForUser | ||
| Description | 
                     Updates an existing allocation.  | ||
| Parameters | osid.filing.allocation.AllocationForm | allocationForm | the form containing the elements to be updated | 
| Errors | ILLEGAL_STATE |  allocationForm  already used in an update transaction  |                 |
| INVALID_ARGUMENT | the form contains an invalid value | ||
| NULL_ARGUMENT |  allocationForm  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| UNSUPPORTED |  allocationForm  did not originate from  
getAllocationFormForUpdateForUser()   |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canDeleteAllocationsForUser | ||
| Description | 
                     Tests if this user can delete allocations for users in 
                    directories in this session. A return of true does not 
                    guarantee successful authorization. A return of false 
                    indicates that it is known all methods in this session 
                    will result in a   | ||
| Return | boolean |  false  if filing allocation delete methods are not 
authorized,  true  otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | deleteAllocationForUser | ||
| Description | 
                     Deletes the allocation for a directory.  | ||
| Parameters | string | name | name of the directory | 
osid.id.Id | agentId | the  Id  of the user  | |
| Errors | NOT_FOUND |  name  or  agentId  is not found or no allocation 
exists  |                 |
| NULL_ARGUMENT |  name  or  agentId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |