Interface RepositoryLookupSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides methods for retrieving Repository
objects. The Repository represents a collection of Assets
and Compositions .
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
Generally, the comparative view should be used for most applications
as it permits operation even if there is data that cannot be accessed. For
example, a browsing application may only need to examine the
Repositories it can access, without breaking execution. However, an
administrative application may require all Repository elements to
be available.
Repositories may have an additional records indicated by their
respective record types. The record may not be accessed through a cast of
the Repository .
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can performRepositorylookups.Gets allRepositories.getRepositoriesByGenusType(Type repositoryGenusType) Gets aRepositoryListcorresponding to the given repository genusTypewhich does not include repositories of types derived from the specifiedType.getRepositoriesByIds(IdList repositoryIds) Gets aRepositoryListcorresponding to the givenIdList.getRepositoriesByParentGenusType(Type repositoryGenusType) Gets aRepositoryListcorresponding to the given repository genusTypeand include any additional repositories with genus types derived from the specifiedType.getRepositoriesByProvider(Id resourceId) Gets aRepositoryListfrom the given provider.getRepositoriesByRecordType(Type repositoryRecordType) Gets aRepositoryListcontaining the given repository recordType.getRepository(Id repositoryId) Gets theRepositoryspecified by itsId.voidThe returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error.voidA complete view of theRepositoryreturns 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
-
canLookupRepositories
boolean canLookupRepositories()Tests if this user can performRepositorylookups. 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.
-
useComparativeRepositoryView
void useComparativeRepositoryView()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.
-
usePlenaryRepositoryView
void usePlenaryRepositoryView()A complete view of theRepositoryreturns 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.
-
getRepository
Repository getRepository(Id repositoryId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets theRepositoryspecified by itsId. In plenary mode, the exactIdis found or aNOT_FOUNDresults. Otherwise, the returnedRepositorymay have a differentIdthan requested, such as the case where a duplicateIdwas assigned to aRepositoryand retained for compatibility.- Parameters:
repositoryId-Idof theRepository- Returns:
- the repository
- Throws:
NotFoundException-repositoryIdnot foundNullArgumentException-repositoryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method is must be implemented.
-
getRepositoriesByIds
RepositoryList getRepositoriesByIds(IdList repositoryIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets aRepositoryListcorresponding to the givenIdList. In plenary mode, the returned list contains all of the repositories 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, inaccessibleRepositoriesmay be omitted from the list and may present the elements in any order including returning a unique set.- Parameters:
repositoryIds- the list ofIdsto retrieve- Returns:
- the returned
Repository list - Throws:
NotFoundException- anIdwas not foundNullArgumentException-repositoryIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getRepositoriesByGenusType
RepositoryList getRepositoriesByGenusType(Type repositoryGenusType) throws OperationFailedException, PermissionDeniedException Gets aRepositoryListcorresponding to the given repository genusTypewhich does not include repositories of types derived from the specifiedType. In plenary mode, the returned list contains all known repositories or an error results. Otherwise, the returned list may contain only those repositories that are accessible through this session.- Parameters:
repositoryGenusType- a repository genus type- Returns:
- the returned
Repository list - Throws:
NullArgumentException-repositoryGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getRepositoriesByParentGenusType
RepositoryList getRepositoriesByParentGenusType(Type repositoryGenusType) throws OperationFailedException, PermissionDeniedException Gets aRepositoryListcorresponding to the given repository genusTypeand include any additional repositories with genus types derived from the specifiedType. In plenary mode, the returned list contains all known repositories or an error results. Otherwise, the returned list may contain only those repositories that are accessible through this session.- Parameters:
repositoryGenusType- a repository genus type- Returns:
- the returned
Repository list - Throws:
NullArgumentException-repositoryGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getRepositoriesByRecordType
RepositoryList getRepositoriesByRecordType(Type repositoryRecordType) throws OperationFailedException, PermissionDeniedException Gets aRepositoryListcontaining the given repository recordType. In plenary mode, the returned list contains all known repositories or an error results. Otherwise, the returned list may contain only those repositories that are accessible through this session.- Parameters:
repositoryRecordType- a repository record type- Returns:
- the returned
Repository list - Throws:
NullArgumentException-repositoryRecordTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getRepositoriesByProvider
RepositoryList getRepositoriesByProvider(Id resourceId) throws OperationFailedException, PermissionDeniedException Gets aRepositoryListfrom the given provider. In plenary mode, the returned list contains all known repositories or an error results. Otherwise, the returned list may contain only those repositories that are accessible through this session.- Parameters:
resourceId- a resourceId- Returns:
- the returned
Repository list - Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getRepositories
Gets allRepositories. In plenary mode, the returned list contains all known repositories or an error results. Otherwise, the returned list may contain only those repositories that are accessible through this session.- Returns:
- a list of
Repositories - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-