<?php
/*PLEASE DO NOT EDIT THIS CODE*/
/*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/
class Mentor
{
//------------------------
// MEMBER VARIABLES
//------------------------
//Mentor Attributes
private $name;
//Mentor Associations
private $students;
//------------------------
// CONSTRUCTOR
//------------------------
public function __construct($aName, $allStudents)
{
$this->name = $aName;
$this->students = array();
$didAddStudents = $this->setStudents($allStudents);
if (!$didAddStudents)
{
throw new Exception("Unable to create Mentor, must have 4 students. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html");
}
}
//------------------------
// INTERFACE
//------------------------
public function setName($aName)
{
$wasSet = false;
$this->name = $aName;
$wasSet = true;
return $wasSet;
}
public function getName()
{
return $this->name;
}
public function getStudent_index($index)
{
$aStudent = $this->students[$index];
return $aStudent;
}
public function getStudents()
{
$newStudents = $this->students;
return $newStudents;
}
public function numberOfStudents()
{
$number = count($this->students);
return $number;
}
public function hasStudents()
{
$has = $this->numberOfStudents() > 0;
return $has;
}
public function indexOfStudent($aStudent)
{
$wasFound = false;
$index = 0;
foreach($this->students as $student)
{
if ($student->equals($aStudent))
{
$wasFound = true;
break;
}
$index += 1;
}
$index = $wasFound ? $index : -1;
return $index;
}
public static function requiredNumberOfStudents()
{
return 4;
}
public static function minimumNumberOfStudents()
{
return 4;
}
public static function maximumNumberOfStudents()
{
return 4;
}
public function setStudents($newStudents)
{
$wasSet = false;
$verifiedStudents = array();
foreach ($newStudents as $aStudent)
{
if (array_search($aStudent,$verifiedStudents) !== false)
{
continue;
}
$verifiedStudents[] = $aStudent;
}
if (count($verifiedStudents) != count($newStudents) || count($verifiedStudents) != self::requiredNumberOfStudents())
{
return $wasSet;
}
$this->students = $verifiedStudents;
$wasSet = true;
return $wasSet;
}
public function equals($compareTo)
{
return $this == $compareTo;
}
public function delete()
{
$this->students = array();
}
}
?>
<?php
/*PLEASE DO NOT EDIT THIS CODE*/
/*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/
class Student
{
//------------------------
// MEMBER VARIABLES
//------------------------
//Student Attributes
private $number;
//------------------------
// CONSTRUCTOR
//------------------------
public function __construct($aNumber)
{
$this->number = $aNumber;
}
//------------------------
// INTERFACE
//------------------------
public function setNumber($aNumber)
{
$wasSet = false;
$this->number = $aNumber;
$wasSet = true;
return $wasSet;
}
public function getNumber()
{
return $this->number;
}
public function equals($compareTo)
{
return $this == $compareTo;
}
public function delete()
{}
}
?>