#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 3 "../EnumerationTest_1.ump"
from enum import Enum, auto
class Student():
#------------------------
# ENUMERATIONS
#------------------------
class Status(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
FullTime = auto()
PartTime = auto()
class Grade(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
High = auto()
class RelationshipStatus(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Single = auto()
Married = auto()
Divorced = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self):
pass
#------------------------
# INTERFACE
#------------------------
def delete(self):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 3 "../EnumerationTest_2.ump"
from enum import Enum, auto
class X():
MY_CONST = 100
xsByMyName = dict()
#------------------------
# ENUMERATIONS
#------------------------
class Colour(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Red = auto()
Blue = auto()
Green = auto()
#------------------------
# STATIC VARIABLES
#------------------------
#------------------------
# MEMBER VARIABLES
#------------------------
#X Attributes
#X State Machines
class Sm(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
s1 = auto()
s2 = auto()
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self, aDefaultAttr):
self._sm = None
self._defaultAttr = None
self._myName = None
self._defaultAttr = aDefaultAttr
if not self.setMyName(aMyName) :
raise RuntimeError ("Cannot create due to duplicate myName. See https://manual.umple.org?RE003ViolationofUniqueness.html")
self.setSm(X.Sm.s1)
#------------------------
# INTERFACE
#------------------------
def setMyName(self, aMyName):
wasSet = False
anOldMyName = self.getMyName()
if not (anOldMyName is None) and anOldMyName == aMyName :
return True
if X.hasWithMyName(aMyName) :
return wasSet
self._myName = aMyName
wasSet = True
if not (anOldMyName is None) :
X.xsByMyName.pop(anOldMyName, None)
X.xsByMyName[aMyName] = self
return wasSet
def setDefaultAttr(self, aDefaultAttr):
wasSet = False
self._defaultAttr = aDefaultAttr
wasSet = True
return wasSet
def getMyName(self):
return self._myName
# Code from template attribute_GetUnique
@staticmethod
def getWithMyName(aMyName):
return X.xsByMyName.get(aMyName)
# Code from template attribute_HasUnique
@staticmethod
def hasWithMyName(aMyName):
return not (X.getWithMyName(aMyName) is None)
def getDefaultAttr(self):
return self._defaultAttr
def getSmFullName(self):
answer = self._sm.__str__()
return answer
def getSm(self):
return self._sm
def goToS2(self):
wasEventProcessed = False
aSm = self._sm
if aSm == X.Sm.s1 :
self.setSm(X.Sm.s2)
wasEventProcessed = True
else :
# Other states do respond to this event
pass
return wasEventProcessed
def setSm(self, aSm):
self._sm = aSm
def delete(self):
X.xsByMyName.pop(self.getMyName(), None)
def __str__(self):
return str(super().__str__()) + "[" + "myName" + ":" + str(self.getMyName()) + "," + "defaultAttr" + ":" + str(self.getDefaultAttr()) + "]"
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 6 "../EnumerationTest_3.ump"
import os
from enum import Enum, auto
class C1():
#------------------------
# ENUMERATIONS
#------------------------
class Status(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Married = auto()
Single = auto()
Divorced = auto()
class Gender(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Male = auto()
Female = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#C1 Attributes
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self, aStatus, aGender):
self._gender = None
self._status = None
self._status = aStatus
self._gender = aGender
#------------------------
# INTERFACE
#------------------------
def setStatus(self, aStatus):
wasSet = False
self._status = aStatus
wasSet = True
return wasSet
def setGender(self, aGender):
wasSet = False
self._gender = aGender
wasSet = True
return wasSet
def getStatus(self):
return self._status
def getGender(self):
return self._gender
def delete(self):
pass
def __str__(self):
return str(super().__str__()) + "[" + "]" + str(os.linesep) + " " + "status" + "=" + str((((self.getStatus().__str__().replaceAll(" ", " ")) if not self.getStatus() == self else "this") if not (self.getStatus() is None) else "null")) + str(os.linesep) + " " + "gender" + "=" + (((self.getGender().__str__().replaceAll(" ", " ")) if not self.getGender() == self else "this") if not (self.getGender() is None) else "null")
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 11 "../EnumerationTest_3.ump"
import os
from enum import Enum, auto
class C2():
#------------------------
# ENUMERATIONS
#------------------------
class Status(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Married = auto()
Single = auto()
Divorced = auto()
class Gender(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Male = auto()
Female = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#C2 Attributes
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self, aStatus, aGender):
self._gender = None
self._status = None
self._status = aStatus
self._gender = aGender
#------------------------
# INTERFACE
#------------------------
def setStatus(self, aStatus):
wasSet = False
self._status = aStatus
wasSet = True
return wasSet
def setGender(self, aGender):
wasSet = False
self._gender = aGender
wasSet = True
return wasSet
def getStatus(self):
return self._status
def getGender(self):
return self._gender
def delete(self):
pass
def __str__(self):
return str(super().__str__()) + "[" + "]" + str(os.linesep) + " " + "status" + "=" + str((((self.getStatus().__str__().replaceAll(" ", " ")) if not self.getStatus() == self else "this") if not (self.getStatus() is None) else "null")) + str(os.linesep) + " " + "gender" + "=" + (((self.getGender().__str__().replaceAll(" ", " ")) if not self.getGender() == self else "this") if not (self.getGender() is None) else "null")
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 5 "../EnumerationTest_4.ump"
import os
from enum import Enum, auto
class C1():
#------------------------
# ENUMERATIONS
#------------------------
class Status(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Married = auto()
Single = auto()
Divorced = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#C1 Attributes
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self, aStatus):
self._status = None
self._status = aStatus
#------------------------
# INTERFACE
#------------------------
def setStatus(self, aStatus):
wasSet = False
self._status = aStatus
wasSet = True
return wasSet
def getStatus(self):
return self._status
def delete(self):
pass
def __str__(self):
return str(super().__str__()) + "[" + "]" + str(os.linesep) + " " + "status" + "=" + (((self.getStatus().__str__().replaceAll(" ", " ")) if not self.getStatus() == self else "this") if not (self.getStatus() is None) else "null")
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 9 "../EnumerationTest_4.ump"
import os
from enum import Enum, auto
class C2():
#------------------------
# ENUMERATIONS
#------------------------
class Status(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Married = auto()
Single = auto()
Divorced = auto()
class Gender(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Male = auto()
Female = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#C2 Attributes
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self, aGender, aStatus):
self._status = None
self._gender = None
self._gender = aGender
self._status = aStatus
#------------------------
# INTERFACE
#------------------------
def setGender(self, aGender):
wasSet = False
self._gender = aGender
wasSet = True
return wasSet
def setStatus(self, aStatus):
wasSet = False
self._status = aStatus
wasSet = True
return wasSet
def getGender(self):
return self._gender
def getStatus(self):
return self._status
def delete(self):
pass
def __str__(self):
return str(super().__str__()) + "[" + "]" + str(os.linesep) + " " + "gender" + "=" + str((((self.getGender().__str__().replaceAll(" ", " ")) if not self.getGender() == self else "this") if not (self.getGender() is None) else "null")) + str(os.linesep) + " " + "status" + "=" + (((self.getStatus().__str__().replaceAll(" ", " ")) if not self.getStatus() == self else "this") if not (self.getStatus() is None) else "null")
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 6 "../EnumerationTest_5.ump"
import os
from enum import Enum, auto
class X1():
#------------------------
# ENUMERATIONS
#------------------------
class Month(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
January = auto()
February = auto()
March = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#X1 Attributes
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self, aMonth):
self._month = None
self._month = aMonth
#------------------------
# INTERFACE
#------------------------
def setMonth(self, aMonth):
wasSet = False
self._month = aMonth
wasSet = True
return wasSet
def getMonth(self):
return self._month
def delete(self):
pass
def __str__(self):
return str(super().__str__()) + "[" + "]" + str(os.linesep) + " " + "month" + "=" + (((self.getMonth().__str__().replaceAll(" ", " ")) if not self.getMonth() == self else "this") if not (self.getMonth() is None) else "null")
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 10 "../EnumerationTest_5.ump"
import os
from enum import Enum, auto
class X2():
#------------------------
# ENUMERATIONS
#------------------------
class Fruit(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Apple = auto()
Orange = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#X2 Attributes
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self, aT):
self._t = None
self._t = aT
#------------------------
# INTERFACE
#------------------------
def setT(self, aT):
wasSet = False
self._t = aT
wasSet = True
return wasSet
def getT(self):
return self._t
def delete(self):
pass
def __str__(self):
return str(super().__str__()) + "[" + "]" + str(os.linesep) + " " + "t" + "=" + (((self.getT().__str__().replaceAll(" ", " ")) if not self.getT() == self else "this") if not (self.getT() is None) else "null")
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 6 "../EnumerationTest_6.ump"
class X():
#------------------------
# MEMBER VARIABLES
#------------------------
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self):
pass
#------------------------
# INTERFACE
#------------------------
def delete(self):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 1 "../EnumerationTest_6.ump"
class X2():
#------------------------
# MEMBER VARIABLES
#------------------------
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self):
pass
#------------------------
# INTERFACE
#------------------------
def delete(self):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 5 "../EnumerationTest_7.ump"
from enum import Enum, auto
class X():
#------------------------
# ENUMERATIONS
#------------------------
class Month(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Jan = auto()
Feb = auto()
Mar = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self):
pass
#------------------------
# INTERFACE
#------------------------
def delete(self):
pass
# line 6 "../EnumerationTest_7.ump"
def displayMonth(self, m):
return(m.toString())
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 9 "../EnumerationTest_7.ump"
from enum import Enum, auto
class Y():
#------------------------
# ENUMERATIONS
#------------------------
class Month(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Jan = auto()
Feb = auto()
Mar = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#Y State Machines
class Sm(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
s1 = auto()
s2 = auto()
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self):
self._sm = None
self.setSm(Y.Sm.s1)
#------------------------
# INTERFACE
#------------------------
def getSmFullName(self):
answer = self._sm.__str__()
return answer
def getSm(self):
return self._sm
def goToS2(self, m):
wasEventProcessed = False
aSm = self._sm
if aSm == Y.Sm.s1 :
# line 12 "../EnumerationTest_7.ump"
print(m)
self.setSm(Y.Sm.s2)
wasEventProcessed = True
else :
# Other states do respond to this event
pass
return wasEventProcessed
def setSm(self, aSm):
self._sm = aSm
def delete(self):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 18 "../EnumerationTest_7.ump"
from enum import Enum, auto
class Z():
#------------------------
# ENUMERATIONS
#------------------------
class Month(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
Jan = auto()
Feb = auto()
Mar = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self):
pass
#------------------------
# INTERFACE
#------------------------
def delete(self):
pass
# line 19 "../EnumerationTest_7.ump"
def getBirthMonth(self):
return self.Month.Jan
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 7 "../EnumerationTest_8.ump"
import os
from enum import Enum, auto
class A():
#------------------------
# ENUMERATIONS
#------------------------
class Month(Enum):
def _generate_next_value_(name, start, count, last_values):
return name
def __str__(self):
return str(self.value)
O = auto()
P = auto()
Q = auto()
#------------------------
# MEMBER VARIABLES
#------------------------
#A Attributes
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self, aM, aP):
self._p = None
self._m = None
self._m = aM
self._p = aP
#------------------------
# INTERFACE
#------------------------
def setM(self, aM):
wasSet = False
self._m = aM
wasSet = True
return wasSet
def setP(self, aP):
wasSet = False
self._p = aP
wasSet = True
return wasSet
def getM(self):
return self._m
def getP(self):
return self._p
def delete(self):
pass
def __str__(self):
return str(super().__str__()) + "[" + "]" + str(os.linesep) + " " + "m" + "=" + str((((self.getM().__str__().replaceAll(" ", " ")) if not self.getM() == self else "this") if not (self.getM() is None) else "null")) + str(os.linesep) + " " + "p" + "=" + (((self.getP().__str__().replaceAll(" ", " ")) if not self.getP() == self else "this") if not (self.getP() is None) else "null")
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 7 "EnumerationTest_9.ump"
class Bar():
#------------------------
# MEMBER VARIABLES
#------------------------
#Bar Associations
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self):
self._foos = None
self._foos = []
#------------------------
# INTERFACE
#------------------------
# Code from template association_GetMany
def getFoo(self, index):
aFoo = self._foos[index]
return aFoo
def getFoos(self):
newFoos = tuple(self._foos)
return newFoos
def numberOfFoos(self):
number = len(self._foos)
return number
def hasFoos(self):
has = len(self._foos) > 0
return has
def indexOfFoo(self, aFoo):
index = (-1 if not aFoo in self._foos else self._foos.index(aFoo))
return index
# Code from template association_MinimumNumberOfMethod
@staticmethod
def minimumNumberOfFoos():
return 0
# Code from template association_AddManyToOne
def addFoo1(self, aMyBaz, aMyStr):
from Foo import Foo
return Foo(aMyBaz, aMyStr, self)
def addFoo2(self, aFoo):
wasAdded = False
if (aFoo) in self._foos :
return False
existingBar = aFoo.getBar()
isNewBar = not (existingBar is None) and not self == existingBar
if isNewBar :
aFoo.setBar(self)
else :
self._foos.append(aFoo)
wasAdded = True
return wasAdded
def removeFoo(self, aFoo):
wasRemoved = False
#Unable to remove aFoo, as it must always have a bar
if not self == aFoo.getBar() :
self._foos.remove(aFoo)
wasRemoved = True
return wasRemoved
# Code from template association_AddIndexControlFunctions
def addFooAt(self, aFoo, index):
wasAdded = False
if self.addFoo(aFoo) :
if index < 0 :
index = 0
if index > self.numberOfFoos() :
index = self.numberOfFoos() - 1
self._foos.remove(aFoo)
self._foos.insert(index, aFoo)
wasAdded = True
return wasAdded
def addOrMoveFooAt(self, aFoo, index):
wasAdded = False
if (aFoo) in self._foos :
if index < 0 :
index = 0
if index > self.numberOfFoos() :
index = self.numberOfFoos() - 1
self._foos.remove(aFoo)
self._foos.insert(index, aFoo)
wasAdded = True
else :
wasAdded = self.addFooAt(aFoo, index)
return wasAdded
def delete(self):
i = len(self._foos)
while i > 0 :
aFoo = self._foos[i - 1]
aFoo.delete()
i -= 1
def addFoo(self, *argv):
from Foo import Foo
if len(argv) == 2 and isinstance(argv[0], Foo.Baz) and isinstance(argv[1], str) :
return self.addFoo1(argv[0], argv[1])
if len(argv) == 1 and isinstance(argv[0], Foo) :
return self.addFoo2(argv[0])
raise TypeError("No method matches provided parameters")
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 3 "../EnumerationTest_innerQualified_1.ump"
class Driver():
#------------------------
# MEMBER VARIABLES
#------------------------
#Driver Associations
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self):
self._driverSchedules = None
self._driverSchedules = []
#------------------------
# INTERFACE
#------------------------
# Code from template association_GetMany
def getDriverSchedule(self, index):
aDriverSchedule = self._driverSchedules[index]
return aDriverSchedule
def getDriverSchedules(self):
newDriverSchedules = tuple(self._driverSchedules)
return newDriverSchedules
def numberOfDriverSchedules(self):
number = len(self._driverSchedules)
return number
def hasDriverSchedules(self):
has = len(self._driverSchedules) > 0
return has
def indexOfDriverSchedule(self, aDriverSchedule):
index = (-1 if not aDriverSchedule in self._driverSchedules else self._driverSchedules.index(aDriverSchedule))
return index
# Code from template association_MinimumNumberOfMethod
@staticmethod
def minimumNumberOfDriverSchedules():
return 0
# Code from template association_AddManyToOne
def addDriverSchedule1(self, aShift, aStatus):
from enumerations.DriverSchedule import DriverSchedule
return DriverSchedule(aShift, aStatus, self)
def addDriverSchedule2(self, aDriverSchedule):
wasAdded = False
if (aDriverSchedule) in self._driverSchedules :
return False
existingDriver = aDriverSchedule.getDriver()
isNewDriver = not (existingDriver is None) and not self == existingDriver
if isNewDriver :
aDriverSchedule.setDriver(self)
else :
self._driverSchedules.append(aDriverSchedule)
wasAdded = True
return wasAdded
def removeDriverSchedule(self, aDriverSchedule):
wasRemoved = False
#Unable to remove aDriverSchedule, as it must always have a driver
if not self == aDriverSchedule.getDriver() :
self._driverSchedules.remove(aDriverSchedule)
wasRemoved = True
return wasRemoved
# Code from template association_AddIndexControlFunctions
def addDriverScheduleAt(self, aDriverSchedule, index):
wasAdded = False
if self.addDriverSchedule(aDriverSchedule) :
if index < 0 :
index = 0
if index > self.numberOfDriverSchedules() :
index = self.numberOfDriverSchedules() - 1
self._driverSchedules.remove(aDriverSchedule)
self._driverSchedules.insert(index, aDriverSchedule)
wasAdded = True
return wasAdded
def addOrMoveDriverScheduleAt(self, aDriverSchedule, index):
wasAdded = False
if (aDriverSchedule) in self._driverSchedules :
if index < 0 :
index = 0
if index > self.numberOfDriverSchedules() :
index = self.numberOfDriverSchedules() - 1
self._driverSchedules.remove(aDriverSchedule)
self._driverSchedules.insert(index, aDriverSchedule)
wasAdded = True
else :
wasAdded = self.addDriverScheduleAt(aDriverSchedule, index)
return wasAdded
def delete(self):
i = len(self._driverSchedules)
while i > 0 :
aDriverSchedule = self._driverSchedules[i - 1]
aDriverSchedule.delete()
i -= 1
def addDriverSchedule(self, *argv):
from enumerations.DriverSchedule import DriverSchedule
if len(argv) == 2 and isinstance(argv[0], DriverSchedule.Shift) and isinstance(argv[1], DriverSchedule.Status) :
return self.addDriverSchedule1(argv[0], argv[1])
if len(argv) == 1 and isinstance(argv[0], DriverSchedule) :
return self.addDriverSchedule2(argv[0])
raise TypeError("No method matches provided parameters")