| Interface | osid.relationship.FamilyQuery | ||
|---|---|---|---|
| Implements | osid.OsidCatalogQuery | ||
| Description | 
                 This is the query interface for searching for families. 
                Each method specifies an   | ||
| Method | matchRelationshipId | ||
| Description | 
                     Matches a relationship   | ||
| Parameters | osid.id.Id | relationshipId | a relationship  Id   | 
boolean | match |  true  for a positive match,  false  for a 
negative match  | |
| Errors | NULL_ARGUMENT |  relationshipId  is  null   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | clearRelationshipIdTerms | ||
| Description | 
                     Clears the relationship   | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | supportsRelationshipQuery | ||
| Description | 
                     Tests if a relationship query is available.  | ||
| Return | boolean |  true  if a relationship query is available,  false 
 otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getRelationshipQuery | ||
| Description | 
                     Gets the query interface for a relationship.  | ||
| Return | osid.relationship.RelationshipQuery | the relationship query | |
| Errors | UNIMPLEMENTED |  supportsRelationshipQuery()  is  false   |                 |
| Compliance | optional | This method must be implemented if  supportsRelationshipQuery() 
 is  true.   | |
| Method | matchAnyRelationship | ||
| Description | 
                     Matches families with any relationship.  | ||
| Parameters | boolean | match |  true  to match families with any relationship,  false 
 to match families with no relationship  | 
| Compliance | mandatory | This method must be implemented. | |
| Method | clearRelationshipTerms | ||
| Description | 
                     Clears the relationship terms.  | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | matchAncestorFamilyId | ||
| Description | 
                     Sets the family   | ||
| Parameters | osid.id.Id | familyId | a family  Id   | 
boolean | match |  true  for a positive match,  false  for a 
negative match  | |
| Errors | NULL_ARGUMENT |  familyId  is  null   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | clearAncestorFamilyIdTerms | ||
| Description | 
                     Clears the ancestor family   | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | supportsAncestorFamilyQuery | ||
| Description | 
                     Tests if a   | ||
| Return | boolean |  true  if a family query interface is available,  false 
 otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getAncestorFamilyQuery | ||
| Description | 
                     Gets the query interface for a family. Multiple 
                    retrievals produce a nested   | ||
| Return | osid.relationship.FamilyQuery | the family query | |
| Errors | UNIMPLEMENTED |  supportsAncestorFamilyQuery()  is  false   |                 |
| Compliance | optional | This method must be implemented if  supportsAncestorFamilyQuery() 
 is  true.   | |
| Method | matchAnyAncestorFamily | ||
| Description | 
                     Matches families with any ancestor.  | ||
| Parameters | boolean | match |  true  to match families with any ancestor,  false 
 to match root families  | 
| Compliance | mandatory | This method must be implemented. | |
| Method | clearAncestorFamilyTerms | ||
| Description | 
                     Clears the ancestor family terms.  | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | matchDescendantFamilyId | ||
| Description | 
                     Sets the family   | ||
| Parameters | osid.id.Id | familyId | a family  Id   | 
boolean | match |  true  for a positive match,  false  for a 
negative match  | |
| Errors | NULL_ARGUMENT |  familyId  is  null   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | clearDescendantFamilyIdTerms | ||
| Description | 
                     Clears the descendant family   | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | supportsDescendantFamilyQuery | ||
| Description | 
                     Tests if a   | ||
| Return | boolean |  true  if a family query interface is available,  false 
 otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getDescendantFamilyQuery | ||
| Description | 
                     Gets the query interface for a family. Multiple 
                    retrievals produce a nested   | ||
| Return | osid.relationship.FamilyQuery | the family query | |
| Errors | UNIMPLEMENTED |  supportsDescendantFamilyQuery()  is  false   |                 |
| Compliance | optional | This method must be implemented if  supportsDescendantFamilyQuery() 
 is  true.   | |
| Method | matchAnyDescendantFamily | ||
| Description | 
                     Matches families with any decendant.  | ||
| Parameters | boolean | match |  true  to match families with any decendants,  false 
 to match leaf families  | 
| Compliance | mandatory | This method must be implemented. | |
| Method | clearDescendantFamilyTerms | ||
| Description | 
                     Clears the descendant family terms.  | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getFamilyQueryRecord | ||
| Description | 
                     Gets the family query record corresponding to the given 
                      | ||
| Parameters | osid.type.Type | familyRecordType | a family record type | 
| Return | osid.relationship.records.FamilyQueryRecord | the family query record | |
| Errors | NULL_ARGUMENT |  familyRecordType  is  null   |                 |
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure occurred | ||
| UNSUPPORTED |  hasRecordType(familyRecordType)  is  false   |                 ||
| Compliance | mandatory | This method must be implemented. | |