Interface AgendaLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AgendaLookupSession extends OsidSession

This session provides methods for retrieving Agenda objects.

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
  • isolated engine view: All agenda methods in this session operate, retrieve and pertain to agendas defined explicitly in the current engine. Using an isolated view is useful for managing Agendas with the AgendaAdminSession .
  • federated engine view: All agenda methods in this session operate, retrieve and pertain to all agendas defined in this engine and any other agendas implicitly available in this engine through engine inheritence.
  • active agenda view: All agenda lookup methods return active agendas.
  • any status agenda view: Agendas of any active or inactive status are returned from methods.

Generally, the comparative view should be used for most applications as it permits operation even if there is data that cannot be accessed. The methods useFederatedEngineView() and useIsolatedEngineView() behave as a radio group and one should be selected before invoking any lookup methods.

  • Method Details

    • getEngineId

      Id getEngineId()
      Gets the Engine Id associated with this session.
      Returns:
      the Engine Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getEngine

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

      boolean canLookupAgendas()
      Tests if this user can perform Agenda 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.
      Returns:
      false if lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeAgendaView

      void useComparativeAgendaView()
      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.
    • usePlenaryAgendaView

      void usePlenaryAgendaView()
      A complete view of the Agenda 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.
      Compliance:
      mandatory - This method is must be implemented.
    • useFederatedEngineView

      void useFederatedEngineView()
      Federates the view for methods in this session. A federated view will include agendas in engines which are children of this engine in the engine hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedEngineView

      void useIsolatedEngineView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this engine only.
      Compliance:
      mandatory - This method is must be implemented.
    • useActiveAgendaView

      void useActiveAgendaView()
      Only active agendas are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • useAnyStatusAgendaView

      void useAnyStatusAgendaView()
      All active and inactive agendas of are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • getAgenda

      Gets the Agenda specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Agenda may have a different Id than requested, such as the case where a duplicate Id was assigned to an Agenda and retained for compatibility. In active mode, agendas are returned that are currently active. In any status mode, active and inactive agendas are returned.
      Parameters:
      agendaId - Id of the Agenda
      Returns:
      the agenda
      Throws:
      NotFoundException - agendaId not found
      NullArgumentException - agendaId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getAgendasByIds

      Gets an AgendaList corresponding to the given IdList . In plenary mode, the returned list contains all of the agendas 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 Agendas may be omitted from the list and may present the elements in any order including returning a unique set. In active mode, agendas are returned that are currently active. In any status mode, active and inactive agendas are returned.
      Parameters:
      agendaIds - the list of Ids to retrieve
      Returns:
      the returned Agenda list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - agendaIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getAgendasByGenusType

      AgendaList getAgendasByGenusType(Type agendaGenusType) throws OperationFailedException, PermissionDeniedException
      Gets an AgendaList corresponding to the given agenda genus Type which does not include agendas of genus types derived from the specified Type . In plenary mode, the returned list contains all known agendas or an error results. Otherwise, the returned list may contain only those agendas that are accessible through this session. In active mode, agendas are returned that are currently active. In any status mode, active and inactive agendas are returned.
      Parameters:
      agendaGenusType - an agenda genus type
      Returns:
      the returned Agenda list
      Throws:
      NullArgumentException - agendaGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getAgendasByParentGenusType

      AgendaList getAgendasByParentGenusType(Type agendaGenusType) throws OperationFailedException, PermissionDeniedException
      Gets an AgendaList corresponding to the given agenda genus Type and include any additional agendas with genus types derived from the specified Type . In plenary mode, the returned list contains all known agendas or an error results. Otherwise, the returned list may contain only those agendas that are accessible through this session. In active mode, agendas are returned that are currently active. In any status mode, active and inactive agendas are returned.
      Parameters:
      agendaGenusType - an agenda genus type
      Returns:
      the returned Agenda list
      Throws:
      NullArgumentException - agendaGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getAgendasByRecordType

      AgendaList getAgendasByRecordType(Type agendaRecordType) throws OperationFailedException, PermissionDeniedException
      Gets an AgendaList containing the given agenda record Type . In plenary mode, the returned list contains all known agendas or an error results. Otherwise, the returned list may contain only those agendas that are accessible through this session. In active mode, agendas are returned that are currently active. In any status mode, active and inactive agendas are returned.
      Parameters:
      agendaRecordType - an agenda record type
      Returns:
      the returned Agenda list
      Throws:
      NullArgumentException - agendaRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getAgendas

      Gets all Agendas . In plenary mode, the returned list contains all known agendas or an error results. Otherwise, the returned list may contain only those agendas that are accessible through this session. In active mode, agendas are returned that are currently active. In any status mode, active and inactive agendas are returned.
      Returns:
      a list of Agendas
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.