| Interface | osid.billing.ItemForm | ||
|---|---|---|---|
| Implements | osid.OsidObjectForm | ||
| Description | 
                 This is the form for creating and updating   | ||
| Method | getCategoryMetadata | ||
| Description | 
                     Gets the metadata for the category.  | ||
| Return | osid.Metadata | metadata for the category | |
| Compliance | mandatory | This method must be implemented. | |
| Method | setCategory | ||
| Description | 
                     Sets the category.  | ||
| Parameters | osid.id.Id | categoryId | the new category | 
| Errors | INVALID_ARGUMENT |  categoryId  is invalid  |                 |
| NO_ACCESS |  Metadata.isReadOnly()  is  true   |                 ||
| NULL_ARGUMENT |  categoryId  is  null   |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | clearCategory | ||
| Description | 
                     Removes the category.  | ||
| Errors | NO_ACCESS |  Metadata.isRequired()  is  true  or  
Metadata.isReadOnly()  is  true   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | getAccountMetadata | ||
| Description | 
                     Gets the metadata for the general ledger account.  | ||
| Return | osid.Metadata | metadata for the account | |
| Compliance | mandatory | This method must be implemented. | |
| Method | setAccount | ||
| Description | 
                     Sets the general ledger account.  | ||
| Parameters | osid.id.Id | accountId | the new account | 
| Errors | INVALID_ARGUMENT |  accountId  is invalid  |                 |
| NO_ACCESS |  Metadata.isReadOnly()  is  true   |                 ||
| NULL_ARGUMENT |  accountId  is  null   |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | clearAccount | ||
| Description | 
                     Removes the account.  | ||
| Errors | NO_ACCESS |  Metadata.isRequired()  is  true  or  
Metadata.isReadOnly()  is  true   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | getProductMetadata | ||
| Description | 
                     Gets the metadata for the product.  | ||
| Return | osid.Metadata | metadata for the product | |
| Compliance | mandatory | This method must be implemented. | |
| Method | setProduct | ||
| Description | 
                     Sets the product.  | ||
| Parameters | osid.id.Id | productId | the new product | 
| Errors | INVALID_ARGUMENT |  productId  is invalid  |                 |
| NO_ACCESS |  Metadata.isReadOnly()  is  true   |                 ||
| NULL_ARGUMENT |  productId  is  null   |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | clearProduct | ||
| Description | 
                     Removes the product.  | ||
| Errors | NO_ACCESS |  Metadata.isRequired()  is  true  or  
Metadata.isReadOnly()  is  true   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | getAmountMetadata | ||
| Description | 
                     Gets the metadata for the amount.  | ||
| Return | osid.Metadata | metadata for the amount | |
| Compliance | mandatory | This method must be implemented. | |
| Method | setAmount | ||
| Description | 
                     Sets the amount.  | ||
| Parameters | osid.financials.Currency | amount | the new amount | 
| Errors | INVALID_ARGUMENT |  amount  is invalid  |                 |
| NO_ACCESS |  Metadata.isReadOnly()  is  true   |                 ||
| NULL_ARGUMENT |  amount  is  null   |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | clearAmount | ||
| Description | 
                     Removes the amount.  | ||
| Errors | NO_ACCESS |  Metadata.isRequired()  is  true  or  
Metadata.isReadOnly()  is  true   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | getDebitMetadata | ||
| Description | 
                     Gets the metadata for the debit flag.  | ||
| Return | osid.Metadata | metadata for the debit | |
| Compliance | mandatory | This method must be implemented. | |
| Method | setDebit | ||
| Description | 
                     Sets the debit flag.  | ||
| Parameters | boolean | debit |  true  for a debit,  false  for a credit  | 
| Errors | INVALID_ARGUMENT |  debit  is invalid  |                 |
| NO_ACCESS |  Metadata.isReadOnly()  is  true   |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | clearDebit | ||
| Description | 
                     Removes the debit flag.  | ||
| Errors | NO_ACCESS |  Metadata.isRequired()  is  true  or  
Metadata.isReadOnly()  is  true   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | getRecurringIntervalMetadata | ||
| Description | 
                     Gets the metadata for the recurring interval.  | ||
| Return | osid.Metadata | metadata for the recurring interval | |
| Compliance | mandatory | This method must be implemented. | |
| Method | setRecurringInterval | ||
| Description | 
                     Sets the recurring interval.  | ||
| Parameters | osid.calendaring.Duration | interval | the new interval | 
| Errors | INVALID_ARGUMENT |  interval  is invalid  |                 |
| NO_ACCESS |  Metadata.isReadOnly()  is  true   |                 ||
| NULL_ARGUMENT |  interval  is  null   |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | clearRecurringInterval | ||
| Description | 
                     Removes the recurring interval and sets the item as a one-time charge.  | ||
| Errors | NO_ACCESS |  Metadata.isRequired()  is  true  or  
Metadata.isReadOnly()  is  true   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | getItemFormRecord | ||
| Description | 
                     Gets the   | ||
| Parameters | osid.type.Type | itemRecordType | an item record type | 
| Return | osid.billing.records.ItemFormRecord | the item form record | |
| Errors | NULL_ARGUMENT |  itemRecordType  is  null   |                 |
| OPERATION_FAILED | unable to complete request | ||
| UNSUPPORTED |  hasRecordType(itemRecordType)  is  false   |                 ||
| Compliance | mandatory | This method must be implemented. | |