* @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]
?>