Interface ProfileItemSmartProfileSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ProfileItemSmartProfileSession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. A ProfileItemQuery can be retrieved from this session and mapped to this Profile to create a virtual collection of ProfileItems . The profile Items may be sequenced using the ProfileItemSearchOrder from this session.

This Profile has a default query that matches any profileItem and a default search order that specifies no sequencing. The queries may be examined using a ProfileItemQueryInspector . The query may be modified by converting the inspector back to a 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.
    • canManageSmartProfiles

      boolean canManageSmartProfiles()
      Tests if this user can manage smart profile. A return of true does not guarantee successful authorization. A return of false indicates that it is known 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 operations to unauthorized users.
      Returns:
      false if smart profile management is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getProfileItemQuery

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

      ProfileItemSearchOrder getProfileItemSearchOrder()
      Gets a profile item search order.
      Returns:
      the profile item search order
      Compliance:
      mandatory - This method must be implemented.
    • applyProfileItemQuery

      void applyProfileItemQuery(ProfileItemQuery profileItemQuery) throws OperationFailedException, PermissionDeniedException
      Applies a profile item query to this profile.
      Parameters:
      profileItemQuery - the profile item query
      Throws:
      NullArgumentException - profileItemQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - profileItemQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectProfileItemQuery

      Gets a profile item query inspector for this profile.
      Returns:
      the profile item query inspector
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      Compliance:
      mandatory - This method must be implemented.
    • applyProfileItemSequencing

      void applyProfileItemSequencing(ProfileItemSearchOrder profileItemSearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies a profile item search order to this profile.
      Parameters:
      profileItemSearchOrder - the profile item search order
      Throws:
      NullArgumentException - profileItemSearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - profileItemSearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getProfileItemQueryFromInspector

      ProfileItemQuery getProfileItemQueryFromInspector(ProfileItemQueryInspector profileItemQueryInspector)
      Gets a profile item query from an inspector.
      Parameters:
      profileItemQueryInspector - a profile item query inspector
      Returns:
      the profile item query
      Throws:
      NullArgumentException - profileItemQueryInspector is null
      UnsupportedException - profileItemQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.