Interface BrokerLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface BrokerLookupSession extends OsidSession

This session provides methods for retrieving Broker 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 distributor view: All broker methods in this session operate, retrieve and pertain to brokers defined explicitly in the current distributor. Using an isolated view is useful for managing Brokers with the BrokerAdminSession .
  • federated distributor view: All broker methods in this session operate, retrieve and pertain to all brokers defined in this distributor and any other brokers implicitly available in this distributor through distributor inheritence.
  • active broker view: active brokers are returned from methods in this session
  • any status broker view: active and inactive brokers are returned from methods in this session

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 useFederatedDistributorView() and useIsolatedDistributorView() behave as a radio group and one should be selected before invoking any lookup methods.

  • Method Details

    • getDistributorId

      Id getDistributorId()
      Gets the Distributor Id associated with this session.
      Returns:
      the Distributor Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getDistributor

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

      boolean canLookupBrokers()
      Tests if this user can perform Broker 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.
    • useComparativeBrokerView

      void useComparativeBrokerView()
      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.
    • usePlenaryBrokerView

      void usePlenaryBrokerView()
      A complete view of the Broker 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.
    • useFederatedDistributorView

      void useFederatedDistributorView()
      Federates the view for methods in this session. A federated view will include brokers in distributors which are children of this distributor in the distributor hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedDistributorView

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

      void useActiveBrokerView()
      Only active brokers are returned from methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • useAnyStatusBrokerView

      void useAnyStatusBrokerView()
      Borth active and inactive brokers are returned from methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • getBroker

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

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

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

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

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

      BrokerList getBrokersByBrokerage(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets a BrokerList containing of the given brokerage. In plenary mode, the returned list contains all known brokers or an error results. Otherwise, the returned list may contain only those brokers that are accessible through this session. In active mode, brokers are returned that are currently active. In any status mode, active and inactive brokers are returned.
      Parameters:
      resourceId - a resource Id
      Returns:
      the returned Broker list
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getBrokers

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