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.