Interface RelationshipEnablerSmartFamilySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface RelationshipEnablerSmartFamilySession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic families. A RelationshipEnablerQuery can be retrieved from this session and mapped to this Family to create a virtual collection of relationship enablers. The relationship enablers may be sequenced using the RelationshipEnablerSearchOrder from this session.

This Family has a default query that matches any relationship enabler and a default search order that specifies no sequencing. The queries may be examined using a RelationshipEnablerQueryInspector . The query may be modified by converting the inspector back to a RelationshipEnablerQuery .

  • Method Details

    • getFamilyId

      Id getFamilyId()
      Gets the Family Id associated with this session.
      Returns:
      the Family Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getFamily

      Gets the Family associated with this session.
      Returns:
      the family
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - 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 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 operations to unauthorized users.
      Returns:
      false if smart family management is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getRelationshipEnablerQuery

      RelationshipEnablerQuery getRelationshipEnablerQuery()
      Gets a relationship enabler query.
      Returns:
      the relationship enabler query
      Compliance:
      mandatory - This method must be implemented.
    • getRelationshipEnablerSearchOrder

      RelationshipEnablerSearchOrder getRelationshipEnablerSearchOrder()
      Gets a relationship enabler search order.
      Returns:
      the relationship enabler search order
      Compliance:
      mandatory - This method must be implemented.
    • applyRelationshipEnablerQuery

      void applyRelationshipEnablerQuery(RelationshipEnablerQuery relationshipEnablerQuery) throws OperationFailedException, PermissionDeniedException
      Applies a relationship enabler query to this family.
      Parameters:
      relationshipEnablerQuery - the relationship enabler query
      Throws:
      NullArgumentException - relationshipEnablerQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - relationshipEnablerQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectRelationshipEnablerQuery

      Gets a relationship enabler query inspector for this family.
      Returns:
      the relationship enabler query inspector
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      Compliance:
      mandatory - This method must be implemented.
    • applyRelationshipEnablerSequencing

      void applyRelationshipEnablerSequencing(RelationshipEnablerSearchOrder relationshipEnablerSearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies a relationship enabler search order to this family.
      Parameters:
      relationshipEnablerSearchOrder - the relationship enabler search order
      Throws:
      NullArgumentException - relationshipEnablerSearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - relationshipEnablerSearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getRelationshipEnablerQueryFromInspector

      RelationshipEnablerQuery getRelationshipEnablerQueryFromInspector(RelationshipEnablerQueryInspector relationshipEnablerQueryInspector)
      Gets a relationship enabler query from an inspector.
      Parameters:
      relationshipEnablerQueryInspector - a relationship enabler query inspector
      Returns:
      the relationship enabler query
      Throws:
      NullArgumentException - relationshipEnablerQueryInspector is null
      UnsupportedException - relationshipEnablerQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.