public interface RepositoryLookupSession extends 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.
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.
Modifier and Type | Method and Description |
---|---|
boolean |
canLookupRepositories()
Tests if this user can perform
Repository lookups. |
RepositoryList |
getRepositories()
Gets all
Repositories. |
RepositoryList |
getRepositoriesByGenusType(Type repositoryGenusType)
Gets a
RepositoryList corresponding to the given
repository genus Type which does not include
repositories of types derived from the specified Type. |
RepositoryList |
getRepositoriesByIds(IdList repositoryIds)
Gets a
RepositoryList corresponding to the given
IdList. |
RepositoryList |
getRepositoriesByParentGenusType(Type repositoryGenusType)
Gets a
RepositoryList corresponding to the given
repository genus Type and include any additional
repositories with genus types derived from the specified Type. |
RepositoryList |
getRepositoriesByProvider(Id resourceId)
Gets a
RepositoryList from the given provider . |
RepositoryList |
getRepositoriesByRecordType(Type repositoryRecordType)
Gets a
RepositoryList containing the given repository
record Type. |
Repository |
getRepository(Id repositoryId)
Gets the
Repository specified by its Id. |
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.
|
void |
usePlenaryRepositoryView()
A complete view of the
Repository returns is desired. |
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
boolean canLookupRepositories()
Repository
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. false
if lookup methods are not authorized,
true
otherwisemandatory
- This method must be implemented. void useComparativeRepositoryView()
mandatory
- This method is must be implemented. void usePlenaryRepositoryView()
Repository
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.mandatory
- This method is must be implemented. Repository getRepository(Id repositoryId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Repository
specified by its Id.
In plenary mode, the exact Id
is found or a
NOT_FOUND
results. Otherwise, the returned Repository
may have a different Id
than requested, such as
the case where a duplicate Id
was assigned to a
Repository
and retained for compatibility.repositoryId
- Id
of the Repository
NotFoundException
- repositoryId
not
foundNullArgumentException
- repositoryId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method is must be implemented. RepositoryList getRepositoriesByIds(IdList repositoryIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
RepositoryList
corresponding to the given
IdList.
In plenary mode, the returned list contains all of the
repositories 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 Repositories
may be omitted from the list
and may present the elements in any order including returning a unique
set.repositoryIds
- the list of Ids
to retrieve Repository list
NotFoundException
- an Id
was not foundNullArgumentException
- repositoryIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RepositoryList getRepositoriesByGenusType(Type repositoryGenusType) throws OperationFailedException, PermissionDeniedException
RepositoryList
corresponding to the given
repository genus Type
which does not include
repositories of types derived from the specified Type.
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.repositoryGenusType
- a repository genus type Repository list
NullArgumentException
- repositoryGenusType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RepositoryList getRepositoriesByParentGenusType(Type repositoryGenusType) throws OperationFailedException, PermissionDeniedException
RepositoryList
corresponding to the given
repository genus Type
and include any additional
repositories with genus types derived from the specified Type.
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.repositoryGenusType
- a repository genus type Repository list
NullArgumentException
- repositoryGenusType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RepositoryList getRepositoriesByRecordType(Type repositoryRecordType) throws OperationFailedException, PermissionDeniedException
RepositoryList
containing the given repository
record Type.
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.repositoryRecordType
- a repository record type Repository list
NullArgumentException
- repositoryRecordType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RepositoryList getRepositoriesByProvider(Id resourceId) throws OperationFailedException, PermissionDeniedException
RepositoryList
from 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.resourceId
- a resource Id
Repository list
NullArgumentException
- resourceId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RepositoryList getRepositories() throws OperationFailedException, PermissionDeniedException
Repositories.
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. Repositories
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.