Interface AssetLookupSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods for retrieving assets. An Asset
represents an element of content stored in a Repository.
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 repository view: All asset methods in this session
operate, retrieve and pertain to assets defined explicitly in the
current repository. Using an isolated view is useful for managing
Assetswith theAssetAdminSession. - federated repository view: All asset methods in this session operate, retrieve and pertain to all assets defined in this repository and any other assets implicitly available in this repository through repository inheritence.
The methods useFederatedRepositoryView() and
useIsolatedRepositoryView() behave as a radio group and one should be
selected before invoking any lookup methods.
Assets may have an additional records indicated by their respective
record types. The record may not be accessed through a cast of the
Asset .
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can performAssetlookups.Gets theAssetspecified by itsId.Gets allAssets.getAssetsByGenusType(Type assetGenusType) Gets anAssetListcorresponding to the given asset genusTypewhich does not include assets of types derived from the specifiedType.getAssetsByIds(IdList assetIds) Gets anAssetListcorresponding to the givenIdList.getAssetsByParentGenusType(Type assetGenusType) Gets anAssetListcorresponding to the given asset genusTypeand include any additional assets with genus types derived from the specifiedType.getAssetsByProvider(Id resourceId) Gets anAssetListfrom the given provider.getAssetsByRecordType(Type assetRecordType) Gets anAssetListcontaining the given asset recordType.Gets theRepositoryassociated with this session.Gets theRepositoryIdassociated with this session.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 theAssetreturns 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
-
getRepositoryId
Id getRepositoryId()Gets theRepositoryIdassociated with this session.- Returns:
- the
Repository Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getRepository
Gets theRepositoryassociated with this session.- Returns:
- the
Repositoryassociated with this session - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canLookupAssets
boolean canLookupAssets()Tests if this user can performAssetlookups. 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.- Returns:
falseif lookup methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
useComparativeAssetView
void useComparativeAssetView()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.
-
usePlenaryAssetView
void usePlenaryAssetView()A complete view of theAssetreturns 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.
-
useFederatedRepositoryView
void useFederatedRepositoryView()Federates the view for methods in this session. A federated view will include assets in repositories which are children of this repository in the repository hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedRepositoryView
void useIsolatedRepositoryView()Isolates the view for methods in this session. An isolated view restricts lookups to this repository only.- Compliance:
mandatory- This method is must be implemented.
-
getAsset
Asset getAsset(Id assetId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets theAssetspecified by itsId. In plenary mode, the exactIdis found or aNOT_FOUNDresults. Otherwise, the returnedAssetmay have a differentIdthan requested, such as the case where a duplicateIdwas assigned to anAssetand retained for compatibility.- Parameters:
assetId- theIdof theAssetto retrieve- Returns:
- the returned
Asset - Throws:
NotFoundException- noAssetfound with the givenIdNullArgumentException-assetIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAssetsByIds
AssetList getAssetsByIds(IdList assetIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets anAssetListcorresponding to the givenIdList. In plenary mode, the returned list contains all of the assets specified in the Id list, in the order of the list, including duplicates, or an error results if anIdin the supplied list is not found or inaccessible. Otherwise, inaccessibleAssetsmay be omitted from the list and may present the elements in any order including returning a unique set.- Parameters:
assetIds- the list ofIdsto retrieve- Returns:
- the returned
Asset list - Throws:
NotFoundException- anIdwas not foundNullArgumentException-assetIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAssetsByGenusType
AssetList getAssetsByGenusType(Type assetGenusType) throws OperationFailedException, PermissionDeniedException Gets anAssetListcorresponding to the given asset genusTypewhich does not include assets of types derived from the specifiedType. In plenary mode, the returned list contains all known assets or an error results. Otherwise, the returned list may contain only those assets that are accessible through this session.- Parameters:
assetGenusType- an asset genus type- Returns:
- the returned
Asset list - Throws:
NullArgumentException-assetGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAssetsByParentGenusType
AssetList getAssetsByParentGenusType(Type assetGenusType) throws OperationFailedException, PermissionDeniedException Gets anAssetListcorresponding to the given asset genusTypeand include any additional assets with genus types derived from the specifiedType. In plenary mode, the returned list contains all known assets or an error results. Otherwise, the returned list may contain only those assets that are accessible through this session.- Parameters:
assetGenusType- an asset genus type- Returns:
- the returned
Asset list - Throws:
NullArgumentException-assetGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAssetsByRecordType
AssetList getAssetsByRecordType(Type assetRecordType) throws OperationFailedException, PermissionDeniedException Gets anAssetListcontaining the given asset recordType. In plenary mode, the returned list contains all known assets or an error results. Otherwise, the returned list may contain only those assets that are accessible through this session.- Parameters:
assetRecordType- an asset record type- Returns:
- the returned
Asset list - Throws:
NullArgumentException-assetRecordTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAssetsByProvider
AssetList getAssetsByProvider(Id resourceId) throws OperationFailedException, PermissionDeniedException Gets anAssetListfrom the given provider. In plenary mode, the returned list contains all known assets or an error results. Otherwise, the returned list may contain only those assets that are accessible through this session.- Parameters:
resourceId- a resourceId- Returns:
- the returned
Asset list - Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAssets
Gets allAssets. In plenary mode, the returned list contains all known assets or an error results. Otherwise, the returned list may contain only those assets that are accessible through this session.- Returns:
- a list of
Assets - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-