Interface WorkLookupSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides methods for retrieving Works . 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 office view: All work methods in this session operate,
retrieve and pertain to works defined explicitly in the current
office. Using an isolated view is useful for managing
Workswith theWorkAdminSession. - federated office view: All work methods in this session operate, retrieve and pertain to all works defined in this office and any other works implicitly available in this office through office 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 useFederatedOfficeView() and
useIsolatedOfficeView() behave as a radio group and one should be
selected before invoking any lookup methods.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can performWorklookups.Gets theOfficeassociated with this session.Gets theOfficeIdassociated with this session.Gets theWorkspecified by itsId.getWorks()Gets allWorks.getWorksByGenusType(Type workGenusType) Gets aWorkListcorresponding to the given work genusTypewhich does not include works of genus types derived from the specifiedType.getWorksByIds(IdList workIds) Gets aWorkListcorresponding to the givenIdList.getWorksByParentGenusType(Type workGenusType) Gets aWorkListcorresponding to the given work genusTypeand include any additional works with genus types derived from the specifiedType.getWorksByRecordType(Type workRecordType) Gets aWorkListcontaining the given work recordType.voidThe returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error.voidFederates the view for methods in this session.voidIsolates the view for methods in this session.voidA complete view of theWorkreturns is desired.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionsModifier and TypeMethodDescriptionGets the agent authenticated to this session.Gets theIdof the agent authenticated to this session.Gets the rate of the service clock.getDate()Gets the service date which may be the current date or the effective date in which this session exists.Gets the effective agent in use by this session.Gets theIdof the effective agent in use by this session.Gets theDisplayTextformatTypepreference in effect for this session.Gets the locale indicating the localization preferences in effect for this session.booleanTests if an agent is authenticated to this session.Starts a new transaction for this sesson.booleanTests for the availability of transactions.
-
Method Details
-
getOfficeId
Id getOfficeId()Gets theOfficeIdassociated with this session.- Returns:
- the
Office Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getOffice
Gets theOfficeassociated with this session.- Returns:
- the office
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canLookupWorks
boolean canLookupWorks()Tests if this user can performWorklookups. 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 aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.- Returns:
falseif lookup methods are not authorized,trueotherwise- 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 theWorkreturns 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.
-
useFederatedOfficeView
void useFederatedOfficeView()Federates the view for methods in this session. A federated view will include works in offices which are children of this office in the office hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedOfficeView
void useIsolatedOfficeView()Isolates the view for methods in this session. An isolated view restricts lookups to this office only.- Compliance:
mandatory- This method is must be implemented.
-
getWork
Work getWork(Id workId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets theWorkspecified by itsId. In plenary mode, the exactIdis found or aNOT_FOUNDresults. Otherwise, the returnedWorkmay have a differentIdthan requested, such as the case where a duplicateIdwas assigned to aWorkand retained for compatibility.- Parameters:
workId-Idof theWork- Returns:
- the work
- Throws:
NotFoundException-workIdnot foundNullArgumentException-workIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method is must be implemented.
-
getWorksByIds
WorkList getWorksByIds(IdList workIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets aWorkListcorresponding to the givenIdList. In plenary mode, the returned list contains all of the works specified in theIdlist, in the order of the list, including duplicates, or an error results if anIdin the supplied list is not found or inaccessible. Otherwise, inaccessibleWorksmay be omitted from the list and may present the elements in any order including returning a unique set.- Parameters:
workIds- the list ofIdsto retrieve- Returns:
- the returned
Worklist - Throws:
NotFoundException- anId wasnot foundNullArgumentException-workIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getWorksByGenusType
WorkList getWorksByGenusType(Type workGenusType) throws OperationFailedException, PermissionDeniedException Gets aWorkListcorresponding to the given work genusTypewhich does not include works of genus types derived from the specifiedType. 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
Worklist - Throws:
NullArgumentException-workGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getWorksByParentGenusType
WorkList getWorksByParentGenusType(Type workGenusType) throws OperationFailedException, PermissionDeniedException Gets aWorkListcorresponding to the given work genusTypeand include any additional works with genus types derived from the specifiedType. 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
Worklist - Throws:
NullArgumentException-workGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getWorksByRecordType
WorkList getWorksByRecordType(Type workRecordType) throws OperationFailedException, PermissionDeniedException Gets aWorkListcontaining the given work recordType. 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
Worklist - Throws:
NullArgumentException-workRecordTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getWorks
Gets allWorks. 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 requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-