Interface ProficiencyLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ProficiencyLookupSession extends OsidSession

This session defines methods for retrieving proficiencies.

This lookup session defines several views:

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete result set or is an error condition
  • isolated objective bank view: All proficiency methods in this session operate, retrieve and pertain to proficiencies defined explicitly in the current objective bank. Using an isolated view is useful for managing Proficiencies with the ProficiencyAdminSession .
  • federated objective bank view: All proficiency lookup methods in this session operate, retrieve and pertain to all proficiencies defined in this objective bank and any other proficiencies implicitly available in this objective bank through objective bank inheritence.
  • effective proficiency view: All proficiency lookup methods return proficiencies where the current date falls in between the effective dates inclusive.
  • any proficiency view: Proficiencies of any effective date are returned from methods.

The methods useFederatedObjectiveBankView() and useIsolatedObjectiveBankView() behave as a radio group and one should be selected before invoking any lookup methods.

Proficiencies may have an additional records indicated by their respective record types. The record may not be accessed through a cast of the Proficiencies .

  • Method Details

    • getObjectiveBankId

      Id getObjectiveBankId()
      Gets the ObjectiveBank Id associated with this session.
      Returns:
      the ObjectiveBank Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getObjectiveBank

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

      boolean canLookupProficiencies()
      Tests if this user can perform Proficiency 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 not offer lookup operations to unauthorized users.
      Returns:
      false if lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeProficiencyView

      void useComparativeProficiencyView()
      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.
    • usePlenaryProficiencyView

      void usePlenaryProficiencyView()
      A complete view of the Proficiency 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.
    • useFederatedObjectiveBankView

      void useFederatedObjectiveBankView()
      Federates the view for methods in this session. A federated view will include proficiencies in objective banks which are children of this objective bank in the obective bank hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedObjectiveBankView

      void useIsolatedObjectiveBankView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this objective bank only.
      Compliance:
      mandatory - This method is must be implemented.
    • useEffectiveProficiencyView

      void useEffectiveProficiencyView()
      Only proficiencies whose effective dates are current are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • useAnyEffectiveProficiencyView

      void useAnyEffectiveProficiencyView()
      All proficienies of any effective dates are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • getProficiency

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

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

      ProficiencyList getProficienciesByGenusType(Type proficiencyGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList corresponding to the given proficiency genus Type which does not include proficiencies of types derived from the specified Type . In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      proficiencyGenusType - a proficiency genus type
      Returns:
      the returned Proficiency list
      Throws:
      NullArgumentException - proficiencyGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesByParentGenusType

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

      ProficiencyList getProficienciesByRecordType(Type proficiencyRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList containing the given proficiency record Type . In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      proficiencyRecordType - a proficiency record type
      Returns:
      the returned Proficiency list
      Throws:
      NullArgumentException - proficiencyRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesOnDate

      Gets a ProficiencyList effecyive during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      from - starting date
      to - ending date
      Returns:
      the returned Proficiency list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesByGenusTypeOnDate

      ProficiencyList getProficienciesByGenusTypeOnDate(Type proficiencyGenusType, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList of the given proficiency genus type effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      proficiencyGenusType - a proficiency genus type
      from - starting date
      to - ending date
      Returns:
      the returned Proficiency list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - proficiencyGenusType, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesForObjective

      ProficiencyList getProficienciesForObjective(Id objectiveId) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList relating to the given objective. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      objectiveId - an objective Id
      Returns:
      the returned Proficiency list
      Throws:
      NullArgumentException - objectiveId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesForObjectiveOnDate

      ProficiencyList getProficienciesForObjectiveOnDate(Id objectiveId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList relating to the given objective effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      objectiveId - an objective Id
      from - starting date
      to - ending date
      Returns:
      the returned Proficiency list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - objectiveId, from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesByGenusTypeForObjective

      ProficiencyList getProficienciesByGenusTypeForObjective(Id objectiveId, Type proficiencyGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList relating to the given objective and proficiency genus Type . In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      objectiveId - an objective Id
      proficiencyGenusType - a proficiency genus type
      Returns:
      the returned Proficiency list
      Throws:
      NullArgumentException - objectiveId or proficiencyGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesByGenusTypeForObjectiveOnDate

      ProficiencyList getProficienciesByGenusTypeForObjectiveOnDate(Id objectiveId, Type proficiencyGenusType, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList of the given proficiency genus type relating to the given objective effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      objectiveId - an objective Id
      proficiencyGenusType - a proficiency genus type
      from - starting date
      to - ending date
      Returns:
      the returned Proficiency list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - objectiveId, proficiencyGenusType, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesForObjectives

      ProficiencyList getProficienciesForObjectives(IdList objectiveIds) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList relating to the given objectives. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      objectiveIds - the objective Ids
      Returns:
      the returned Proficiency list
      Throws:
      NullArgumentException - objectiveIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesForResource

      ProficiencyList getProficienciesForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList relating to the given resource. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      Returns:
      the returned Proficiency list
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesForResourceOnDate

      ProficiencyList getProficienciesForResourceOnDate(Id resourceId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList relating to the given resource effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      from - starting date
      to - ending date
      Returns:
      the returned Proficiency list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - resourceId, from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesByGenusTypeForResource

      ProficiencyList getProficienciesByGenusTypeForResource(Id resourceId, Type proficiencyGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList relating to the given resource and proficiency genus Type . In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      proficiencyGenusType - a proficiency genus type
      Returns:
      the returned Proficiency list
      Throws:
      NullArgumentException - resourceId or proficiencyGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesByGenusTypeForResourceOnDate

      ProficiencyList getProficienciesByGenusTypeForResourceOnDate(Id resourceId, Type proficiencyGenusType, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList of the given proficiency genus type relating to the given resource effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      proficiencyGenusType - a proficiency genus type
      from - starting date
      to - ending date
      Returns:
      the returned Proficiency list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - resourceId, proficiencyGenusType, from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesForResources

      ProficiencyList getProficienciesForResources(IdList resourceIds) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList relating to the given resources. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      resourceIds - the resource Ids
      Returns:
      the returned Proficiency list
      Throws:
      NullArgumentException - resourceIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesForObjectiveAndResource

      ProficiencyList getProficienciesForObjectiveAndResource(Id objectiveId, Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList relating to the given objective and resource. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      objectiveId - an objective Id
      resourceId - a resource Id
      Returns:
      the returned Proficiency list
      Throws:
      NullArgumentException - objectiveId or resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesForObjectiveAndResourceOnDate

      ProficiencyList getProficienciesForObjectiveAndResourceOnDate(Id objectiveId, Id resourceId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList relating to the given resource and objective effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      objectiveId - an objective Id
      resourceId - a resource Id
      from - starting date
      to - ending date
      Returns:
      the returned Proficiency list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - objectiveId, resourceId, from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesByGenusTypeForObjectiveAndResource

      ProficiencyList getProficienciesByGenusTypeForObjectiveAndResource(Id objectiveId, Id resourceId, Type proficiencyGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList of the given genus type relating to the given objective and resource. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      objectiveId - an objective Id
      resourceId - a resource Id
      proficiencyGenusType - a proficiency genus type
      Returns:
      the returned Proficiency list
      Throws:
      NullArgumentException - objectiveId, resourceId or proficiencyGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficienciesByGenusTypeForObjectiveAndResourceOnDate

      ProficiencyList getProficienciesByGenusTypeForObjectiveAndResourceOnDate(Id objectiveId, Id resourceId, Type proficiencyGenusType, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a ProficiencyList of the given genus type relating to the given resource and objective effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known proficiencies or an error results. Otherwise, the returned list may contain only those proficiencies that are accessible through this session. In effective mode, proficiencies are returned that are currently effective. In any effective mode, effective proficiencies and those currently expired are returned.
      Parameters:
      objectiveId - an objective Id
      resourceId - a resource Id
      proficiencyGenusType - a proficiency genus type
      from - starting date
      to - ending date
      Returns:
      the returned Proficiency list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - objectiveId, resourceId, proficiencyGenusType, from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getProficiencies

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