Interface AgentSmartAgencySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AgentSmartAgencySession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. An AgentQuery can be retrieved from this session and mapped to this Agency to create a virtual collection of Agents . The agents may be sequenced using the AgentSearchOrder from this session.

This Agency has a default query that matches any agent and a default search order that specifies no sequencing. The queries may be examined using an AgentQueryInspector . The query may be modified by converting the inspector back to an AgentQuery .

  • Method Details

    • getAgencyId

      Id getAgencyId()
      Gets the Agency Id associated with this session.
      Returns:
      the Agency Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getAgency

      Gets the Agency associated with this session.
      Returns:
      the Agency associated with this session
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canManageSmartAgencies

      boolean canManageSmartAgencies()
      Tests if this user can manage smart agencies. A return of true does not guarantee successful authorization. A return of false indicates that it is known 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 operations to unauthorized users.
      Returns:
      false if smart agency management is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getAgentQuery

      AgentQuery getAgentQuery()
      Gets an agent query.
      Returns:
      the agent query
      Compliance:
      mandatory - This method must be implemented.
    • getAgentSearchOrder

      AgentSearchOrder getAgentSearchOrder()
      Gets an agent search order.
      Returns:
      the agent search order
      Compliance:
      mandatory - This method must be implemented.
    • applyAgentQuery

      void applyAgentQuery(AgentQuery agentQuery) throws OperationFailedException, PermissionDeniedException
      Applies an agent query to this agency.
      Parameters:
      agentQuery - the agent query
      Throws:
      NullArgumentException - agentQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - agentQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectAgentQuery

      Gets an agent query inspector for this agency.
      Returns:
      the agent query inspector
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      Compliance:
      mandatory - This method must be implemented.
    • applyAgentSequencing

      void applyAgentSequencing(AgentSearchOrder agentSearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies an agent search order to this agency.
      Parameters:
      agentSearchOrder - the agent search order
      Throws:
      NullArgumentException - agentSearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - agentSearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getAgentQueryFromInspector

      AgentQuery getAgentQueryFromInspector(AgentQueryInspector agentQueryInspector)
      Gets an agent query from an inspector.
      Parameters:
      agentQueryInspector - a query inspector
      Returns:
      the agent query
      Throws:
      NullArgumentException - agentQueryInspector is null
      UnsupportedException - agentQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.