Interface ResourceRelationshipQuerySession

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

public interface ResourceRelationshipQuerySession extends OsidSession

This session provides methods for searching ResourceRelationship objects. The search query is constructed using the ResourceRelationshipQuery. The resource relationship record Type also specifies the record for the relationship query.

This session defines views that offer differing behaviors for searching.

  • federated bin view: searches include relationships in bins of which this bin is an ancestor in the bin hierarchy
  • isolated bin view: searches are restricted to relationships in this bin only

Relationships may have a query record indicated by their respective record types. The query record is accessed via the ResourceRelationshipQuery.

  • Method Details

    • getBinId

      Id getBinId()
      Gets the Bin Id associated with this session.
      Returns:
      the Bin Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getBin

      Gets the Bin associated with this session.
      Returns:
      the bin
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSearchResourceRelationships

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

      void useFederatedBinView()
      Federates the view for methods in this session. A federated view will include relationships in bin which are children of this bin in the bin hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedBinView

      void useIsolatedBinView()
      Isolates the view for methods in this session. An isolated view restricts searches to this bin only.
      Compliance:
      mandatory - This method is must be implemented.
    • getResourceRelationshipQuery

      ResourceRelationshipQuery getResourceRelationshipQuery()
      Gets a relationship query.
      Returns:
      the relationship query
      Compliance:
      mandatory - This method must be implemented.
    • getResourceRelationshipsByQuery

      ResourceRelationshipList getResourceRelationshipsByQuery(ResourceRelationshipQuery resourceRelationshipQuery) throws OperationFailedException, PermissionDeniedException
      Gets a list of ResourceRelationship matching the given resource relationship query.
      Parameters:
      resourceRelationshipQuery - the resource relationship query
      Returns:
      the returned ResourceRelationshipList
      Throws:
      NullArgumentException - resourceRelationshipQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - resourceRelationshipQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.