Interface FamilyLookupSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides methods for retrieving Family objects.
The Family represents a collection of relationships.
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
Families it can access, without breaking execution. However, an
assessment may only be useful if all Families referenced by it are
available, and a test-taking applicationmay sacrifice some
interoperability for the sake of precision.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can performFamilylookups.Gets all families.getFamiliesByGenusType(Type familyGenusType) Gets aFamilyListcorresponding to the given family genusTypewhich does not include families of genus types derived from the specifiedType.getFamiliesByIds(IdList familyIds) Gets aFamilyListcorresponding to the givenIdList.getFamiliesByParentGenusType(Type familyGenusType) Gets aFamilyListcorresponding to the given family genusTypeand include any additional families with genus types derived from the specifiedType.getFamiliesByProvider(Id resourceId) Gets aFamilyListfrom the given provider.getFamiliesByRecordType(Type familyRecordType) Gets aFamilyListcontaining the given family recordType.Gets theFamilyspecified 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 theFamilyreturns 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
-
canLookupFamilies
boolean canLookupFamilies()Tests if this user can performFamilylookups. 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 not offer lookup operations to unauthorized users.- Returns:
falseif lookup methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
useComparativeFamilyView
void useComparativeFamilyView()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.
-
usePlenaryFamilyView
void usePlenaryFamilyView()A complete view of theFamilyreturns 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.
-
getFamily
Family getFamily(Id familyId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets theFamilyspecified by itsId. In plenary mode, the exactIdis found or aNOT_FOUNDresults. Otherwise, the returnedFamilymay have a differentIdthan requested, such as the case where a duplicateIdwas assigned to aFamilyand retained for compatibil- Parameters:
familyId-Idof theFamily- Returns:
- the family
- Throws:
NotFoundException-familyIdnot foundNullArgumentException-familyIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method is must be implemented.
-
getFamiliesByIds
FamilyList getFamiliesByIds(IdList familyIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets aFamilyListcorresponding to the givenIdList. In plenary mode, the returned list contains all of the families 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, inaccessible families may be omitted from the list and may present the elements in any order including returning a unique set.- Parameters:
familyIds- the list ofIdsto retrieve- Returns:
- the returned
Family list - Throws:
NotFoundException- anId wasnot foundNullArgumentException-familyIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getFamiliesByGenusType
FamilyList getFamiliesByGenusType(Type familyGenusType) throws OperationFailedException, PermissionDeniedException Gets aFamilyListcorresponding to the given family genusTypewhich does not include families of genus types derived from the specifiedType. In plenary mode, the returned list contains all known families or an error results. Otherwise, the returned list may contain only those families that are accessible through this session.- Parameters:
familyGenusType- a family genus type- Returns:
- the returned
Family list - Throws:
NullArgumentException-familyGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getFamiliesByParentGenusType
FamilyList getFamiliesByParentGenusType(Type familyGenusType) throws OperationFailedException, PermissionDeniedException Gets aFamilyListcorresponding to the given family genusTypeand include any additional families with genus types derived from the specifiedType. In plenary mode, the returned list contains all known families or an error results. Otherwise, the returned list may contain only those families that are accessible through this session.- Parameters:
familyGenusType- a family genus type- Returns:
- the returned
Family list - Throws:
NullArgumentException-familyGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getFamiliesByRecordType
FamilyList getFamiliesByRecordType(Type familyRecordType) throws OperationFailedException, PermissionDeniedException Gets aFamilyListcontaining the given family recordType. In plenary mode, the returned list contains all known families or an error results. Otherwise, the returned list may contain only those families that are accessible through this session.- Parameters:
familyRecordType- a family record type- Returns:
- the returned
Family list - Throws:
NullArgumentException-familyRecordTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getFamiliesByProvider
FamilyList getFamiliesByProvider(Id resourceId) throws OperationFailedException, PermissionDeniedException Gets aFamilyListfrom the given provider. In plenary mode, the returned list contains all known families or an error results. Otherwise, the returned list may contain only those families that are accessible through this session.- Parameters:
resourceId- a resourceId- Returns:
- the returned
Family list - Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getFamilies
Gets all families. In plenary mode, the returned list contains all known families or an error results. Otherwise, the returned list may contain only those families that are accessible through this session.- Returns:
- a list of families
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-