Interface WorkLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface WorkLookupSession extends OsidSession

This session provides methods for retrieving Work objects. The Work represents a fixed connection between two Availabilities .

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 foundry view: All work methods in this session operate, retrieve and pertain to works defined explicitly in the current foundry. Using an isolated view is useful for managing Works with the WorkAdminSession .
  • federated foundry view: All work methods in this session operate, retrieve and pertain to all works defined in this foundry and any other works implicitly available in this foundry through foundry inheritence.

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

  • Method Details

    • getFoundryId

      Id getFoundryId()
      Gets the Foundry Id associated with this session.
      Returns:
      the Foundry Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getFoundry

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

      boolean canLookupWorks()
      Tests if this user can perform Work 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.
    • useComparativeWorkView

      void useComparativeWorkView()
      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.
    • usePlenaryWorkView

      void usePlenaryWorkView()
      A complete view of the Work 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.
    • useFederatedFoundryView

      void useFederatedFoundryView()
      Federates the view for methods in this session. A federated view will include works in foundries which are children of this foundry in the foundry hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedFoundryView

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

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

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

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

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

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

      Gets a WorkList corresponding to the given job. In plenary mode, the returned list contains all known works or an error results. Otherwise, the returned list may contain only those works that are accessible through this session.
      Parameters:
      jobId - a job Id
      Returns:
      the returned Work list
      Throws:
      NullArgumentException - jobId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getUncommittedWorksForJob

      WorkList getUncommittedWorksForJob(Id jobId) throws OperationFailedException, PermissionDeniedException
      Gets a WorkList of uncommitted works corresponding to the given job.In plenary mode, the returned list contains all known works or an error results. Otherwise, the returned list may contain only those works that are accessible through this session.
      Parameters:
      jobId - a job Id
      Returns:
      the returned Work list
      Throws:
      NullArgumentException - jobId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIncompleteWorksForJob

      WorkList getIncompleteWorksForJob(Id jobId) throws OperationFailedException, PermissionDeniedException
      Gets a WorkList of incomplete works corresponding to the given job.In plenary mode, the returned list contains all known works or an error results. Otherwise, the returned list may contain only those works that are accessible through this session.
      Parameters:
      jobId - a job Id
      Returns:
      the returned Work list
      Throws:
      NullArgumentException - jobId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getWorksByDate

      Gets a WorkList of all works created between the given date range inclusive.In plenary mode, the returned list contains all known works or an error results. Otherwise, the returned list may contain only those works that are accessible through this session.
      Parameters:
      from - start range
      to - end range
      Returns:
      the returned Work 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.
    • getIncompleteWorksByDate

      WorkList getIncompleteWorksByDate(DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a WorkList of incomplete works created between the given date range inclusive. In plenary mode, the returned list contains all known works or an error results. Otherwise, the returned list may contain only those works that are accessible through this session.
      Parameters:
      from - start range
      to - end range
      Returns:
      the returned Work 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.
    • getUncommittedWorksByDate

      WorkList getUncommittedWorksByDate(DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a WorkList of uncommitted works created between the given date range inclusive. In plenary mode, the returned list contains all known works or an error results. Otherwise, the returned list may contain only those works that are accessible through this session.
      Parameters:
      from - start range
      to - end range
      Returns:
      the returned Work 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.
    • getWorksByDateForJob

      WorkList getWorksByDateForJob(Id jobId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a WorkList of all works of corresponding to the given job and created between the given date range inclusive. In plenary mode, the returned list contains all known works or an error results. Otherwise, the returned list may contain only those works that are accessible through this session.
      Parameters:
      jobId - a job Id
      from - start range
      to - end range
      Returns:
      the returned Work list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - jobId, from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIncompleteWorksByDateForJob

      WorkList getIncompleteWorksByDateForJob(Id jobId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a WorkList of incomplete works corresponding to the given job and created between the given date range inclusive. In plenary mode, the returned list contains all known works or an error results. Otherwise, the returned list may contain only those works that are accessible through this session.
      Parameters:
      jobId - a job Id
      from - start range
      to - end range
      Returns:
      the returned Work list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - jobId, from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIncompleteWorks

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

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

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