<?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $seconds; //------------------------ // CONSTRUCTOR //------------------------ public function __construct() { $this->seconds = array(); } //------------------------ // INTERFACE //------------------------ public function getSecond_index($index) { $aSecond = $this->seconds[$index]; return $aSecond; } public function getSeconds() { $newSeconds = $this->seconds; return $newSeconds; } public function numberOfSeconds() { $number = count($this->seconds); return $number; } public function hasSeconds() { $has = $this->numberOfSeconds() > 0; return $has; } public function indexOfSecond($aSecond) { $wasFound = false; $index = 0; foreach($this->seconds as $second) { if ($second->equals($aSecond)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public static function minimumNumberOfSeconds() { return 0; } public function addSecond($aSecond) { $wasAdded = false; if ($this->indexOfSecond($aSecond) !== -1) { return false; } $this->seconds[] = $aSecond; if ($aSecond->indexOfFirst($this) != -1) { $wasAdded = true; } else { $wasAdded = $aSecond->addFirst($this); if (!$wasAdded) { array_pop($this->seconds); } } return $wasAdded; } public function removeSecond($aSecond) { $wasRemoved = false; if ($this->indexOfSecond($aSecond) == -1) { return $wasRemoved; } $oldIndex = $this->indexOfSecond($aSecond); unset($this->seconds[$oldIndex]); if ($aSecond->indexOfFirst($this) == -1) { $wasRemoved = true; } else { $wasRemoved = $aSecond->removeFirst($this); if (!$wasRemoved) { $this->seconds[$oldIndex] = $aSecond; ksort($this->seconds); } } $this->seconds = array_values($this->seconds); return $wasRemoved; } public function addSecondAt($aSecond, $index) { $wasAdded = false; if($this->addSecond($aSecond)) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } return $wasAdded; } public function addOrMoveSecondAt($aSecond, $index) { $wasAdded = false; if($this->indexOfSecond($aSecond) !== -1) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } else { $wasAdded = $this->addSecondAt($aSecond, $index); } return $wasAdded; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $copyOfSeconds = $this->seconds; $this->seconds = array(); foreach ($copyOfSeconds as $aSecond) { $aSecond->removeFirst($this); } } public function setSecond(Second $aSecond) { return ""; } public function setSeconds(Second... $newSeconds) { return ""; } public function isNumberOfSecondsValid() { return ""; } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $second; //------------------------ // CONSTRUCTOR //------------------------ public function __construct($aSecond) { $didAddSecond = $this->setSecond($aSecond); if (!$didAddSecond) { throw new Exception("Unable to create first due to second. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html"); } } //------------------------ // INTERFACE //------------------------ public function getSecond() { return $this->second; } public function setSecond($aSecond) { $wasSet = false; if ($aSecond == null) { return $wasSet; } $existingSecond = $this->second; $this->second = $aSecond; if ($existingSecond != null && $existingSecond != $aSecond) { $existingSecond->removeFirst($this); } $this->second->addFirst($this); $wasSet = true; return $wasSet; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $placeholderSecond = $this->second; $this->second = null; $placeholderSecond->removeFirst($this); } public function addSecond(Second $aSecond) { return ""; } public function getSeconds() { return ""; } public function setSeconds(Second... $newSeconds) { return ""; } public function numberOfSeconds() { return ""; } public function hasSeconds() { return ""; } public function indexOfSecond(Second $second) { return ""; } public function isNumberOfSecondsValid() { return ""; } public function removeSecond(Second $second) { return ""; } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $seconds; //------------------------ // CONSTRUCTOR //------------------------ public function __construct($allSeconds) { $this->seconds = array(); $didAddSeconds = $this->setSeconds($allSeconds); if (!$didAddSeconds) { throw new Exception("Unable to create First, must have 1 to 5 seconds. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html"); } } //------------------------ // INTERFACE //------------------------ public function getSecond_index($index) { $aSecond = $this->seconds[$index]; return $aSecond; } public function getSeconds() { $newSeconds = $this->seconds; return $newSeconds; } public function numberOfSeconds() { $number = count($this->seconds); return $number; } public function hasSeconds() { $has = $this->numberOfSeconds() > 0; return $has; } public function indexOfSecond($aSecond) { $wasFound = false; $index = 0; foreach($this->seconds as $second) { if ($second->equals($aSecond)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public function isNumberOfSecondsValid() { $isValid = $this->numberOfSeconds() >= self::minimumNumberOfSeconds() && $this->numberOfSeconds() <= self::maximumNumberOfSeconds(); return $isValid; } public static function minimumNumberOfSeconds() { return 1; } public static function maximumNumberOfSeconds() { return 5; } public function addSecond($aSecond) { $wasAdded = false; if ($this->indexOfSecond($aSecond) !== -1) { return false; } if ($this->numberOfSeconds() >= self::maximumNumberOfSeconds()) { return $wasAdded; } $this->seconds[] = $aSecond; if ($aSecond->indexOfFirst($this) != -1) { $wasAdded = true; } else { $wasAdded = $aSecond->addFirst($this); if (!$wasAdded) { array_pop($this->seconds); } } return $wasAdded; } public function removeSecond($aSecond) { $wasRemoved = false; if ($this->indexOfSecond($aSecond) == -1) { return $wasRemoved; } if ($this->numberOfSeconds() <= self::minimumNumberOfSeconds()) { return $wasRemoved; } $oldIndex = $this->indexOfSecond($aSecond); unset($this->seconds[$oldIndex]); if ($aSecond->indexOfFirst($this) == -1) { $wasRemoved = true; } else { $wasRemoved = $aSecond->removeFirst($this); if (!$wasRemoved) { $this->seconds[$oldIndex] = $aSecond; ksort($this->seconds); } } $this->seconds = array_values($this->seconds); return $wasRemoved; } public function setSeconds($newSeconds) { $wasSet = false; $verifiedSeconds = array(); foreach ($newSeconds as $aSecond) { if (array_search($aSecond,$verifiedSeconds) !== false) { continue; } $verifiedSeconds[] = $aSecond; } if (count($verifiedSeconds) != count($newSeconds) || count($verifiedSeconds) < self::minimumNumberOfSeconds() || count($verifiedSeconds) > self::maximumNumberOfSeconds()) { return $wasSet; } $oldSeconds = $this->seconds; $this->seconds = array(); foreach ($verifiedSeconds as $aNewSecond) { $this->seconds[] = $aNewSecond; $removeIndex = array_search($aNewSecond,$oldSeconds); if ($removeIndex !== false) { unset($oldSeconds[$removeIndex]); $oldSeconds = array_values($oldSeconds); } else { $aNewSecond->addFirst($this); } } foreach ($oldSeconds as $anOldSecond) { $anOldSecond->removeFirst($this); } $wasSet = true; return $wasSet; } public function addSecondAt($aSecond, $index) { $wasAdded = false; if($this->addSecond($aSecond)) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } return $wasAdded; } public function addOrMoveSecondAt($aSecond, $index) { $wasAdded = false; if($this->indexOfSecond($aSecond) !== -1) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } else { $wasAdded = $this->addSecondAt($aSecond, $index); } return $wasAdded; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $copyOfSeconds = $this->seconds; $this->seconds = array(); foreach ($copyOfSeconds as $aSecond) { $aSecond->removeFirst($this); } } public function setSecond(Second $aSecond) { return ""; } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $seconds; //------------------------ // CONSTRUCTOR //------------------------ public function __construct($allSeconds) { $this->seconds = array(); $didAddSeconds = $this->setSeconds($allSeconds); if (!$didAddSeconds) { throw new Exception("Unable to create First, must have at least 1 seconds. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html"); } } //------------------------ // INTERFACE //------------------------ public function getSecond_index($index) { $aSecond = $this->seconds[$index]; return $aSecond; } public function getSeconds() { $newSeconds = $this->seconds; return $newSeconds; } public function numberOfSeconds() { $number = count($this->seconds); return $number; } public function hasSeconds() { $has = $this->numberOfSeconds() > 0; return $has; } public function indexOfSecond($aSecond) { $wasFound = false; $index = 0; foreach($this->seconds as $second) { if ($second->equals($aSecond)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public function isNumberOfSecondsValid() { $isValid = $this->numberOfSeconds() >= self::minimumNumberOfSeconds(); return $isValid; } public static function minimumNumberOfSeconds() { return 1; } public function addSecond($aSecond) { $wasAdded = false; if ($this->indexOfSecond($aSecond) !== -1) { return false; } $this->seconds[] = $aSecond; if ($aSecond->indexOfFirst($this) != -1) { $wasAdded = true; } else { $wasAdded = $aSecond->addFirst($this); if (!$wasAdded) { array_pop($this->seconds); } } return $wasAdded; } public function removeSecond($aSecond) { $wasRemoved = false; if ($this->indexOfSecond($aSecond) == -1) { return $wasRemoved; } if ($this->numberOfSeconds() <= self::minimumNumberOfSeconds()) { return $wasRemoved; } $oldIndex = $this->indexOfSecond($aSecond); unset($this->seconds[$oldIndex]); if ($aSecond->indexOfFirst($this) == -1) { $wasRemoved = true; } else { $wasRemoved = $aSecond->removeFirst($this); if (!$wasRemoved) { $this->seconds[$oldIndex] = $aSecond; ksort($this->seconds); } } $this->seconds = array_values($this->seconds); return $wasRemoved; } public function setSeconds($newSeconds) { $wasSet = false; $verifiedSeconds = array(); foreach ($newSeconds as $aSecond) { if (array_search($aSecond,$verifiedSeconds) !== false) { continue; } $verifiedSeconds[] = $aSecond; } if (count($verifiedSeconds) != count($newSeconds) || count($verifiedSeconds) < self::minimumNumberOfSeconds()) { return $wasSet; } $oldSeconds = $this->seconds; $this->seconds = array(); foreach ($verifiedSeconds as $aNewSecond) { $this->seconds[] = $aNewSecond; $removeIndex = array_search($aNewSecond,$oldSeconds); if ($removeIndex !== false) { unset($oldSeconds[$removeIndex]); $oldSeconds = array_values($oldSeconds); } else { $aNewSecond->addFirst($this); } } foreach ($oldSeconds as $anOldSecond) { $anOldSecond->removeFirst($this); } $wasSet = true; return $wasSet; } public function addSecondAt($aSecond, $index) { $wasAdded = false; if($this->addSecond($aSecond)) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } return $wasAdded; } public function addOrMoveSecondAt($aSecond, $index) { $wasAdded = false; if($this->indexOfSecond($aSecond) !== -1) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } else { $wasAdded = $this->addSecondAt($aSecond, $index); } return $wasAdded; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $copyOfSeconds = $this->seconds; $this->seconds = array(); foreach ($copyOfSeconds as $aSecond) { $aSecond->removeFirst($this); } } public function setSecond(Second $aSecond) { return ""; } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $seconds; //------------------------ // CONSTRUCTOR //------------------------ public function __construct($allSeconds) { $this->seconds = array(); $didAddSeconds = $this->setSeconds($allSeconds); if (!$didAddSeconds) { throw new Exception("Unable to create First, must have 5 seconds. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html"); } } //------------------------ // INTERFACE //------------------------ public function getSecond_index($index) { $aSecond = $this->seconds[$index]; return $aSecond; } public function getSeconds() { $newSeconds = $this->seconds; return $newSeconds; } public function numberOfSeconds() { $number = count($this->seconds); return $number; } public function hasSeconds() { $has = $this->numberOfSeconds() > 0; return $has; } public function indexOfSecond($aSecond) { $wasFound = false; $index = 0; foreach($this->seconds as $second) { if ($second->equals($aSecond)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public function isNumberOfSecondsValid() { $isValid = $this->numberOfSeconds() >= self::minimumNumberOfSeconds() && $this->numberOfSeconds() <= self::maximumNumberOfSeconds(); return $isValid; } public static function requiredNumberOfSeconds() { return 5; } public static function minimumNumberOfSeconds() { return 5; } public static function maximumNumberOfSeconds() { return 5; } public function addSecond($aSecond) { $wasAdded = false; if ($this->indexOfSecond($aSecond) !== -1) { return false; } if ($this->numberOfSeconds() >= self::maximumNumberOfSeconds()) { return $wasAdded; } $this->seconds[] = $aSecond; if ($aSecond->indexOfFirst($this) != -1) { $wasAdded = true; } else { $wasAdded = $aSecond->addFirst($this); if (!$wasAdded) { array_pop($this->seconds); } } return $wasAdded; } public function removeSecond($aSecond) { $wasRemoved = false; if ($this->indexOfSecond($aSecond) == -1) { return $wasRemoved; } if ($this->numberOfSeconds() <= self::minimumNumberOfSeconds()) { return $wasRemoved; } $oldIndex = $this->indexOfSecond($aSecond); unset($this->seconds[$oldIndex]); if ($aSecond->indexOfFirst($this) == -1) { $wasRemoved = true; } else { $wasRemoved = $aSecond->removeFirst($this); if (!$wasRemoved) { $this->seconds[$oldIndex] = $aSecond; ksort($this->seconds); } } $this->seconds = array_values($this->seconds); return $wasRemoved; } public function setSeconds($newSeconds) { $wasSet = false; $verifiedSeconds = array(); foreach ($newSeconds as $aSecond) { if (array_search($aSecond,$verifiedSeconds) !== false) { continue; } $verifiedSeconds[] = $aSecond; } if (count($verifiedSeconds) != count($newSeconds) || count($verifiedSeconds) < self::minimumNumberOfSeconds() || count($verifiedSeconds) > self::maximumNumberOfSeconds()) { return $wasSet; } $oldSeconds = $this->seconds; $this->seconds = array(); foreach ($verifiedSeconds as $aNewSecond) { $this->seconds[] = $aNewSecond; $removeIndex = array_search($aNewSecond,$oldSeconds); if ($removeIndex !== false) { unset($oldSeconds[$removeIndex]); $oldSeconds = array_values($oldSeconds); } else { $aNewSecond->addFirst($this); } } foreach ($oldSeconds as $anOldSecond) { $anOldSecond->removeFirst($this); } $wasSet = true; return $wasSet; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $copyOfSeconds = $this->seconds; $this->seconds = array(); foreach ($copyOfSeconds as $aSecond) { $aSecond->removeFirst($this); } } public function setSecond(Second $aSecond) { return ""; } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $seconds; //------------------------ // CONSTRUCTOR //------------------------ public function __construct() { $this->seconds = array(); } //------------------------ // INTERFACE //------------------------ public function getSecond_index($index) { $aSecond = $this->seconds[$index]; return $aSecond; } public function getSeconds() { $newSeconds = $this->seconds; return $newSeconds; } public function numberOfSeconds() { $number = count($this->seconds); return $number; } public function hasSeconds() { $has = $this->numberOfSeconds() > 0; return $has; } public function indexOfSecond($aSecond) { $wasFound = false; $index = 0; foreach($this->seconds as $second) { if ($second->equals($aSecond)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public static function minimumNumberOfSeconds() { return 0; } public static function maximumNumberOfSeconds() { return 5; } public function addSecond($aSecond) { $wasAdded = false; if ($this->indexOfSecond($aSecond) !== -1) { return false; } if ($this->numberOfSeconds() >= self::maximumNumberOfSeconds()) { return $wasAdded; } $this->seconds[] = $aSecond; if ($aSecond->indexOfFirst($this) != -1) { $wasAdded = true; } else { $wasAdded = $aSecond->addFirst($this); if (!$wasAdded) { array_pop($this->seconds); } } return $wasAdded; } public function removeSecond($aSecond) { $wasRemoved = false; if ($this->indexOfSecond($aSecond) == -1) { return $wasRemoved; } $oldIndex = $this->indexOfSecond($aSecond); unset($this->seconds[$oldIndex]); if ($aSecond->indexOfFirst($this) == -1) { $wasRemoved = true; } else { $wasRemoved = $aSecond->removeFirst($this); if (!$wasRemoved) { $this->seconds[$oldIndex] = $aSecond; ksort($this->seconds); } } $this->seconds = array_values($this->seconds); return $wasRemoved; } public function setSeconds($newSeconds) { $wasSet = false; $verifiedSeconds = array(); foreach ($newSeconds as $aSecond) { if (array_search($aSecond,$verifiedSeconds) !== false) { continue; } $verifiedSeconds[] = $aSecond; } if (count($verifiedSeconds) != count($newSeconds) || count($verifiedSeconds) > self::maximumNumberOfSeconds()) { return $wasSet; } $oldSeconds = $this->seconds; $this->seconds = array(); foreach ($verifiedSeconds as $aNewSecond) { $this->seconds[] = $aNewSecond; $removeIndex = array_search($aNewSecond,$oldSeconds); if ($removeIndex !== false) { unset($oldSeconds[$removeIndex]); $oldSeconds = array_values($oldSeconds); } else { $aNewSecond->addFirst($this); } } foreach ($oldSeconds as $anOldSecond) { $anOldSecond->removeFirst($this); } $wasSet = true; return $wasSet; } public function addSecondAt($aSecond, $index) { $wasAdded = false; if($this->addSecond($aSecond)) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } return $wasAdded; } public function addOrMoveSecondAt($aSecond, $index) { $wasAdded = false; if($this->indexOfSecond($aSecond) !== -1) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } else { $wasAdded = $this->addSecondAt($aSecond, $index); } return $wasAdded; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $copyOfSeconds = $this->seconds; $this->seconds = array(); foreach ($copyOfSeconds as $aSecond) { $aSecond->removeFirst($this); } } public function setSecond(Second $aSecond) { return ""; } public function isNumberOfSecondsValid() { return ""; } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $seconds; //------------------------ // CONSTRUCTOR //------------------------ public function __construct() { $this->seconds = array(); } //------------------------ // INTERFACE //------------------------ public function getSecond_index($index) { $aSecond = $this->seconds[$index]; return $aSecond; } public function getSeconds() { $newSeconds = $this->seconds; return $newSeconds; } public function numberOfSeconds() { $number = count($this->seconds); return $number; } public function hasSeconds() { $has = $this->numberOfSeconds() > 0; return $has; } public function indexOfSecond($aSecond) { $wasFound = false; $index = 0; foreach($this->seconds as $second) { if ($second->equals($aSecond)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public static function minimumNumberOfSeconds() { return 0; } public function addSecond($aSecond) { $wasAdded = false; if ($this->indexOfSecond($aSecond) !== -1) { return false; } $this->seconds[] = $aSecond; if ($aSecond->indexOfFirst($this) != -1) { $wasAdded = true; } else { $wasAdded = $aSecond->addFirst($this); if (!$wasAdded) { array_pop($this->seconds); } } return $wasAdded; } public function removeSecond($aSecond) { $wasRemoved = false; if ($this->indexOfSecond($aSecond) == -1) { return $wasRemoved; } $oldIndex = $this->indexOfSecond($aSecond); unset($this->seconds[$oldIndex]); if ($aSecond->indexOfFirst($this) == -1) { $wasRemoved = true; } else { $wasRemoved = $aSecond->removeFirst($this); if (!$wasRemoved) { $this->seconds[$oldIndex] = $aSecond; ksort($this->seconds); } } $this->seconds = array_values($this->seconds); return $wasRemoved; } public function addSecondAt($aSecond, $index) { $wasAdded = false; if($this->addSecond($aSecond)) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } return $wasAdded; } public function addOrMoveSecondAt($aSecond, $index) { $wasAdded = false; if($this->indexOfSecond($aSecond) !== -1) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } else { $wasAdded = $this->addSecondAt($aSecond, $index); } return $wasAdded; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $copyOfSeconds = $this->seconds; $this->seconds = array(); foreach ($copyOfSeconds as $aSecond) { $aSecond->removeFirst($this); } } public function setSecond(Second $aSecond) { return ""; } public function setSeconds(Second... $newSeconds) { return ""; } public function isNumberOfSecondsValid() { return ""; } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $second; //------------------------ // CONSTRUCTOR //------------------------ public function __construct($aSecond = null) { if (func_num_args() == 0) { return; } if ($aSecond == null || $aSecond->getFirst() != null) { throw new Exception("Unable to create First due to aSecond. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html"); } $this->second = $aSecond; } public static function newInstance() { $thisInstance = new First(); $thisInstance->second = new Second($thisInstance); return $thisInstance; } //------------------------ // INTERFACE //------------------------ public function getSecond() { return $this->second; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $existingSecond = $this->second; $this->second = null; if ($existingSecond != null) { $existingSecond->delete(); } } public function addSecond(Second $aSecond) { return ""; } public function getSeconds() { return ""; } public function setSecond(Second $aSecond) { return ""; } public function setSeconds(Second... $newSeconds) { return ""; } public function numberOfSeconds() { return ""; } public function hasSeconds() { return ""; } public function indexOfSecond(Second $second) { return ""; } public function isNumberOfSecondsValid() { return ""; } public function removeSecond(Second $second) { return ""; } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $seconds; //------------------------ // CONSTRUCTOR //------------------------ public function __construct() { $this->seconds = array(); } //------------------------ // INTERFACE //------------------------ public function getSecond_index($index) { $aSecond = $this->seconds[$index]; return $aSecond; } public function getSeconds() { $newSeconds = $this->seconds; return $newSeconds; } public function numberOfSeconds() { $number = count($this->seconds); return $number; } public function hasSeconds() { $has = $this->numberOfSeconds() > 0; return $has; } public function indexOfSecond($aSecond) { $wasFound = false; $index = 0; foreach($this->seconds as $second) { if ($second->equals($aSecond)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public function isNumberOfSecondsValid() { $isValid = $this->numberOfSeconds() >= self::minimumNumberOfSeconds() && $this->numberOfSeconds() <= self::maximumNumberOfSeconds(); return $isValid; } public static function requiredNumberOfSeconds() { return 5; } public static function minimumNumberOfSeconds() { return 5; } public static function maximumNumberOfSeconds() { return 5; } public function addSecond($aSecond) { $wasAdded = false; if ($this->indexOfSecond($aSecond) !== -1) { return false; } if ($this->numberOfSeconds() >= self::maximumNumberOfSeconds()) { return $wasAdded; } $this->seconds[] = $aSecond; if ($aSecond->indexOfFirst($this) != -1) { $wasAdded = true; } else { $wasAdded = $aSecond->addFirst($this); if (!$wasAdded) { array_pop($this->seconds); } } return $wasAdded; } public function removeSecond($aSecond) { $wasRemoved = false; if ($this->indexOfSecond($aSecond) == -1) { return $wasRemoved; } if ($this->numberOfSeconds() <= self::minimumNumberOfSeconds()) { return $wasRemoved; } $oldIndex = $this->indexOfSecond($aSecond); unset($this->seconds[$oldIndex]); if ($aSecond->indexOfFirst($this) == -1) { $wasRemoved = true; } else { $wasRemoved = $aSecond->removeFirst($this); if (!$wasRemoved) { $this->seconds[$oldIndex] = $aSecond; ksort($this->seconds); } } $this->seconds = array_values($this->seconds); return $wasRemoved; } public function setSeconds($newSeconds) { $wasSet = false; $verifiedSeconds = array(); foreach ($newSeconds as $aSecond) { if (array_search($aSecond,$verifiedSeconds) !== false) { continue; } $verifiedSeconds[] = $aSecond; } if (count($verifiedSeconds) != count($newSeconds) || count($verifiedSeconds) < self::minimumNumberOfSeconds() || count($verifiedSeconds) > self::maximumNumberOfSeconds()) { return $wasSet; } $oldSeconds = $this->seconds; $this->seconds = array(); foreach ($verifiedSeconds as $aNewSecond) { $this->seconds[] = $aNewSecond; $removeIndex = array_search($aNewSecond,$oldSeconds); if ($removeIndex !== false) { unset($oldSeconds[$removeIndex]); $oldSeconds = array_values($oldSeconds); } else { $aNewSecond->addFirst($this); } } foreach ($oldSeconds as $anOldSecond) { $anOldSecond->removeFirst($this); } $wasSet = true; return $wasSet; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $copyOfSeconds = $this->seconds; $this->seconds = array(); foreach ($copyOfSeconds as $aSecond) { if ($aSecond->numberOfFirsts() <= Second::minimumNumberOfFirsts()) { $aSecond->delete(); } else { $aSecond->removeFirst($this); } } } public function setSecond(Second $aSecond) { return ""; } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $seconds; //------------------------ // CONSTRUCTOR //------------------------ public function __construct() { $this->seconds = array(); } //------------------------ // INTERFACE //------------------------ public function getSecond_index($index) { $aSecond = $this->seconds[$index]; return $aSecond; } public function getSeconds() { $newSeconds = $this->seconds; return $newSeconds; } public function numberOfSeconds() { $number = count($this->seconds); return $number; } public function hasSeconds() { $has = $this->numberOfSeconds() > 0; return $has; } public function indexOfSecond($aSecond) { $wasFound = false; $index = 0; foreach($this->seconds as $second) { if ($second->equals($aSecond)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public function isNumberOfSecondsValid() { $isValid = $this->numberOfSeconds() >= self::minimumNumberOfSeconds() && $this->numberOfSeconds() <= self::maximumNumberOfSeconds(); return $isValid; } public static function minimumNumberOfSeconds() { return 2; } public static function maximumNumberOfSeconds() { return 4; } public function addSecond($aSecond) { $wasAdded = false; if ($this->indexOfSecond($aSecond) !== -1) { return false; } if ($this->numberOfSeconds() >= self::maximumNumberOfSeconds()) { return $wasAdded; } $this->seconds[] = $aSecond; if ($aSecond->indexOfFirst($this) != -1) { $wasAdded = true; } else { $wasAdded = $aSecond->addFirst($this); if (!$wasAdded) { array_pop($this->seconds); } } return $wasAdded; } public function removeSecond($aSecond) { $wasRemoved = false; if ($this->indexOfSecond($aSecond) == -1) { return $wasRemoved; } if ($this->numberOfSeconds() <= self::minimumNumberOfSeconds()) { return $wasRemoved; } $oldIndex = $this->indexOfSecond($aSecond); unset($this->seconds[$oldIndex]); if ($aSecond->indexOfFirst($this) == -1) { $wasRemoved = true; } else { $wasRemoved = $aSecond->removeFirst($this); if (!$wasRemoved) { $this->seconds[$oldIndex] = $aSecond; ksort($this->seconds); } } $this->seconds = array_values($this->seconds); return $wasRemoved; } public function setSeconds($newSeconds) { $wasSet = false; $verifiedSeconds = array(); foreach ($newSeconds as $aSecond) { if (array_search($aSecond,$verifiedSeconds) !== false) { continue; } $verifiedSeconds[] = $aSecond; } if (count($verifiedSeconds) != count($newSeconds) || count($verifiedSeconds) < self::minimumNumberOfSeconds() || count($verifiedSeconds) > self::maximumNumberOfSeconds()) { return $wasSet; } $oldSeconds = $this->seconds; $this->seconds = array(); foreach ($verifiedSeconds as $aNewSecond) { $this->seconds[] = $aNewSecond; $removeIndex = array_search($aNewSecond,$oldSeconds); if ($removeIndex !== false) { unset($oldSeconds[$removeIndex]); $oldSeconds = array_values($oldSeconds); } else { $aNewSecond->addFirst($this); } } foreach ($oldSeconds as $anOldSecond) { $anOldSecond->removeFirst($this); } $wasSet = true; return $wasSet; } public function addSecondAt($aSecond, $index) { $wasAdded = false; if($this->addSecond($aSecond)) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } return $wasAdded; } public function addOrMoveSecondAt($aSecond, $index) { $wasAdded = false; if($this->indexOfSecond($aSecond) !== -1) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } else { $wasAdded = $this->addSecondAt($aSecond, $index); } return $wasAdded; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { $copyOfSeconds = $this->seconds; $this->seconds = array(); foreach ($copyOfSeconds as $aSecond) { if ($aSecond->numberOfFirsts() <= Second::minimumNumberOfFirsts()) { $aSecond->delete(); } else { $aSecond->removeFirst($this); } } } public function setSecond(Second $aSecond) { return ""; } } ?> <?php /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.33.0.6934.a386b0a58 modeling language!*/ class First implements I { //------------------------ // MEMBER VARIABLES //------------------------ //First Associations private $seconds; //------------------------ // CONSTRUCTOR //------------------------ public function __construct() { $this->seconds = array(); } //------------------------ // INTERFACE //------------------------ public function getSecond_index($index) { $aSecond = $this->seconds[$index]; return $aSecond; } public function getSeconds() { $newSeconds = $this->seconds; return $newSeconds; } public function numberOfSeconds() { $number = count($this->seconds); return $number; } public function hasSeconds() { $has = $this->numberOfSeconds() > 0; return $has; } public function indexOfSecond($aSecond) { $wasFound = false; $index = 0; foreach($this->seconds as $second) { if ($second->equals($aSecond)) { $wasFound = true; break; } $index += 1; } $index = $wasFound ? $index : -1; return $index; } public function isNumberOfSecondsValid() { $isValid = $this->numberOfSeconds() >= self::minimumNumberOfSeconds() && $this->numberOfSeconds() <= self::maximumNumberOfSeconds(); return $isValid; } public static function minimumNumberOfSeconds() { return 1; } public static function maximumNumberOfSeconds() { return 4; } public function addSecondVia() { if ($this->numberOfSeconds() >= self::maximumNumberOfSeconds()) { return null; } else { return new Second($this); } } public function addSecond($aSecond) { $wasAdded = false; if ($this->indexOfSecond($aSecond) !== -1) { return false; } if ($this->numberOfSeconds() >= self::maximumNumberOfSeconds()) { return $wasAdded; } $existingFirst = $aSecond->getFirst(); $isNewFirst = $existingFirst != null && $this !== $existingFirst; if ($isNewFirst && $existingFirst->numberOfSeconds() <= self::minimumNumberOfSeconds()) { return $wasAdded; } if ($isNewFirst) { $aSecond->setFirst($this); } else { $this->seconds[] = $aSecond; } $wasAdded = true; return $wasAdded; } public function removeSecond($aSecond) { $wasRemoved = false; //Unable to remove aSecond, as it must always have a first if ($this === $aSecond->getFirst()) { return $wasRemoved; } //first already at minimum (1) if ($this->numberOfSeconds() <= self::minimumNumberOfSeconds()) { return $wasRemoved; } unset($this->seconds[$this->indexOfSecond($aSecond)]); $this->seconds = array_values($this->seconds); $wasRemoved = true; return $wasRemoved; } public function addSecondAt($aSecond, $index) { $wasAdded = false; if($this->addSecond($aSecond)) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } return $wasAdded; } public function addOrMoveSecondAt($aSecond, $index) { $wasAdded = false; if($this->indexOfSecond($aSecond) !== -1) { if($index < 0 ) { $index = 0; } if($index > $this->numberOfSeconds()) { $index = $this->numberOfSeconds() - 1; } array_splice($this->seconds, $this->indexOfSecond($aSecond), 1); array_splice($this->seconds, $index, 0, array($aSecond)); $wasAdded = true; } else { $wasAdded = $this->addSecondAt($aSecond, $index); } return $wasAdded; } public function equals($compareTo) { return $this == $compareTo; } public function delete() { foreach ($this->seconds as $aSecond) { $aSecond->delete(); } } public function setSecond(Second $aSecond) { return ""; } public function setSeconds(Second... $newSeconds) { return ""; } } ?>