public interface ProgramLookupSession extends OsidSession
This session defines methods for retrieving programs. A P rogram
is canonical and a ProgramOffering
is derived from
a Program.
This lookup session defines several views:
Programs
with the Program AdminSession.
The methods useFederatedCourseCatalogView()
and
useIsolatedCourseCatalogView()
behave as a radio group and one
should be selected before invoking any lookup methods.
Programs may have an additional records indicated by their respective
record types. The record may not be accessed through a cast of the
Program.
Modifier and Type | Method and Description |
---|---|
boolean |
canLookupPrograms()
Tests if this user can perform
Program lookups. |
CourseCatalog |
getCourseCatalog()
Gets the
CourseCatalog associated with this session. |
Id |
getCourseCatalogId()
Gets the
CourseCatalog Id associated
with this session. |
Program |
getProgram(Id programId)
Gets the
Program specified by its Id. |
ProgramList |
getPrograms()
Gets all
Programs. |
ProgramList |
getProgramsByCredential(Id credentialId)
Gets a
ProgramList containing the given creential. |
ProgramList |
getProgramsByGenusType(Type programGenusType)
Gets a
ProgramList corresponding to the given program
genus Type which does not include programs of types
derived from the specified Type. |
ProgramList |
getProgramsByIds(IdList programIds)
Gets a
ProgramList corresponding to the given
IdList. |
ProgramList |
getProgramsByParentGenusType(Type programGenusType)
Gets a
ProgramList corresponding to the given program
genus Type and include any additional programs with
genus types derived from the specified Type. |
ProgramList |
getProgramsByRecordType(Type programRecordType)
Gets a
ProgramList containing the given program record
Type. |
void |
useActiveProgramView()
Only active programs are returned by methods in this session.
|
void |
useAnyStatusProgramView()
All programs of any active or inactive status are returned by methods
in this session.
|
void |
useComparativeProgramView()
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 |
useFederatedCourseCatalogView()
Federates the view for methods in this session.
|
void |
useIsolatedCourseCatalogView()
Isolates the view for methods in this session.
|
void |
usePlenaryProgramView()
A complete view of the
Program returns is desired. |
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
Id getCourseCatalogId()
CourseCatalog
Id
associated
with this session. CourseCatalog Id
associated with this
sessionmandatory
- This method must be implemented. CourseCatalog getCourseCatalog() throws OperationFailedException, PermissionDeniedException
CourseCatalog
associated with this session.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean canLookupPrograms()
Program
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 not offer lookup operations to
unauthorized users. false
if lookup methods are not authorized,
true
otherwisemandatory
- This method must be implemented. void useComparativeProgramView()
mandatory
- This method is must be implemented. void usePlenaryProgramView()
Program
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. void useFederatedCourseCatalogView()
mandatory
- This method is must be implemented. void useIsolatedCourseCatalogView()
mandatory
- This method is must be implemented. void useActiveProgramView()
mandatory
- This method is must be implemented. void useAnyStatusProgramView()
mandatory
- This method is must be implemented. Program getProgram(Id programId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Program
specified by its Id.
In plenary mode, the exact Id
is found
or a NOT_FOUND
results. Otherwise, the returned
program
may have a different Id
than requested,
such as the case where a duplicate Id
was assigned to a
program
and retained for compatibility.
In active mode, active programs are returned. In any status mode,
active and inactive programs are returned.programId
- the Id
of the Program
to retrieve Program
NotFoundException
- no program
found
with the given Id
NullArgumentException
- programId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. ProgramList getProgramsByIds(IdList programIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
ProgramList
corresponding to the given
IdList.
In plenary mode, the returned list contains all of the
programs 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 Programs
may be omitted from the list and
may present the elements in any order including returning a unique
set.
In active mode, active programs are returned. In any status mode,
active and inactive programs are returned.programIds
- the list of Ids
to retrieve ProgramList
listNotFoundException
- an Id was
not foundNullArgumentException
- programIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. ProgramList getProgramsByGenusType(Type programGenusType) throws OperationFailedException, PermissionDeniedException
ProgramList
corresponding to the given program
genus Type
which does not include programs of types
derived from the specified Type.
In plenary mode, the returned list contains all known
programs or an error results. Otherwise, the returned list may contain
only those programs that are accessible through this session.
In active mode, active programs are returned. In any status mode,
active and inactive programs are returned.programGenusType
- a program genus type ProgramList
listNullArgumentException
- programGenusType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. ProgramList getProgramsByParentGenusType(Type programGenusType) throws OperationFailedException, PermissionDeniedException
ProgramList
corresponding to the given program
genus Type
and include any additional programs with
genus types derived from the specified Type.
In plenary mode, the returned list contains all known
programs or an error results. Otherwise, the returned list may contain
only those programs that are accessible through this session.
In active mode, active programs are returned. In any status mode,
active and inactive programs are returned.programGenusType
- a program genus type ProgramList
listNullArgumentException
- programGenusType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. ProgramList getProgramsByRecordType(Type programRecordType) throws OperationFailedException, PermissionDeniedException
ProgramList
containing the given program record
Type.
In plenary mode, the returned list contains all known programs or an
error results. Otherwise, the returned list may contain only those
programs that are accessible through this session.
In active mode, active programs are returned. In any status mode,
active and inactive programs are returned.programRecordType
- a program record type ProgramList
listNullArgumentException
- programRecordType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. ProgramList getProgramsByCredential(Id credentialId) throws OperationFailedException, PermissionDeniedException
ProgramList
containing the given creential.
In plenary mode, the returned list contains all known programs or an
error results. Otherwise, the returned list may contain only those
programs that are accessible through this session.
In active mode, active programs are returned. In any status mode,
active and inactive programs are returned.credentialId
- a credential Id
ProgramList
listNullArgumentException
- credentialId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. ProgramList getPrograms() throws OperationFailedException, PermissionDeniedException
Programs.
In plenary mode, the returned list contains all known programs or an
error results. Otherwise, the returned list may contain only those
programs that are accessible through this session.
In active mode, active programs are returned. In any status mode,
active and inactive programs are returned. Programs
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.