Example #1
0
 /** Creates a vehicle of specific Class based on the user input: A,B,C,E,S
  * @param String $className
  * @return Automobile
  */
 public function createVehicle($inputVehicleClass)
 {
     $vehicleClass = ucfirst($inputVehicleClass);
     //        return new Vehicle\AClass();
     $vehicle = $vehicleClass . "Class";
     switch ($vehicle) {
         case "AClass":
             return new Vehicle\AClass();
         case "BClass":
             return new Vehicle\BClass();
         case "CClass":
             return new Vehicle\CClass();
         case "EClass":
             return new Vehicle\EClass();
         case "SClass":
             return new Vehicle\SClass();
         default:
             Helper::displayErrorMessage("The vehicle (" . $vehicle . ") couldn't be created.");
             return NULL;
     }
 }
Example #2
0
 /**
  * Adds multiple optional specifications to the Vehicle
  * @param Spec[] $optionalSpecsArray
  */
 public function equipMultipleOptionalSpecs($optionalSpecsArray)
 {
     foreach ($optionalSpecsArray as $optionalSpec) {
         $specName = $optionalSpec->getNameSpec();
         $isSpecAdded = array_key_exists($specName, $this->optionalSpecs);
         if (!$isSpecAdded) {
             $this->optionalSpecs[$specName] = $optionalSpec;
         } else {
             Helper::displayErrorMessage("The specification: " . $specName . " is already equipped");
         }
     }
 }