| Interface | osid.authentication.AgentLookupSession | ||
|---|---|---|---|
| Implements | osid.OsidSession | ||
| Description | 
                 This session provides methods for retrieving  This session defines two sets of views which offer differing behaviors when retrieving multiple objects. 
 Generally, the comparative view should be used for most applications as it permits operation even if there a particular element is inaccessible. For example, a hierarchy output can be plugged into a lookup method to retrieve all objects known to a hierarchy, but it may not be necessary to break execution if a node from the hierarchy no longer exists. However, some administrative applications may need to know whether it had retrieved an entire set of objects and may sacrifice some interoperability for the sake of precision.  Agents may have an additional records indicated by their 
                respective record types. The record may not be accessed 
                through a cast of the   | ||
| Method | getAgencyId | ||
| Description | 
                     Gets the   | ||
| Return | osid.id.Id | the  Agency Id  associated with this session  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getAgency | ||
| Description | 
                     Gets the   | ||
| Return | osid.authentication.Agency | the  Agency  associated with this session  | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canLookupAgents | ||
| Description | 
                     Tests if this user can perform   | ||
| Return | boolean |  false  if lookup methods are not authorized,  true 
 otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | useComparativeAgentView | ||
| Description | 
                     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. | |
| Method | usePlenaryAgentView | ||
| Description | 
                     A complete view of the   | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | useFederatedAgencyView | ||
| Description | 
                     Federates the view for methods in this session. A federated view will include agents in agencies which are children of this agency in the agency hierarchy.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | useIsolatedAgencyView | ||
| Description | 
                     Isolates the view for methods in this session. An isolated view restricts lookups to this agency only.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | getAgent | ||
| Description | 
                     Gets the   | ||
| Parameters | osid.id.Id | agentId | the  Id  of an  Agent   | 
| Return | osid.authentication.Agent | the returned  Agent   | |
| Errors | NOT_FOUND | no  Agent  found with the given  Id   |                 |
| NULL_ARGUMENT |  agentId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getAgentsByIds | ||
| Description | 
                     Gets an   | ||
| Parameters | osid.id.IdList | agentIds | a list of agent  Ids   | 
| Return | osid.authentication.AgentList | the returned  Agent list   | |
| Errors | NOT_FOUND | an  Id was  not found  |                 |
| NULL_ARGUMENT |  agentIds  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getAgentsByGenusType | ||
| Description | 
                     Gets an   | ||
| Parameters | osid.type.Type | agentGenusType | an agent genus type | 
| Return | osid.authentication.AgentList | the returned  Agent  list  | |
| Errors | NULL_ARGUMENT |  agentGenusType  is  null   |                 |
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getAgentsByParentGenusType | ||
| Description | 
                     Gets an   | ||
| Parameters | osid.type.Type | agentGenusType | an agent genus type | 
| Return | osid.authentication.AgentList | the returned  Agent  list  | |
| Errors | NULL_ARGUMENT |  agentGenusType  is  null   |                 |
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getAgentsByRecordType | ||
| Description | 
                     Gets an   | ||
| Parameters | osid.type.Type | agentRecordType | an agent record type | 
| Return | osid.authentication.AgentList | the returned  Agent  list  | |
| Errors | NULL_ARGUMENT |  agentRecordType  is  null   |                 |
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getAgents | ||
| Description | 
                     Gets all   | ||
| Return | osid.authentication.AgentList | a list of  Agents   | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |