Interface BinLookupSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides methods for retrieving Bin objects. The
Bin represents a collection resources.
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 Bins
it can access, without breaking execution. However, an administrative
application may require all Bin elements to be available.
Bins may have an additional records indicated by their respective
record types. The record may not be accessed through a cast of the
Bin .
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can performBinlookups.Gets theBinspecified by itsId.getBins()Gets allBins.getBinsByGenusType(Type binGenusType) Gets aBinListcorresponding to the given bin genusTypewhich does not include bins of types derived from the specifiedType.getBinsByIds(IdList binIds) Gets aBinListcorresponding to the givenIdList.getBinsByParentGenusType(Type binGenusType) Gets aBinListcorresponding to the given bin genusTypeand include any additional bins with genus types derived from the specifiedType.getBinsByProvider(Id resourceId) Gets aBinListfrom the given provider.getBinsByRecordType(Type binRecordType) Gets aBinListcontaining the given bin 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.voidA complete view of theBinreturns 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
-
canLookupBins
boolean canLookupBins()Tests if this user can performBinlookups. 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.
-
useComparativeBinView
void useComparativeBinView()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.
-
usePlenaryBinView
void usePlenaryBinView()A complete view of theBinreturns 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.
-
getBin
Gets theBinspecified by itsId. In plenary mode, the exactIdis found or aNOT_FOUNDresults. Otherwise, the returnedBinmay have a differentIdthan requested, such as the case where a duplicateIdwas assigned to aBinand retained for compatibility.- Parameters:
binId-Idof theBin- Returns:
- the bin
- Throws:
NotFoundException-binIdnot foundNullArgumentException-binIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method is must be implemented.
-
getBinsByIds
BinList getBinsByIds(IdList binIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets aBinListcorresponding to the givenIdList. In plenary mode, the returned list contains all of the bins 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, inaccessibleBinsmay be omitted from the list and may present the elements in any order including returning a unique set.- Parameters:
binIds- the list ofIdsto retrieve- Returns:
- the returned
Bin list - Throws:
NotFoundException- anId wasnot foundNullArgumentException-binIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getBinsByGenusType
BinList getBinsByGenusType(Type binGenusType) throws OperationFailedException, PermissionDeniedException Gets aBinListcorresponding to the given bin genusTypewhich does not include bins of types derived from the specifiedType. In plenary mode, the returned list contains all known bins or an error results. Otherwise, the returned list may contain only those bins that are accessible through this session.- Parameters:
binGenusType- a bin genus type- Returns:
- the returned
Bin list - Throws:
NullArgumentException-binGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getBinsByParentGenusType
BinList getBinsByParentGenusType(Type binGenusType) throws OperationFailedException, PermissionDeniedException Gets aBinListcorresponding to the given bin genusTypeand include any additional bins with genus types derived from the specifiedType. In plenary mode, the returned list contains all known bins or an error results. Otherwise, the returned list may contain only those bins that are accessible through this session.- Parameters:
binGenusType- a bin genus type- Returns:
- the returned
Bin list - Throws:
NullArgumentException-binGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getBinsByRecordType
BinList getBinsByRecordType(Type binRecordType) throws OperationFailedException, PermissionDeniedException Gets aBinListcontaining the given bin recordType. In plenary mode, the returned list contains all known bins or an error results. Otherwise, the returned list may contain only those bins that are accessible through this session.- Parameters:
binRecordType- a bin record type- Returns:
- the returned
Bin list - Throws:
NullArgumentException-binRecordTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getBinsByProvider
Gets aBinListfrom the given provider. In plenary mode, the returned list contains all known bins or an error results. Otherwise, the returned list may contain only those bins that are accessible through this session.- Parameters:
resourceId- a resourceId- Returns:
- the returned
Bin list - Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getBins
Gets allBins. In plenary mode, the returned list contains all known bins or an error results. Otherwise, the returned list may contain only those bins that are accessible through this session.- Returns:
- a list of
Bins - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-