Interface RelationshipEnablerQuerySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
RelationshipEnablerSearchSession

public interface RelationshipEnablerQuerySession extends OsidSession

This session provides methods for searching among RelationshipEnabler objects. The search query is constructed using the RelationshipEnablerQuery.

This session defines views that offer differing behaviors for searching.

  • federated family view: searches include relationship enablers in families of which this family is an ancestor in the family hierarchy
  • isolated family view: searches are restricted to relationship enablers in this family

Relationship enablers may have a query record indicated by their respective record types. The query record is accessed via the 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.
    • canSearchRelationshipEnablers

      boolean canSearchRelationshipEnablers()
      Tests if this user can perform RelationshipEnabler 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 not offer lookup operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedFamilyView

      void useFederatedFamilyView()
      Federates the view for methods in this session. A federated view will include relationship enablers in families which are children of this family in the family hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedFamilyView

      void useIsolatedFamilyView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this family only.
      Compliance:
      mandatory - This method is must be implemented.
    • getRelationshipEnablerQuery

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

      RelationshipEnablerList getRelationshipEnablersByQuery(RelationshipEnablerQuery relationshipEnablerQuery) throws OperationFailedException, PermissionDeniedException
      Gets a list of RelationshipEnablers matching the given relationship enabler query.
      Parameters:
      relationshipEnablerQuery - the relationship enabler query
      Returns:
      the returned RelationshipEnablerList
      Throws:
      NullArgumentException - relationshipEnablerQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - relationshipEnablerQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.