Interface RelationshipSmartFamilySession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session manages queries and sequencing to create "smart" dynamic
catalogs. A RelationshipQuery can be retrieved from this session
and mapped to this Family to create a virtual collection of
Relationships . The entries may be sequenced using the
RelationshipSearchOrder from this session.
This Family has a default query that matches any relationship
and a default search order that specifies no sequencing. The queries may
be examined using a RelationshipQueryInspector . The query may be
modified by converting the inspector back to a RelationshipQuery .
-
Method Summary
Modifier and TypeMethodDescriptionvoidapplyRelationshipQuery(RelationshipQuery relationshipQuery) Applies a relationship query to this family.voidapplyRelationshipSequencing(RelationshipSearchOrder relationshipSearchOrder) Applies a relationship search order to this family.booleanTests if this user can manage smart families.Gets theFamilyassociated with this session.Gets theFamilyIdassociated with this session.Gets a relationship query.getRelationshipQueryFromInspector(RelationshipQueryInspector relationshipQueryInspector) Gets a relationship query from an inspector.Gets a relationship search order.Gets a relationship query inspector for this family.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
-
getFamilyId
Id getFamilyId()Gets theFamilyIdassociated with this session.- Returns:
- the
Family Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getFamily
Gets theFamilyassociated with this session.- Returns:
- the family
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canManageSmartFamilies
boolean canManageSmartFamilies()Tests if this user can manage smart families. 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 smart operations.- Returns:
falseif smart family methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
getRelationshipQuery
RelationshipQuery getRelationshipQuery()Gets a relationship query.- Returns:
- the relationship query
- Compliance:
mandatory- This method must be implemented.
-
getRelationshipSearchOrder
RelationshipSearchOrder getRelationshipSearchOrder()Gets a relationship search order.- Returns:
- the relationship search order
- Compliance:
mandatory- This method must be implemented.
-
applyRelationshipQuery
void applyRelationshipQuery(RelationshipQuery relationshipQuery) throws OperationFailedException, PermissionDeniedException Applies a relationship query to this family.- Parameters:
relationshipQuery- the relationship query- Throws:
NullArgumentException-relationshipQueryisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure occurredUnsupportedException-relationshipQuerynot of this service- Compliance:
mandatory- This method must be implemented.
-
inspectRelationshipQuery
RelationshipQueryInspector inspectRelationshipQuery() throws OperationFailedException, PermissionDeniedExceptionGets a relationship query inspector for this family.- Returns:
- the relationship query inspector
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure occurred- Compliance:
mandatory- This method must be implemented.
-
applyRelationshipSequencing
void applyRelationshipSequencing(RelationshipSearchOrder relationshipSearchOrder) throws OperationFailedException, PermissionDeniedException Applies a relationship search order to this family.- Parameters:
relationshipSearchOrder- the relationship search order- Throws:
NullArgumentException-relationshipSearchOrderisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure occurredUnsupportedException-relationshipSearchOrdernot of this service- Compliance:
mandatory- This method must be implemented.
-
getRelationshipQueryFromInspector
RelationshipQuery getRelationshipQueryFromInspector(RelationshipQueryInspector relationshipQueryInspector) Gets a relationship query from an inspector.- Parameters:
relationshipQueryInspector- a relationship query inspector- Returns:
- the relationship query
- Throws:
NullArgumentException-relatinshipQueryInspectorisnullUnsupportedException-relationshipQueryInspectoris not of this service- Compliance:
mandatory- This method must be implemented.
-