Interface ObjectiveBankHierarchySession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods for traversing a hierarchy of
ObjectiveBanks . Each node in the hierarchy is a unique
ObjectiveBank . The hierarchy may be traversed recursively to establish
the tree structure through getParentObjectiveBanks() and
getChildObjectiveBanks() . To relate these Ids to another OSID,
getObjectiveBankNodes() can be used for retrievals that can be
used for bulk lookups in other OSIDs. Any ObjectiveBank available
in the ObjectiveBanking OSID is known to this hierarchy but does not
appear in the hierarchy traversal until added as a root node or a child of
another node.
A user may not be authorized to traverse the entire hierarchy. Parts
of the hierarchy may be made invisible through omission from the returns
of getParentObjectiveBanks() or getChildObjectiveBanks()
in lieu of a PERMISSION_DENIED error that may disrupt the
traversal through authorized pathways.
This session defines views that offer differing behaviors when retrieving multiple objects.
- comparative view: objective bank elements may be silently omitted or re-ordered
- plenary view: provides a complete set or is an error condition
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can perform hierarchy queries.getChildObjectiveBankIds(Id objectiveBankId) Gets the childIdsof the given objective bank.getChildObjectiveBanks(Id objectiveBankId) Gets the children of the given objective bank.Gets the hierarchy associated with this session.Gets the hierarchyIdassociated with this session.getObjectiveBankNodeIds(Id objectiveBankId, long ancestorLevels, long descendantLevels, boolean includeSiblings) Gets a portion of the hierarchy for the given objective bank.getObjectiveBankNodes(Id objectiveBankId, long ancestorLevels, long descendantLevels, boolean includeSiblings) Gets a portion of the hierarchy for the given objective bank.getParentObjectiveBankIds(Id objectiveBankId) Gets the parentIdsof the given objective bank.getParentObjectiveBanks(Id objectiveBankId) Gets the parents of the given objective bank.Gets the root objective bankIdsin this hierarchy.Gets the root objective banks in this objective bank hierarchy.booleanhasChildObjectiveBanks(Id objectiveBankId) Tests if an objective bank has any children.booleanhasParentObjectiveBanks(Id objectiveBankId) Tests if theObjectiveBankhas any parents.booleanisAncestorOfObjectiveBank(Id id, Id objectiveBankId) Tests if anIdis an ancestor of an objective bank.booleanisChildOfObjectiveBank(Id id, Id objectiveBankId) Tests if an objective bank is a direct child of another.booleanisDescendantOfObjectiveBank(Id id, Id objectiveBankId) Tests if anIdis a descendant of an objective bank.booleanisParentOfObjectiveBank(Id id, Id objectiveBankId) Tests if anIdis a direct parent of an objective bank.voidThe returns from the objective bank methods may omit or translate elements based on this session, such as authorization, and not result in an error.voidA complete view of theHierarchyreturns is desired.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
-
getObjectiveBankHierarchyId
Id getObjectiveBankHierarchyId()Gets the hierarchyIdassociated with this session.- Returns:
- the hierarchy
Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getObjectiveBankHierarchy
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.
-
canAccessObjectiveBankHierarchy
boolean canAccessObjectiveBankHierarchy()Tests if this user can perform hierarchy queries. 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 aPERMISSION_DENIED. This is intended as a hint to an an application that may not offer traversal functions to unauthorized users.- Returns:
falseif hierarchy traversal methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
useComparativeObjectiveBankView
void useComparativeObjectiveBankView()The returns from the objective bank methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.- Compliance:
mandatory- This method is must be implemented.
-
usePlenaryObjectiveBankView
void usePlenaryObjectiveBankView()A complete view of theHierarchyreturns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.- Compliance:
mandatory- This method is must be implemented.
-
getRootObjectiveBankIds
Gets the root objective bankIdsin this hierarchy.- Returns:
- the root objective bank
Ids - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getRootObjectiveBanks
ObjectiveBankList getRootObjectiveBanks() throws OperationFailedException, PermissionDeniedExceptionGets the root objective banks in this objective bank hierarchy.- Returns:
- the root objective banks
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method is must be implemented.
-
hasParentObjectiveBanks
boolean hasParentObjectiveBanks(Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException Tests if theObjectiveBankhas any parents.- Parameters:
objectiveBankId- theIdof an objective bank- Returns:
trueif the objective bank has parents,falseotherwise- Throws:
NotFoundException-objectiveBankIdis not foundNullArgumentException-objectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
isParentOfObjectiveBank
boolean isParentOfObjectiveBank(Id id, Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException Tests if anIdis a direct parent of an objective bank.- Parameters:
id- anIdobjectiveBankId- theIdof an objective bank- Returns:
trueif thisidis a parent ofobjectiveBankId,falseotherwise- Throws:
NotFoundException-objectiveBankIdis not foundNullArgumentException-idorobjectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.- Notes:
If- {@code id} not found return {@code false} .
-
getParentObjectiveBankIds
IdList getParentObjectiveBankIds(Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the parentIdsof the given objective bank.- Parameters:
objectiveBankId- theIdof an objective bank- Returns:
- the parent
Idsof the objective bank - Throws:
NotFoundException-objectiveBankIdis not foundNullArgumentException-objectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getParentObjectiveBanks
ObjectiveBankList getParentObjectiveBanks(Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the parents of the given objective bank.- Parameters:
objectiveBankId- theIdof an objective bank- Returns:
- the parents of the objective bank
- Throws:
NotFoundException-objectiveBankIdis not foundNullArgumentException-objectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
isAncestorOfObjectiveBank
boolean isAncestorOfObjectiveBank(Id id, Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException Tests if anIdis an ancestor of an objective bank.- Parameters:
id- anIdobjectiveBankId- theIdof an objective bank- Returns:
trueif thisidis an ancestor ofobjectiveBankId,falseotherwise- Throws:
NotFoundException-objectiveBankIdis not foundNullArgumentException-idorobjectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.- Notes:
If- {@code id} not found return {@code false} .
-
hasChildObjectiveBanks
boolean hasChildObjectiveBanks(Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException Tests if an objective bank has any children.- Parameters:
objectiveBankId- theIdof an objective bank- Returns:
trueif theobjectiveBankIdhas children,falseotherwise- Throws:
NotFoundException-objectiveBankIdis not foundNullArgumentException-objectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
isChildOfObjectiveBank
boolean isChildOfObjectiveBank(Id id, Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException Tests if an objective bank is a direct child of another.- Parameters:
id- anIdobjectiveBankId- theIdof an objective bank- Returns:
trueif theidis a child ofobjectiveBankId,falseotherwise- Throws:
NotFoundException-objectiveBankIdis not foundNullArgumentException-idorobjectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.- Notes:
If- {@code id} not found return {@code false} .
-
getChildObjectiveBankIds
IdList getChildObjectiveBankIds(Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the childIdsof the given objective bank.- Parameters:
objectiveBankId- theIdto query- Returns:
- the children of the objective bank
- Throws:
NotFoundException-objectiveBankIdis not foundNullArgumentException-objectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getChildObjectiveBanks
ObjectiveBankList getChildObjectiveBanks(Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the children of the given objective bank.- Parameters:
objectiveBankId- theIdto query- Returns:
- the children of the objective bank
- Throws:
NotFoundException-objectiveBankIdis not foundNullArgumentException-objectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
isDescendantOfObjectiveBank
boolean isDescendantOfObjectiveBank(Id id, Id objectiveBankId) throws NotFoundException, OperationFailedException, PermissionDeniedException Tests if anIdis a descendant of an objective bank.- Parameters:
id- anIdobjectiveBankId- theIdof an objective bank- Returns:
trueif theidis a descendant of theobjectiveBankId,falseotherwise- Throws:
NotFoundException-objectiveBankIdis not foundNullArgumentException-idorobjectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.- Notes:
If- {@code id} is not found return {@code false} .
-
getObjectiveBankNodeIds
Node getObjectiveBankNodeIds(Id objectiveBankId, long ancestorLevels, long descendantLevels, boolean includeSiblings) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets a portion of the hierarchy for the given objective bank.- Parameters:
objectiveBankId- theIdto queryancestorLevels- the maximum number of ancestor levels to include. A value of 0 returns no parents in the node.descendantLevels- the maximum number of descendant levels to include. A value of 0 returns no children in the node.includeSiblings-trueto include the siblings of the given node,falseto omit the siblings- Returns:
- a catalog node
- Throws:
NotFoundException-objectiveBankIdnot foundNullArgumentException-objectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getObjectiveBankNodes
ObjectiveBankNode getObjectiveBankNodes(Id objectiveBankId, long ancestorLevels, long descendantLevels, boolean includeSiblings) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets a portion of the hierarchy for the given objective bank.- Parameters:
objectiveBankId- theIdto queryancestorLevels- the maximum number of ancestor levels to include. A value of 0 returns no parents in the node.descendantLevels- the maximum number of descendant levels to include. A value of 0 returns no children in the node.includeSiblings-trueto include the siblings of the given node,falseto omit the siblings- Returns:
- an objective bank node
- Throws:
NotFoundException-objectiveBankIdnot foundNullArgumentException-objectiveBankIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-