Interface DictionaryLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface DictionaryLookupSession extends OsidSession

This session provides methods for retrieving Dictionaries . The Dictionary represents a collection of key/value entries.

This session defines two views which offer differing behaviors when retrieving multiple objects.

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete and ordered result set or is an error condition

Generally, the comparative view should be used for most applications as it permits operation even if there is data out of sync. 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.

  • Method Details

    • canLookupDictionaries

      boolean canLookupDictionaries()
      Tests if this user can perform Dictionary 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.
    • useComparativeDictionaryView

      void useComparativeDictionaryView()
      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.
    • usePlenaryDictionaryView

      void usePlenaryDictionaryView()
      A complete view of the Dictionary 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.
    • getDictionary

      Gets the Dictionary specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Dictionary may have a different Id than requested, such as the case where a duplicate Id was assigned to a Dictionary and retained for compatibility.
      Parameters:
      dictionaryId - the Id of the Dictionary to retrieve
      Returns:
      the Dictionary
      Throws:
      NotFoundException - no Dictionary found with the given Id
      NullArgumentException - Id is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDictionariesByIds

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

      DictionaryList getDictionariesByGenusType(Type dictionaryGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a DictionaryList corresponding to the given dictionary genus Type which does not include dictionaries of genus types derived from the specified Type .In plenary mode, the returned list contains all known dictionaries or an error results. Otherwise, the returned list may contain only those dictionaries that are accessible through this session.
      Parameters:
      dictionaryGenusType - a dictionary genus type
      Returns:
      the returned Dictionary list
      Throws:
      NullArgumentException - dictionaryGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDictionariesByParentGenusType

      DictionaryList getDictionariesByParentGenusType(Type dictionaryGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a DictionaryList corresponding to the given dictionary genus Type and include any additional dictionaries with genus types derived from the specified Type .In plenary mode, the returned list contains all known dictionaries or an error results. Otherwise, the returned list may contain only those dictionaries that are accessible through this session.
      Parameters:
      dictionaryGenusType - a dictionary genus type
      Returns:
      the returned Dictionary list
      Throws:
      NullArgumentException - dictionaryGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDictionariesByRecordType

      DictionaryList getDictionariesByRecordType(Type dictionaryRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a DictionaryList containing the given dictionary record Type .In plenary mode, the returned list contains all known dictionaries or an error results. Otherwise, the returned list may contain only those dictionaries that are accessible through this session.
      Parameters:
      dictionaryRecordType - a dictionary record type
      Returns:
      the returned Dictionary list
      Throws:
      NullArgumentException - dictionaryRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDictionariesByProvider

      DictionaryList getDictionariesByProvider(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets a DictionaryList for the given provider. In plenary mode, the returned list contains all known dictionaries or an error results. Otherwise, the returned list may contain only those dictionaries that are accessible through this session.
      Parameters:
      resourceId - a resource Id
      Returns:
      the returned Dictionary list
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDictionaries

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