Interface ProfileItemQuerySession

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

public interface ProfileItemQuerySession extends OsidSession

This session provides methods for searching ProfileItems . The search query is constructed using the ProfileItemQuery . The profile item record Type also specifies the record interface for the profil eitem query.

This session defines views that offer differing behaviors for searching.

  • federated profile view: searches include profile item in profiles of which this profile is an ancestor in the profile hierarchy
  • isolated profile view: searches are restricted to profile items in this profile

Profile items may have a profile item query record indicated by their respective record types. The profile item query record is accessed via the ProfileItemQuery .

  • Method Details

    • getProfileId

      Id getProfileId()
      Gets the Profile Id associated with this session.
      Returns:
      the Profile Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getProfile

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

      boolean canSearchProfileItems()
      Tests if this user can perform ProfileItem 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.
    • useFederatedProfileView

      void useFederatedProfileView()
      Federates the view for methods in this session. A federated view will include profile items in profiles which are children of this profile in the profile hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedProfileView

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

      ProfileItemQuery getProfileItemQuery()
      Gets a profile item query.
      Returns:
      the profile item query
      Compliance:
      mandatory - This method must be implemented.
    • getProfileItemsByQuery

      ProfileItemList getProfileItemsByQuery(ProfileItemQuery profileItemQuery) throws OperationFailedException, PermissionDeniedException
      Gets a list of ProfileItems matching the given profile item query interface.
      Parameters:
      profileItemQuery - the profile item query
      Returns:
      the returned ProfileItemList
      Throws:
      NullArgumentException - profileItemQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - profileItemQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.