Interface FamilyQuery

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

public interface FamilyQuery extends OsidCatalogQuery

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

  • Method Details

    • matchRelationshipId

      void matchRelationshipId(Id relationshipId, boolean match)
      Matches a relationship Id .
      Specified by:
      matchRelationshipId in interface OsidObjectQuery
      Parameters:
      relationshipId - a relationship Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - relationshipId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearRelationshipIdTerms

      void clearRelationshipIdTerms()
      Clears the relationship Id terms.
      Specified by:
      clearRelationshipIdTerms in interface OsidObjectQuery
      Compliance:
      mandatory - This method must be implemented.
    • supportsRelationshipQuery

      boolean supportsRelationshipQuery()
      Tests if a relationship query is available.
      Specified by:
      supportsRelationshipQuery in interface OsidObjectQuery
      Returns:
      true if a relationship query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getRelationshipQuery

      RelationshipQuery getRelationshipQuery()
      Gets the query interface for a relationship.
      Specified by:
      getRelationshipQuery in interface OsidObjectQuery
      Returns:
      the relationship query
      Throws:
      UnimplementedException - supportsRelationshipQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsRelationshipQuery()} is {@code true} .
    • matchAnyRelationship

      void matchAnyRelationship(boolean match)
      Matches families with any relationship.
      Specified by:
      matchAnyRelationship in interface OsidObjectQuery
      Parameters:
      match - true to match families with any relationship, false to match families with no relationship
      Compliance:
      mandatory - This method must be implemented.
    • clearRelationshipTerms

      void clearRelationshipTerms()
      Clears the relationship terms.
      Specified by:
      clearRelationshipTerms in interface OsidObjectQuery
      Compliance:
      mandatory - This method must be implemented.
    • matchAncestorFamilyId

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

      void clearAncestorFamilyIdTerms()
      Clears the ancestor family Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsAncestorFamilyQuery

      boolean supportsAncestorFamilyQuery()
      Tests if a FamilyQuery is available.
      Returns:
      true if a family query interface is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getAncestorFamilyQuery

      FamilyQuery getAncestorFamilyQuery()
      Gets the query interface for a family. Multiple retrievals produce a nested OR term.
      Returns:
      the family query
      Throws:
      UnimplementedException - supportsAncestorFamilyQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsAncestorFamilyQuery()} is {@code true} .
    • matchAnyAncestorFamily

      void matchAnyAncestorFamily(boolean match)
      Matches families with any ancestor.
      Parameters:
      match - true to match families with any ancestor, false to match root families
      Compliance:
      mandatory - This method must be implemented.
    • clearAncestorFamilyTerms

      void clearAncestorFamilyTerms()
      Clears the ancestor family terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDescendantFamilyId

      void matchDescendantFamilyId(Id familyId, boolean match)
      Sets the family Id for this query to match families that have the specified family as a descednant.
      Parameters:
      familyId - a family Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - familyId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearDescendantFamilyIdTerms

      void clearDescendantFamilyIdTerms()
      Clears the descendant family Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsDescendantFamilyQuery

      boolean supportsDescendantFamilyQuery()
      Tests if a FamilyQuery is available.
      Returns:
      true if a family query interface is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getDescendantFamilyQuery

      FamilyQuery getDescendantFamilyQuery()
      Gets the query interface for a family. Multiple retrievals produce a nested OR term.
      Returns:
      the family query
      Throws:
      UnimplementedException - supportsDescendantFamilyQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsDescendantFamilyQuery()} is {@code true} .
    • matchAnyDescendantFamily

      void matchAnyDescendantFamily(boolean match)
      Matches families with any decendant.
      Parameters:
      match - true to match families with any decendants, false to match leaf families
      Compliance:
      mandatory - This method must be implemented.
    • clearDescendantFamilyTerms

      void clearDescendantFamilyTerms()
      Clears the descendant family terms.
      Compliance:
      mandatory - This method must be implemented.
    • getFamilyQueryRecord

      FamilyQueryRecord getFamilyQueryRecord(Type familyRecordType) throws OperationFailedException, PermissionDeniedException
      Gets the family query record corresponding to the given Family record Type .Multiple record retrievals produce a nested boolean OR term.
      Parameters:
      familyRecordType - a family record type
      Returns:
      the family query record
      Throws:
      NullArgumentException - familyRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - hasRecordType(familyRecordType) is false
      Compliance:
      mandatory - This method must be implemented.