Interface BillingHierarchyDesignSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session manages a hierarchy of billings. Billings may be organized
into a hierarchy for organizing or federating. A parent Billing
includes all of the credits of its children such that a single root node
contains all of the credits of the federation.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddChildBilling(Id billingId, Id childId) Adds a child to a billing.voidaddRootBilling(Id billingId) Adds a root billing.booleanTests if this user can change the hierarchy.Gets the hierarchy associated with this session.Gets the hierarchyIdassociated with this session.voidremoveChildBilling(Id billingId, Id childId) Removes a child from a billing.voidremoveChildBillings(Id billingId) Removes all children from a billing.voidremoveRootBilling(Id billingId) Removes a root billing.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionsModifier and TypeMethodDescriptionGets the agent authenticated to this session.Gets theIdof the agent authenticated to this session.Gets the rate of the service clock.getDate()Gets the service date which may be the current date or the effective date in which this session exists.Gets the effective agent in use by this session.Gets theIdof the effective agent in use by this session.Gets theDisplayTextformatTypepreference in effect for this session.Gets the locale indicating the localization preferences in effect for this session.booleanTests if an agent is authenticated to this session.Starts a new transaction for this sesson.booleanTests for the availability of transactions.
-
Method Details
-
getBillingHierarchyId
Id getBillingHierarchyId()Gets the hierarchyIdassociated with this session.- Returns:
- the hierarchy
Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getBillingHierarchy
Gets the hierarchy associated with this session.- Returns:
- the hierarchy associated with this session
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canModifyBillingHierarchy
boolean canModifyBillingHierarchy()Tests if this user can change the hierarchy. A return of true does not guarantee successful authorization. A return of false indicates that it is known performing any update will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer these operations to an unauthorized user.- Returns:
falseif changing this hierarchy is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
addRootBilling
void addRootBilling(Id billingId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Adds a root billing.- Parameters:
billingId- theIdof a billing- Throws:
AlreadyExistsException-billingIdis already in hierarchyNotFoundException-billingIdis not foundNullArgumentException-billingIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
removeRootBilling
void removeRootBilling(Id billingId) throws NotFoundException, OperationFailedException, PermissionDeniedException Removes a root billing.- Parameters:
billingId- theIdof a billing- Throws:
NotFoundException-billingIdis not foundNullArgumentException-billingIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
addChildBilling
void addChildBilling(Id billingId, Id childId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Adds a child to a billing.- Parameters:
billingId- theIdof a billingchildId- theIdof the new child- Throws:
AlreadyExistsException-billingIdis already a parent ofchildIdNotFoundException-billingIdorchildIdnot foundNullArgumentException-billingIdorchildIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
removeChildBilling
void removeChildBilling(Id billingId, Id childId) throws NotFoundException, OperationFailedException, PermissionDeniedException Removes a child from a billing.- Parameters:
billingId- theIdof a billingchildId- theIdof the new child- Throws:
NotFoundException-billingIdnot a parent ofchildIdNullArgumentException-billingIdorchildIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
removeChildBillings
void removeChildBillings(Id billingId) throws NotFoundException, OperationFailedException, PermissionDeniedException Removes all children from a billing.- Parameters:
billingId- theIdof a billing- Throws:
NotFoundException-billingIdis not foundNullArgumentException-billingIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-