public interface HierarchyLookupSession extends OsidSession
This session provides methods for retrieving Hierarchy
objects. The Hierarchy
represents a structure of OSID
Ids.
This session defines views that offer differing behaviors when retrieving multiple objects.
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.
Modifier and Type | Method and Description |
---|---|
boolean |
canLookupHierarchies()
Tests if this user can perform
Hierarchy lookups. |
HierarchyList |
getHierarchies()
Gets all hierarchies.
|
HierarchyList |
getHierarchiesByGenusType(Type hierarchyGenusType)
Gets a
HierarchyList corresponding to the given genus
Type which does not include hierarchies of types
derived from the specified Type. |
HierarchyList |
getHierarchiesByIds(IdList hierarchyIds)
Gets a
Hierarchy corresponding to the given
IdList. |
HierarchyList |
getHierarchiesByParentGenusType(Type hierarchyGenusType)
Gets a
HierarchyList corresponding to the given
hierarchy genus Type and include any additional
hierarchies with types derived from the specified Type. |
HierarchyList |
getHierarchiesByProvider(Id resourceId)
Gets a
HierarchyList for the given provider . |
HierarchyList |
getHierarchiesByRecordType(Type hierarchyRecordType)
Gets a
HierarchyList corresponding to the given
hierarchy record Type. |
Hierarchy |
getHierarchy(Id hierarchyId)
Gets the
Hierarchy specified by its Id. |
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.
|
void |
usePlenaryHierarchyView()
A complete view of the
Hierarchy returns is desired. |
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
boolean canLookupHierarchies()
Hierarchy
lookups. 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 a PERMISSION_DENIED.
This is intended as a
hint to an application that may opt not to offer lookup operations to
unauthorized users. false
if lookup methods are not authorized,
true
otherwisemandatory
- This method must be implemented. void useComparativeHierarchyView()
mandatory
- This method is must be implemented. void usePlenaryHierarchyView()
Hierarchy
returns 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.mandatory
- This method is must be implemented. Hierarchy getHierarchy(Id hierarchyId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Hierarchy
specified by its Id.
In plenary mode, the exact Id
is found or a
NOT_FOUND
results. Otherwise, the returned Hierarchy
may have a different Id
than requested, such as
the case where a duplicate Id
was assigned to a
Hierarchy
and retained for compatihierarchyId
- the Id
of the Hierarchy
to retrieve Hierarchy
NotFoundException
- no Hierarchy
found
with the given Id
NullArgumentException
- hierarchyId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. HierarchyList getHierarchiesByIds(IdList hierarchyIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
Hierarchy
corresponding to the given
IdList.
In plenary mode, the returned list contains all of the
hierarchies specified in the Id
list, in the order of
the list, including duplicates, or an error results if an Id
in the supplied list is not found or inaccessible. Otherwise,
inaccessible Hierarchy
objects may be omitted from the
list and may present the elements in any order including returning a
unique set.hierarchyIds
- the list of Ids
to retrieve Hierarchy
listNotFoundException
- an Id was
not foundNullArgumentException
- hierarchyIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. HierarchyList getHierarchiesByGenusType(Type hierarchyGenusType) throws OperationFailedException, PermissionDeniedException
HierarchyList
corresponding to the given genus
Type
which does not include hierarchies of types
derived from the specified Type.
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.hierarchyGenusType
- a hierarchy genus type Hierarchy
listNullArgumentException
- hierarchyGenusType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. HierarchyList getHierarchiesByParentGenusType(Type hierarchyGenusType) throws OperationFailedException, PermissionDeniedException
HierarchyList
corresponding to the given
hierarchy genus Type
and include any additional
hierarchies with types derived from the specified Type.
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.hierarchyGenusType
- a hierarchy genus type Hierarchy
listNullArgumentException
- hierarchyGenusType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. HierarchyList getHierarchiesByRecordType(Type hierarchyRecordType) throws OperationFailedException, PermissionDeniedException
HierarchyList
corresponding to the given
hierarchy record Type.
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.hierarchyRecordType
- a hierarchy record type Hierarchy
listNullArgumentException
- hierarchyRecordType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. HierarchyList getHierarchiesByProvider(Id resourceId) throws OperationFailedException, PermissionDeniedException
HierarchyList
for 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.resourceId
- a resource Id
Hierarchy
listNullArgumentException
- resourceId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. HierarchyList getHierarchies() throws OperationFailedException, PermissionDeniedException
Hierarchies
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.