Interface ProjectQuery

All Superinterfaces:
Extensible, OsidBrowsableQuery, OsidExtensibleQuery, OsidIdentifiableQuery, OsidObjectQuery, OsidQuery, OsidTemporalQuery, Suppliable

public interface ProjectQuery extends OsidObjectQuery, OsidTemporalQuery

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

  • Method Details

    • matchBuildingId

      void matchBuildingId(Id buildingId, boolean match)
      Sets a building Id .
      Parameters:
      buildingId - a building Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - buildingId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearBuildingIdTerms

      void clearBuildingIdTerms()
      Clears the building Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsBuildingQuery

      boolean supportsBuildingQuery()
      Tests if a BuildingQuery is available.
      Returns:
      true if a building query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getBuildingQuery

      BuildingQuery getBuildingQuery()
      Gets the query for a building query. Multiple retrievals produce a nested OR term.
      Returns:
      the building query
      Throws:
      UnimplementedException - supportsBuildingQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsBuildingQuery()} is {@code true} .
    • clearBuildingTerms

      void clearBuildingTerms()
      Clears the building terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchCost

      void matchCost(Currency low, Currency high, boolean match)
      Matches a cost within the given range inclusive.
      Parameters:
      low - start of range
      high - end of range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - low is greater than high
      NullArgumentException - low or high is null
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyCost

      void matchAnyCost(boolean match)
      Matches any cost.
      Parameters:
      match - true to match projects with any cost assigned, false to match buildings with no cost assigned
      Compliance:
      mandatory - This method must be implemented.
    • clearCostTerms

      void clearCostTerms()
      Clears the cost terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchCampusId

      void matchCampusId(Id campusId, boolean match)
      Sets the project Id for this query to match rooms assigned to campuses.
      Parameters:
      campusId - a campus Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - campusId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearCampusIdTerms

      void clearCampusIdTerms()
      Clears the campus Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsCampusQuery

      boolean supportsCampusQuery()
      Tests if a CampusQuery is available.
      Returns:
      true if a campus query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getCampusQuery

      CampusQuery getCampusQuery()
      Gets the query for a campus query. Multiple retrievals produce a nested OR term.
      Returns:
      the campus query
      Throws:
      UnimplementedException - supportsCampusQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsCampusQuery()} is {@code true} .
    • clearCampusTerms

      void clearCampusTerms()
      Clears the campus terms.
      Compliance:
      mandatory - This method must be implemented.
    • getProjectQueryRecord

      ProjectQueryRecord getProjectQueryRecord(Type projectRecordType) throws OperationFailedException
      Gets the project query record corresponding to the given Project record Type .Multiple record retrievals produce a nested boolean OR term.
      Parameters:
      projectRecordType - a project record type
      Returns:
      the project query record
      Throws:
      NullArgumentException - projectRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(projectRecordType) is false
      Compliance:
      mandatory - This method must be implemented.