Interface Project

All Superinterfaces:
Browsable, Extensible, Identifiable, OsidObject, Temporal

public interface Project extends OsidObject, Temporal

A Project is the initial construction of the building or a later construction, expansion, or renovation. The effective dates of the project indicate when this project was active.

  • Method Details

    • getBuildingId

      Id getBuildingId()
      Gets the Id of the building.
      Returns:
      the building Id
      Compliance:
      mandatory - This method must be implemented.
    • getBuilding

      Building getBuilding() throws OperationFailedException
      Gets the building.
      Returns:
      the building
      Throws:
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • hasCost

      boolean hasCost()
      Tests if this renovation has a cost.
      Returns:
      true if a cost is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getCost

      Currency getCost()
      Gets the cost for this renovation.
      Returns:
      the cost
      Throws:
      IllegalStateException - hasCost() is false
      Compliance:
      mandatory - This method must be implemented.
    • getProjectRecord

      ProjectRecord getProjectRecord(Type projectRecordType) throws OperationFailedException
      Gets the project record corresponding to the given Project record Type .This method is used to retrieve an object implementing the requested record. The ProjectRecordType may be the Type returned in getRecordTypes() or any of its parents in a Type hierarchy where hasRecordType(projectRecordType) is true .
      Parameters:
      projectRecordType - the type of project record to retrieve
      Returns:
      the project record
      Throws:
      NullArgumentException - projectRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(projectRecordType) is false
      Compliance:
      mandatory - This method must be implemented.