#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
class MySubordinate:
def __init__(self, aNumber, aMyDriver):
self._number = aNumber
self._myDriver = None
if not self.setMyDriver(aMyDriver):
raise RuntimeError("Unable to create mySubordinate due to myDriver. See https://manual.umple.org?RE002ViolationofAssociationMultiplicity.html")
def setNumber(self, aNumber):
self._number = aNumber
return True
def getNumber(self):
return self._number
def getMyDriver(self):
return self._myDriver
def setMyDriver(self, aNewMyDriver):
if aNewMyDriver is None:
return False
existingMySubordinate = aNewMyDriver.getMySubordinate()
if existingMySubordinate is not None and existingMySubordinate is not self:
return False
anOldMyDriver = self._myDriver
self._myDriver = aNewMyDriver
self._myDriver.setMySubordinate(self)
if anOldMyDriver is not None:
anOldMyDriver.setMySubordinate(None)
return True
def delete(self):
existingMyDriver = self._myDriver
self._myDriver = None
if existingMyDriver is not None:
existingMyDriver.setMySubordinate(None)
def __str__(self):
return (super().__str__() + "["
+ "number:" + str(self.getNumber())
+ "]"
+ "\n myDriver = " + ("null" if self.getMyDriver() is None else format(id(self.getMyDriver()), "x")))
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
class MyDriver:
def __init__(self, aName):
self._name = aName
self._mySubordinate = None
def setName(self, aName):
self._name = aName
return True
def getName(self):
return self._name
def getMySubordinate(self):
return self._mySubordinate
def hasMySubordinate(self):
return self._mySubordinate is not None
def setMySubordinate(self, aNewMySubordinate):
if self._mySubordinate is not None and self._mySubordinate is not aNewMySubordinate and self._mySubordinate.getMyDriver() is self:
return False
self._mySubordinate = aNewMySubordinate
anOldMyDriver = aNewMySubordinate.getMyDriver() if aNewMySubordinate is not None else None
if anOldMyDriver is not self:
if anOldMyDriver is not None:
anOldMyDriver._mySubordinate = None
if self._mySubordinate is not None:
self._mySubordinate.setMyDriver(self)
return True
def delete(self):
existingMySubordinate = self._mySubordinate
self._mySubordinate = None
if existingMySubordinate is not None:
existingMySubordinate.delete()
def __str__(self):
return (super().__str__() + "["
+ "name:" + str(self.getName())
+ "]"
+ "\n mySubordinate = " + ("null" if self.getMySubordinate() is None else format(id(self.getMySubordinate()), "x")))