public interface ItemAdminSession extends OsidSession
This session creates, updates, and deletes  Items.  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  
  Item,  a  ItemForm  is requested using  
  getItemFormForCreate()  specifying the desired record  Types 
   or none if no record  Types  are needed. The returned 
   ItemForm  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  ItemForm  is submiited to a create 
  operation, it cannot be reused with another create operation unless the 
  first operation was unsuccessful. Each  ItemForm  corresponds 
  to an attempted transaction. 
 For updates,  ItemForms  are requested to the  Item 
    Id  that is to be updated using  
  getItemFormForUpdate().  Similarly, the  ItemForm  has 
  metadata about the data that can be updated and it can perform validation 
  before submitting the update. The  ItemForm  can only be used 
  once for a successful update and cannot be reused. 
 The delete operations delete  Items.  To unmap a  
  Item  from the current  Warehouse,  the  
  ItemWarehouseAssignmentSession  should be used. These delete 
  operations attempt to remove the  Item  itself thus removing 
  it from all known  Warehouse  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 | 
aliasItem(Id itemId,
         Id aliasId)
Adds an  
 Id  to an  Item  for the purpose of 
  creating compatibility. | 
boolean | 
canCreateItems()
Tests if this user can create  
 Items. | 
boolean | 
canCreateItemWithRecordTypes(Type[] itemRecordTypes)
Tests if this user can create a single  
 Item  using the 
  desired record types. | 
boolean | 
canDeleteItems()
Tests if this user can delete  
 Items. | 
boolean | 
canManageItemAliases()
Tests if this user can manage  
 Id  aliases for  
  Items. | 
boolean | 
canUpdateItems()
Tests if this user can update  
 Items. | 
Item | 
createItem(ItemForm itemForm)
Creates a new  
 Item. | 
void | 
deleteItem(Id itemId)
Deletes an  
 Item. | 
ItemForm | 
getItemFormForCreate(Type[] itemRecordTypes)
Gets the item form for creating new items. 
 | 
ItemForm | 
getItemFormForUpdate(Id itemId)
Gets the item form for updating an existing item. 
 | 
Warehouse | 
getWarehouse()
Gets the  
 Warehouse  associated with this session. | 
Id | 
getWarehouseId()
Gets the  
 Warehouse   Id  associated with 
  this session. | 
void | 
updateItem(ItemForm itemForm)
Updates an existing item. 
 | 
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionscloseId getWarehouseId()
 Warehouse   Id  associated with 
  this session. Warehouse Id  associated with this sessionmandatory - This method must be implemented. Warehouse getWarehouse() throws OperationFailedException, PermissionDeniedException
 Warehouse  associated with this session.OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. boolean canCreateItems()
 Items.  A return of true 
  does not guarantee successful authorization. A return of false 
  indicates that it is known creating an  Item  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  Item  creation is not 
          authorized,  true  otherwisemandatory - This method must be implemented. boolean canCreateItemWithRecordTypes(Type[] itemRecordTypes)
 Item  using the 
  desired record types. While  
  InventoryManager.getItemRecordTypes()  can be used to examine 
  which records are supported, this method tests which record(s) are 
  required for creating a specific  Item.  Providing an 
  empty array tests if an  Item  can be created with no 
  records.itemRecordTypes - array of item record types true  if  Item  creation using the 
          specified record  Types  is supported,  
          false  otherwiseNullArgumentException -  itemRecordTypes  
          is  null mandatory - This method must be implemented. ItemForm getItemFormForCreate(Type[] itemRecordTypes) throws OperationFailedException, PermissionDeniedException
itemRecordTypes - array of item record typesNullArgumentException -  itemRecordTypes  
          is  null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - unable to get form for requested 
          record typesmandatory - This method must be implemented. Item createItem(ItemForm itemForm) throws OperationFailedException, PermissionDeniedException
 Item. itemForm - the form for this  Item  Item IllegalStateException -  itemForm  already 
          used in a create transactionInvalidArgumentException - one or more of the form 
          elements is invalidNullArgumentException -  itemForm  is 
           null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException -  itemForm  did not 
          originate from  getItemFormForCreate() mandatory - This method must be implemented. boolean canUpdateItems()
 Items.  A return of true 
  does not guarantee successful authorization. A return of false 
  indicates that it is known updating an  Item  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  Item  modification is 
          not authorized,  true  otherwisemandatory - This method must be implemented. ItemForm getItemFormForUpdate(Id itemId) throws NotFoundException, OperationFailedException, PermissionDeniedException
itemId - the  Id  of the  Item NotFoundException -  itemId  is not foundNullArgumentException -  itemId  is  
          null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. void updateItem(ItemForm itemForm) throws OperationFailedException, PermissionDeniedException
itemForm - the form containing the elements to be updatedIllegalStateException -  itemForm  already 
          used in an update transactionInvalidArgumentException - the form contains an invalid 
          valueNullArgumentException -  itemForm  is 
           null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException -  itemForm  did not 
          originate from  getItemFormForUpdate() mandatory - This method must be implemented. boolean canDeleteItems()
 Items.  A return of true 
  does not guarantee successful authorization. A return of false 
  indicates that it is known deleting an  Item  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  Item  deletion is not 
          authorized,  true  otherwisemandatory - This method must be implemented. void deleteItem(Id itemId) throws NotFoundException, OperationFailedException, PermissionDeniedException
 Item. itemId - the  Id  of the  Item  to 
          removeNotFoundException -  itemId  not foundNullArgumentException -  itemId  is  
          null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. boolean canManageItemAliases()
 Id  aliases for  
  Items.  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  Item  aliasing is not 
          authorized,  true  otherwisemandatory - This method must be implemented. void aliasItem(Id itemId, Id aliasId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
 Id  to an  Item  for the purpose of 
  creating compatibility. The primary  Id  of the  
  Item  is deinventoryined by the provider. The new  Id 
   performs as an alias to the primary  Id.  If the 
  alias is a pointer to another item, it is reassigned to the given item 
   Id. itemId - the  Id  of an  Item aliasId - the alias  Id AlreadyExistsException -  aliasId  is in 
          use as a primary  Id NotFoundException -  itemId  not foundNullArgumentException -  itemId  or  
          aliasId  is  null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented.