* @version 0.0.0 * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Ship-Simu Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.shipsimu.org * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ class CompanyEmployee extends SimulatorPersonell { // Employeee list private $employeeList = null; // Constructor protected function __construct () { // Call parent constructor parent::__construct(__CLASS__); } // Generate a specified amount of personell public static final function createCompanyEmployee ($surname, $family, $gender, $year, $month, $day, $married, $salary) { // Get instance $personellInstance = new CompanyEmployee(); // Debug message if (((defined('DEBUG_COMPANY_EMPLOYEE')) && (defined('DEBUG_PERSONELL'))) || (defined('DEBUG_ALL'))) { $personellInstance->debugOutput(sprintf("[%s:%d] Der/Die Angestellte %s %s wird angelegt.", __CLASS__, __LINE__, $surname, $family )); } // Ist the given birthday valid? if ($personellInstance->isDateValid($year, $month, $day) === false) { // Something is wrong ... throw new BirthdayInvalidException(array($year, $month, $day), self::EXCEPTION_BIRTH_DATE_IS_INVALID); } // END - if // Set birthday $personellInstance->setBirthday($year, $month, $day); // Set as employed/marrital status $personellInstance->setEmployed(true); $personellInstance->setMarried($married); // Set surname/family/gender $personellInstance->setSurname($surname); $personellInstance->setFamily($family); $personellInstance->setGender($gender); // Set salary $personellInstance->increaseSalary($salary); // Tidy up a little $personellInstance->removeEmployeeList(); $personellInstance->removeMinMaxAge(); // Return prepared instance return $personellInstance; } // Remove the employee list private function removeEmployeeList () { unset($this->employeeList); } } // [EOF] ?>