Interface ProfileQuery

All Superinterfaces:
Extensible, OsidBrowsableQuery, OsidCatalogQuery, OsidExtensibleQuery, OsidFederateableQuery, OsidIdentifiableQuery, OsidObjectQuery, OsidQuery, OsidSourceableQuery, Suppliable

public interface ProfileQuery extends OsidCatalogQuery

This is the query for searching profiles. Each method specifies an AND term while multiple invocations of the same method produce a nested OR .

  • Method Details

    • matchProfileItemId

      void matchProfileItemId(Id profileItemId, boolean match)
      Sets the profile item Id for this query.
      Parameters:
      profileItemId - a profile item Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - profileItemId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearProfileItemIdTerms

      void clearProfileItemIdTerms()
      Clears the profile item Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsProfileItemQuery

      boolean supportsProfileItemQuery()
      Tests if a ProfileItemQuery is available.
      Returns:
      true if a profile item query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getProfileItemQuery

      ProfileItemQuery getProfileItemQuery()
      Gets the query for a profile item. Multiple retrievals produce a nested OR term.
      Returns:
      the profile item query
      Throws:
      UnimplementedException - supportsProfileItemQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsProfileItemQuery()} is {@code true} .
    • matchAnyProfileItem

      void matchAnyProfileItem(boolean match)
      Matches profiles that have any profile item.
      Parameters:
      match - true to match profiles with any item mapping, false to match profiles with no item mapping
      Compliance:
      mandatory - This method must be implemented.
    • clearProfileItemTerms

      void clearProfileItemTerms()
      Clears the profile item query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchProfileEntryId

      void matchProfileEntryId(Id profileEntryId, boolean match)
      Sets the profile entry Id for this query.
      Parameters:
      profileEntryId - a profile entry Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - profileEntryId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearProfileEntryIdTerms

      void clearProfileEntryIdTerms()
      Clears the profile entry Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsProfileEntryQuery

      boolean supportsProfileEntryQuery()
      Tests if a ProfileEntryQuery is available.
      Returns:
      true if a profile entry query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getProfileEntryQuery

      ProfileEntryQuery getProfileEntryQuery()
      Gets the query for a profile entry. Multiple retrievals produce a nested OR term.
      Returns:
      the profile entry query
      Throws:
      UnimplementedException - supportsProfileEntryQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsProfileEntryQuery()} is {@code true} .
    • matchAnyProfileEntry

      void matchAnyProfileEntry(boolean match)
      Matches profiles that have any profile entry.
      Parameters:
      match - true to match profiles with any entry mapping, false to match profiles with no entry mapping
      Compliance:
      mandatory - This method must be implemented.
    • clearProfileEntryTerms

      void clearProfileEntryTerms()
      Clears the profile entry query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchAncestorProfileId

      void matchAncestorProfileId(Id profileId, boolean match)
      Sets the profile Id for this query to match profiles that have the specified profile as an ancestor.
      Parameters:
      profileId - a profile Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - profileId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearAncestorProfileIdTerms

      void clearAncestorProfileIdTerms()
      Clears the ancestor profile Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsAncestorProfileQuery

      boolean supportsAncestorProfileQuery()
      Tests if a ProfileQuery is available.
      Returns:
      true if a profile query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getAncestorProfileQuery

      ProfileQuery getAncestorProfileQuery()
      Gets the query for a profile. Multiple retrievals produce a nested OR term.
      Returns:
      the profile query
      Throws:
      UnimplementedException - supportsAncestorProfileQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsAncestorProfileQuery()} is {@code true} .
    • matchAnyAncestorProfile

      void matchAnyAncestorProfile(boolean match)
      Matches profiles with any ancestor.
      Parameters:
      match - true to match profile with any ancestor, false to match root profiles
      Compliance:
      mandatory - This method must be implemented.
    • clearAncestorProfileTerms

      void clearAncestorProfileTerms()
      Clears the ancestor profile query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDescendantProfileId

      void matchDescendantProfileId(Id profileId, boolean match)
      Sets the profile Id for this query to match that have the specified profile as a descendant.
      Parameters:
      profileId - a profile Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - profileId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearDescendantProfileIdTerms

      void clearDescendantProfileIdTerms()
      Clears the descendant profile Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsDescendantProfileQuery

      boolean supportsDescendantProfileQuery()
      Tests if a ProfileQuery is available.
      Returns:
      true if a profile query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getDescendantProfileQuery

      ProfileQuery getDescendantProfileQuery()
      Gets the query for a profile. Multiple retrievals produce a nested OR term.
      Returns:
      the profile query
      Throws:
      UnimplementedException - supportsDescendantProfileQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsDescendantProfileQuery()} is {@code true} .
    • matchAnyDescendantProfile

      void matchAnyDescendantProfile(boolean match)
      Matches profiles with any descendant.
      Parameters:
      match - true to match profile with any descendant, false to match leaf profiles
      Compliance:
      mandatory - This method must be implemented.
    • clearDescendantProfileTerms

      void clearDescendantProfileTerms()
      Clears the descendant profile query terms.
      Compliance:
      mandatory - This method must be implemented.
    • getProfileQueryRecord

      ProfileQueryRecord getProfileQueryRecord(Type profileRecordType) throws OperationFailedException
      Gets the profile query record corresponding to the given Profile record Type .Multiple record retrievals produce a nested OR term.
      Parameters:
      profileRecordType - a profile record type
      Returns:
      the profile query record
      Throws:
      NullArgumentException - profileRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(profileRecordType) is false
      Compliance:
      mandatory - This method must be implemented.