Interface HierarchyLookupSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides methods for retrieving Hierarchies . The
Hierarchy represents a structure of OSID Ids .
This session defines views that offer differing behaviors when retrieving multiple objects.
- comparative view: elements may be silently omitted or re-ordered
- plenary view: provides a complete set or is an error condition
Generally, the comparative view should be used for most applications
as it permits operation even if there is data that cannot be accessed. For
example, a browsing application may only need to examine the
Hierarchies objects it can access, without breaking execution. However,
an assessment may only be useful if all Hierarchy objects
referenced by it are available, and a test-taking applicationmay sacrifice
some interoperability for the sake of precision.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can performHierarchylookups.Gets all hierarchies.getHierarchiesByGenusType(Type hierarchyGenusType) Gets aHierarchyListcorresponding to the given genusTypewhich does not include hierarchies of types derived from the specifiedType.getHierarchiesByIds(IdList hierarchyIds) Gets aHierarchycorresponding to the givenIdList.getHierarchiesByParentGenusType(Type hierarchyGenusType) Gets aHierarchyListcorresponding to the given hierarchy genusTypeand include any additional hierarchies with types derived from the specifiedType.In plenary mode, the returned list contains all known hierarchies or an error results.getHierarchiesByProvider(Id resourceId) Gets aHierarchyListfor the given provider.getHierarchiesByRecordType(Type hierarchyRecordType) Gets aHierarchyListcorresponding to the given hierarchy recordType.getHierarchy(Id hierarchyId) Gets theHierarchyspecified by itsId.voidThe returns from the lookup 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
-
canLookupHierarchies
boolean canLookupHierarchies()Tests if this user can performHierarchylookups. 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 application that may opt not to offer lookup operations to unauthorized users.- Returns:
falseif lookup methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
useComparativeHierarchyView
void useComparativeHierarchyView()The returns from the lookup 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.
-
usePlenaryHierarchyView
void usePlenaryHierarchyView()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.
-
getHierarchy
Hierarchy getHierarchy(Id hierarchyId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets theHierarchyspecified by itsId. In plenary mode, the exactIdis found or aNOT_FOUNDresults. Otherwise, the returnedHierarchymay have a differentIdthan requested, such as the case where a duplicateIdwas assigned to aHierarchyand retained for compatibility.- Parameters:
hierarchyId- theIdof theHierarchyto retrieve- Returns:
- the returned
Hierarchy - Throws:
NotFoundException- noHierarchyfound with the givenIdNullArgumentException-hierarchyIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getHierarchiesByIds
HierarchyList getHierarchiesByIds(IdList hierarchyIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets aHierarchycorresponding to the givenIdList. In plenary mode, the returned list contains all of the hierarchies specified in theIdlist, in the order of the list, including duplicates, or an error results if anIdin the supplied list is not found or inaccessible. Otherwise, inaccessibleHierarchyobjects may be omitted from the list and may present the elements in any order including returning a unique set.- Parameters:
hierarchyIds- the list ofIdsto retrieve- Returns:
- the returned
Hierarchylist - Throws:
NotFoundException- anId wasnot foundNullArgumentException-hierarchyIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getHierarchiesByGenusType
HierarchyList getHierarchiesByGenusType(Type hierarchyGenusType) throws OperationFailedException, PermissionDeniedException Gets aHierarchyListcorresponding to the given genusTypewhich does not include hierarchies of types derived from the specifiedType. In plenary mode, the returned list contains all known hierarchies or an error results. Otherwise, the returned list may contain only those hierarchies that are accessible through this session.- Parameters:
hierarchyGenusType- a hierarchy genus type- Returns:
- the returned
Hierarchylist - Throws:
NullArgumentException-hierarchyGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getHierarchiesByParentGenusType
HierarchyList getHierarchiesByParentGenusType(Type hierarchyGenusType) throws OperationFailedException, PermissionDeniedException Gets aHierarchyListcorresponding to the given hierarchy genusTypeand include any additional hierarchies with types derived from the specifiedType.In plenary mode, the returned list contains all known hierarchies or an error results. Otherwise, the returned list may contain only those hierarchies that are accessible through this session.- Parameters:
hierarchyGenusType- a hierarchy genus type- Returns:
- the returned
Hierarchylist - Throws:
NullArgumentException-hierarchyGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getHierarchiesByRecordType
HierarchyList getHierarchiesByRecordType(Type hierarchyRecordType) throws OperationFailedException, PermissionDeniedException Gets aHierarchyListcorresponding to the given hierarchy recordType. The set of hierarchies implementing the given record type are returned. In plenary mode, the returned list contains all known hierarchies or an error results. Otherwise, the returned list may contain only those hierarchies that are accessible through this session.- Parameters:
hierarchyRecordType- a hierarchy record type- Returns:
- the returned
Hierarchylist - Throws:
NullArgumentException-hierarchyRecordTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getHierarchiesByProvider
HierarchyList getHierarchiesByProvider(Id resourceId) throws OperationFailedException, PermissionDeniedException Gets aHierarchyListfor the given provider. The set of hierarchies implementing the given record type are returned. In plenary mode, the returned list contains all known hierarchies or an error results. Otherwise, the returned list may contain only those hierarchies that are accessible through this session.- Parameters:
resourceId- a resourceId- Returns:
- the returned
Hierarchylist - Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getHierarchies
Gets all hierarchies. In plenary mode, the returned list contains all known hierarchies or an error results. Otherwise, the returned list may contain only those hierarchies that are accessible through this session.- Returns:
- a list of
Hierarchies - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-