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.