<?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!*/ class Student { //------------------------ // MEMBER VARIABLES //------------------------ //Student Associations private $mentors; //------------------------ // CONSTRUCTOR //------------------------ public function __construct() { $this->mentors = array(); } //------------------------ // INTERFACE //------------------------ public function getMentor_index($index) { $aMentor = $this->mentors[$index]; return $aMentor; } public function getMentors() { $newMentors = $this->mentors; return $newMentors; } public function numberOfMentors() { $number = count($this->mentors); return $number; } public function hasMentors() { $has = $this->numberOfMentors() > 0; return $has; } public function indexOfMentor($aMentor) { $wasFound = false; $index = 0; foreach($this->mentors as $mentor) { if ($mentor->equals($aMentor)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public static function minimumNumberOfMentors() { return 0; } public function addMentor($aMentor) { $wasAdded = false; if ($this->indexOfMentor($aMentor) !== -1) { return false; } $this->mentors[] = $aMentor; if ($aMentor->indexOfStudent($this) != -1) { $wasAdded = true; } else { $wasAdded = $aMentor->addStudent($this); if (!$wasAdded) { array_pop($this->mentors); } } return $wasAdded; } public function removeMentor($aMentor) { $wasRemoved = false; if ($this->indexOfMentor($aMentor) == -1) { return $wasRemoved; } $oldIndex = $this->indexOfMentor($aMentor); unset($this->mentors[$oldIndex]); if ($aMentor->indexOfStudent($this) == -1) { $wasRemoved = true; } else { $wasRemoved = $aMentor->removeStudent($this); if (!$wasRemoved) { $this->mentors[$oldIndex] = $aMentor; ksort($this->mentors); } } $this->mentors = array_values($this->mentors); return $wasRemoved; } public function addMentorAt($aMentor, $index) { $wasAdded = false; if($this->addMentor($aMentor)) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfMentors()) { $index = $this->numberOfMentors() - 1; } array_splice($this->mentors, $this->indexOfMentor($aMentor), 1); array_splice($this->mentors, $index, 0, array($aMentor)); $wasAdded = true; } return $wasAdded; } public function addOrMoveMentorAt($aMentor, $index) { $wasAdded = false; if($this->indexOfMentor($aMentor) !== -1) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfMentors()) { $index = $this->numberOfMentors() - 1; } array_splice($this->mentors, $this->indexOfMentor($aMentor), 1); array_splice($this->mentors, $index, 0, array($aMentor)); $wasAdded = true; } else { $wasAdded = $this->addMentorAt($aMentor, $index); } return $wasAdded; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $copyOfMentors = $this->mentors; $this->mentors = array(); foreach ($copyOfMentors as $aMentor) { $aMentor->removeStudent($this); } } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!*/ class Student { //------------------------ // MEMBER VARIABLES //------------------------ //Student Associations private $mentors; //------------------------ // CONSTRUCTOR //------------------------ public function __construct() { $this->mentors = array(); } //------------------------ // INTERFACE //------------------------ public function getMentor_index($index) { $aMentor = $this->mentors[$index]; return $aMentor; } public function getMentors() { $newMentors = $this->mentors; return $newMentors; } public function numberOfMentors() { $number = count($this->mentors); return $number; } public function hasMentors() { $has = $this->numberOfMentors() > 0; return $has; } public function indexOfMentor($aMentor) { $wasFound = false; $index = 0; foreach($this->mentors as $mentor) { if ($mentor->equals($aMentor)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public static function minimumNumberOfMentors() { return 0; } public function addMentor($aMentor) { $wasAdded = false; if ($this->indexOfMentor($aMentor) !== -1) { return false; } $this->mentors[] = $aMentor; if ($aMentor->indexOfStudent($this) != -1) { $wasAdded = true; } else { $wasAdded = $aMentor->addStudent($this); if (!$wasAdded) { array_pop($this->mentors); } } return $wasAdded; } public function removeMentor($aMentor) { $wasRemoved = false; if ($this->indexOfMentor($aMentor) == -1) { return $wasRemoved; } $oldIndex = $this->indexOfMentor($aMentor); unset($this->mentors[$oldIndex]); if ($aMentor->indexOfStudent($this) == -1) { $wasRemoved = true; } else { $wasRemoved = $aMentor->removeStudent($this); if (!$wasRemoved) { $this->mentors[$oldIndex] = $aMentor; ksort($this->mentors); } } $this->mentors = array_values($this->mentors); return $wasRemoved; } public function addMentorAt($aMentor, $index) { $wasAdded = false; if($this->addMentor($aMentor)) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfMentors()) { $index = $this->numberOfMentors() - 1; } array_splice($this->mentors, $this->indexOfMentor($aMentor), 1); array_splice($this->mentors, $index, 0, array($aMentor)); $wasAdded = true; } return $wasAdded; } public function addOrMoveMentorAt($aMentor, $index) { $wasAdded = false; if($this->indexOfMentor($aMentor) !== -1) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfMentors()) { $index = $this->numberOfMentors() - 1; } array_splice($this->mentors, $this->indexOfMentor($aMentor), 1); array_splice($this->mentors, $index, 0, array($aMentor)); $wasAdded = true; } else { $wasAdded = $this->addMentorAt($aMentor, $index); } return $wasAdded; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $copyOfMentors = $this->mentors; $this->mentors = array(); foreach ($copyOfMentors as $aMentor) { $aMentor->removeStudent($this); } } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!*/ class Student { //------------------------ // MEMBER VARIABLES //------------------------ //Student Attributes private $intId; private $doubleId; private $booleanId; private $stringId; private $stringListIds; //Helper Variables private $cachedHashCode; private $canSetIntId; private $canSetDoubleId; private $canSetBooleanId; private $canSetStringId; private $canSetStringListIds; //------------------------ // CONSTRUCTOR //------------------------ public function __construct($aIntId, $aDoubleId, $aBooleanId, $aStringId) { $this->cachedHashCode = -1; $this->canSetIntId = true; $this->canSetDoubleId = true; $this->canSetBooleanId = true; $this->canSetStringId = true; $this->canSetStringListIds = true; $this->intId = $aIntId; $this->doubleId = $aDoubleId; $this->booleanId = $aBooleanId; $this->stringId = $aStringId; $this->stringListIds = array(); } //------------------------ // INTERFACE //------------------------ public function setIntId($aIntId) { $wasSet = false; if (!$this->canSetIntId) { return false; } $this->intId = $aIntId; $wasSet = true; return $wasSet; } public function setDoubleId($aDoubleId) { $wasSet = false; if (!$this->canSetDoubleId) { return false; } $this->doubleId = $aDoubleId; $wasSet = true; return $wasSet; } public function setBooleanId($aBooleanId) { $wasSet = false; if (!$this->canSetBooleanId) { return false; } $this->booleanId = $aBooleanId; $wasSet = true; return $wasSet; } public function setStringId($aStringId) { $wasSet = false; if (!$this->canSetStringId) { return false; } $this->stringId = $aStringId; $wasSet = true; return $wasSet; } public function addStringListId($aStringListId) { $wasAdded = false; if (!$this->canSetStringListIds) { return false; } $this->stringListIds[] = $aStringListId; $wasAdded = true; return $wasAdded; } public function removeStringListId($aStringListId) { $wasRemoved = false; if (!$this->canSetStringListIds) { return false; } unset($this->stringListIds[$this->indexOfStringListId($aStringListId)]); $this->stringListIds = array_values($this->stringListIds); $wasRemoved = true; return $wasRemoved; } public function getIntId() { return $this->intId; } public function getDoubleId() { return $this->doubleId; } public function getBooleanId() { return $this->booleanId; } public function getStringId() { return $this->stringId; } public function getStringListId($index) { $aStringListId = $this->stringListIds[$index]; return $aStringListId; } public function getStringListIds() { $newStringListIds = $this->stringListIds; return $newStringListIds; } public function numberOfStringListIds() { $number = count($this->stringListIds); return $number; } public function hasStringListIds() { $has = stringListIds.size() > 0; return $has; } public function indexOfStringListId($aStringListId) { $rawAnswer = array_search($aStringListId,$this->stringListIds); $index = $rawAnswer == null && $rawAnswer !== 0 ? -1 : $rawAnswer; return $index; } public function isBooleanId() { return $this->booleanId; } public function equals($compareTo) { if ($compareTo == null) { return false; } if (get_class($this) != get_class($compareTo)) { return false; } if ($this->intId != $compareTo->intId) { return false; } if ($this->doubleId != $compareTo->doubleId) { return false; } if ($this->booleanId != $compareTo->booleanId) { return false; } if ($this->stringId != $compareTo->stringId) { return false; } if ($this->stringListIds != $compareTo->stringListIds) { return false; } return true; } public function hashCode() { if ($this->cachedHashCode != -1) { return $this->cachedHashCode; } $this->cachedHashCode = 17; $this->cachedHashCode = $this->cachedHashCode * 23 + $this->intId; $this->cachedHashCode = $this->cachedHashCode * 23 + $this->doubleId; $this->cachedHashCode = $this->cachedHashCode * 23 + ($this->booleanId ? 1 : 0); if ($this->stringId != null) { $this->cachedHashCode = $this->cachedHashCode * 23 + spl_object_hash($this->stringId); } else { $this->cachedHashCode = $this->cachedHashCode * 23; } if ($this->stringListIds != null) { $this->cachedHashCode = $this->cachedHashCode * 23 + spl_object_hash($this->stringListIds); } else { $this->cachedHashCode = $this->cachedHashCode * 23; } $this->canSetIntId = false; $this->canSetDoubleId = false; $this->canSetBooleanId = false; $this->canSetStringId = false; $this->canSetStringListIds = false; return $this->cachedHashCode; } public function delete() {} } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!*/ class Student { //------------------------ // MEMBER VARIABLES //------------------------ //Student Attributes private $intId; private $doubleId; private $booleanId; private $stringId; //Helper Variables private $cachedHashCode; private $canSetIntId; //------------------------ // CONSTRUCTOR //------------------------ public function __construct($aDoubleId, $aBooleanId, $aStringId) { $this->cachedHashCode = -1; $this->canSetIntId = true; $this->doubleId = $aDoubleId; $this->booleanId = $aBooleanId; $this->stringId = $aStringId; } //------------------------ // INTERFACE //------------------------ public function setIntId($aIntId) { $wasSet = false; if (!$this->canSetIntId) { return false; } $this->canSetIntId = false; $this->intId = $aIntId; $wasSet = true; return $wasSet; } public function getIntId() { return $this->intId; } public function getDoubleId() { return $this->doubleId; } public function getBooleanId() { return $this->booleanId; } public function getStringId() { return $this->stringId; } public function isBooleanId() { return $this->booleanId; } public function equals($compareTo) { if ($compareTo == null) { return false; } if (get_class($this) != get_class($compareTo)) { return false; } if ($this->intId != $compareTo->intId) { return false; } if ($this->doubleId != $compareTo->doubleId) { return false; } if ($this->booleanId != $compareTo->booleanId) { return false; } if ($this->stringId != $compareTo->stringId) { return false; } return true; } public function hashCode() { if ($this->cachedHashCode != -1) { return $this->cachedHashCode; } $this->cachedHashCode = 17; $this->cachedHashCode = $this->cachedHashCode * 23 + $this->intId; $this->cachedHashCode = $this->cachedHashCode * 23 + $this->doubleId; $this->cachedHashCode = $this->cachedHashCode * 23 + ($this->booleanId ? 1 : 0); if ($this->stringId != null) { $this->cachedHashCode = $this->cachedHashCode * 23 + spl_object_hash($this->stringId); } else { $this->cachedHashCode = $this->cachedHashCode * 23; } $this->canSetIntId = false; $this->canSetDoubleId = false; $this->canSetBooleanId = false; $this->canSetStringId = false; return $this->cachedHashCode; } public function delete() {} } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!*/ class Mentor { //------------------------ // MEMBER VARIABLES //------------------------ //Mentor Associations private $main; private $secondaries; //Helper Variables private $cachedHashCode; private $canSetMain; private $canSetSecondaries; //------------------------ // CONSTRUCTOR //------------------------ public function __construct() { $this->cachedHashCode = -1; $this->canSetMain = true; $this->canSetSecondaries = true; $this->secondaries = array(); } //------------------------ // INTERFACE //------------------------ public function getMain() { return $this->main; } public function hasMain() { $has = $this->main != null; return $has; } public function getSecondary_index($index) { $aSecondary = $this->secondaries[$index]; return $aSecondary; } public function getSecondaries() { $newSecondaries = $this->secondaries; return $newSecondaries; } public function numberOfSecondaries() { $number = count($this->secondaries); return $number; } public function hasSecondaries() { $has = $this->numberOfSecondaries() > 0; return $has; } public function indexOfSecondary($aSecondary) { $wasFound = false; $index = 0; foreach($this->secondaries as $secondary) { if ($secondary->equals($aSecondary)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public function setMain($aNewMain) { $wasSet = false; if (!$this->canSetMain) { return false; } if ($aNewMain == null) { $existingMain = $this->main; $this->main = null; if ($existingMain != null && $existingMain->getMentorMain() != null) { $existingMain->setMentorMain(null); } $wasSet = true; return $wasSet; } $currentMain = $this->getMain(); if ($currentMain != null && $currentMain != $aNewMain) { $currentMain->setMentorMain(null); } $this->main = $aNewMain; $existingMentorMain = $aNewMain->getMentorMain(); if ($this != $existingMentorMain) { $aNewMain->setMentorMain($this); } $wasSet = true; return $wasSet; } public static function minimumNumberOfSecondaries() { return 0; } public function addSecondary($aSecondary) { $wasAdded = false; if (!$this->canSetSecondaries) { return false; } if ($this->indexOfSecondary($aSecondary) !== -1) { return false; } $existingMentorSecondary = $aSecondary->getMentorSecondary(); if ($existingMentorSecondary == null) { $aSecondary->setMentorSecondary($this); } elseif ($this !== $existingMentorSecondary) { $existingMentorSecondary->removeSecondary($aSecondary); $this->addSecondary($aSecondary); } else { $this->secondaries[] = $aSecondary; } $wasAdded = true; return $wasAdded; } public function removeSecondary($aSecondary) { $wasRemoved = false; if (!$this->canSetSecondaries) { return false; } if ($this->indexOfSecondary($aSecondary) != -1) { unset($this->secondaries[$this->indexOfSecondary($aSecondary)]); $this->secondaries = array_values($this->secondaries); if ($this === $aSecondary->getMentorSecondary()) { $aSecondary->setMentorSecondary(null); } $wasRemoved = true; } return $wasRemoved; } public function addSecondaryAt($aSecondary, $index) { $wasAdded = false; if($this->addSecondary($aSecondary)) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSecondaries()) { $index = $this->numberOfSecondaries() - 1; } array_splice($this->secondaries, $this->indexOfSecondary($aSecondary), 1); array_splice($this->secondaries, $index, 0, array($aSecondary)); $wasAdded = true; } return $wasAdded; } public function addOrMoveSecondaryAt($aSecondary, $index) { $wasAdded = false; if($this->indexOfSecondary($aSecondary) !== -1) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSecondaries()) { $index = $this->numberOfSecondaries() - 1; } array_splice($this->secondaries, $this->indexOfSecondary($aSecondary), 1); array_splice($this->secondaries, $index, 0, array($aSecondary)); $wasAdded = true; } else { $wasAdded = $this->addSecondaryAt($aSecondary, $index); } return $wasAdded; } public function equals($compareTo) { if ($compareTo == null) { return false; } if (get_class($this) != get_class($compareTo)) { return false; } if ($this->main != $compareTo->main) { return false; } if ($this->secondaries != $compareTo->secondaries) { return false; } return true; } public function hashCode() { if ($this->cachedHashCode != -1) { return $this->cachedHashCode; } $this->cachedHashCode = 17; if ($this->main != null) { $this->cachedHashCode = $this->cachedHashCode * 23 + spl_object_hash($this->main); } else { $this->cachedHashCode = $this->cachedHashCode * 23; } if ($this->secondaries != null) { $this->cachedHashCode = $this->cachedHashCode * 23 + spl_object_hash($this->secondaries); } else { $this->cachedHashCode = $this->cachedHashCode * 23; } $this->canSetMain = false; $this->canSetSecondaries = false; return $this->cachedHashCode; } public function delete() { if ($this->main != null) { $this->main->setMentorMain(null); } foreach ($this->secondaries as $aSecondary) { $aSecondary->setMentorSecondary(null); } } } ?>