OSID Logo
OSID Specifications
billing package
Version 3.1.0
Interfaceosid.billing.CategoryBusinessAssignmentSession
Implementsosid.OsidSession
Used Byosid.billing.BillingManager
osid.billing.BillingProxyManager
Description

This session provides methods to re-assign Categories to Businesses. A Category may appear in multiple Businesses and removing the last reference to a Category is the equivalent of deleting it. Each Business may have its own authorizations governing who is allowed to operate on it.

Adding a reference of a Category to another Business is not a copy operation (eg: does not change its Id).

MethodcanAssignCategories
Description

Tests if this user can alter category/business mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Returnboolean false if mapping is not authorized, true otherwise
Compliancemandatory This method must be implemented.
MethodcanAssignCategoryToBusiness
Description

Tests if this user can alter category/business mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.

Parametersosid.id.IdbusinessId the Id of the Business
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT businessId is null
Compliancemandatory This method must be implemented.
MethodgetAssignableBusinessIds
Description

Gets a list of businesses including and under the given business node in which any category can be assigned.

Parametersosid.id.IdbusinessId the Id of the Business
Returnosid.id.IdList list of assignable business Ids
ErrorsNULL_ARGUMENT businessId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodgetAssignableBusinessIdsForCategory
Description

Gets a list of businesses including and under the given business node in which a specific category can be assigned.

Parametersosid.id.IdbusinessId the Id of the Business
osid.id.IdcategoryId the Id of the Category
Returnosid.id.IdList list of assignable business Ids
ErrorsNULL_ARGUMENT businessId or categoryId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodassignCategoryToBusiness
Description

Adds an existing Category to a Business.

Parametersosid.id.IdcategoryId the Id of the Category
osid.id.IdbusinessId the Id of the Business
ErrorsALREADY_EXISTS categoryId is already assigned to businessId
NOT_FOUND categoryId or businessId not found
NULL_ARGUMENT categoryId or businessId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodunassignCategoryFromBusiness
Description

Removes a Category from a Business.

Parametersosid.id.IdcategoryId the Id of the Category
osid.id.IdbusinessId the Id of the Business
ErrorsNOT_FOUND categoryId or businessId not found or categoryId not assigned to businessId
NULL_ARGUMENT categoryId or businessId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodreassignCategoryToBusiness
Description

Moves a Category from one Business to another. Mappings to other Businesses are unaffected.

Parametersosid.id.IdcategoryId the Id of the Category
osid.id.IdfromBusinessId the Id of the current Business
osid.id.IdtoBusinessId the Id of the destination Business
ErrorsALREADY_EXISTS categoryId already assigned to toBusinessId
NOT_FOUND categoryId, fromBusinessId, or toBusinessId not found or categoryId not mapped to fromBusinessId
NULL_ARGUMENT categoryId, fromBusinessId, or toBusinessId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.