#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
class A:
def __init__(self):
pass
def delete(self):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
class B:
def __init__(self):
pass
def delete(self):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
class C:
def __init__(self):
pass
def delete(self):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
from abc import ABC
class I(ABC):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
from J import J
class X(J):
def __init__(self):
self._ies = []
def getY(self, index):
return self._ies[index]
def getIes(self):
return tuple(self._ies)
def numberOfIes(self):
return len(self._ies)
def hasIes(self):
return len(self._ies) > 0
def indexOfY(self, aY):
return next((i for i, x in enumerate(self._ies) if x is aY), -1)
@staticmethod
def minimumNumberOfIes():
return 0
def addY(self, aY):
if any(x is aY for x in self._ies):
return False
self._ies.append(aY)
if aY.indexOfX(self) == -1 and not aY.addX(self):
del self._ies[next((i for i, x in enumerate(self._ies) if x is aY), -1)]
return False
return True
def removeY(self, aY):
oldIndex = next((i for i, x in enumerate(self._ies) if x is aY), -1)
if oldIndex == -1:
return False
del self._ies[oldIndex]
if aY.indexOfX(self) != -1 and not aY.removeX(self):
self._ies.insert(oldIndex, aY)
return False
return True
def addYAt(self, aY, index):
if not self.addY(aY):
return False
if index < 0:
index = 0
if index > self.numberOfIes():
index = self.numberOfIes() - 1
del self._ies[next((i for i, x in enumerate(self._ies) if x is aY), -1)]
self._ies.insert(index, aY)
return True
def addOrMoveYAt(self, aY, index):
if not any(x is aY for x in self._ies):
return self.addYAt(aY, index)
if index < 0:
index = 0
if index > self.numberOfIes():
index = self.numberOfIes() - 1
del self._ies[next((i for i, x in enumerate(self._ies) if x is aY), -1)]
self._ies.insert(index, aY)
return True
def delete(self):
copyOfIes = tuple(self._ies)
self._ies.clear()
for aY in copyOfIes:
aY.removeX(self)
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
class Y:
def __init__(self):
self._xs = []
def getX(self, index):
return self._xs[index]
def getXs(self):
return tuple(self._xs)
def numberOfXs(self):
return len(self._xs)
def hasXs(self):
return len(self._xs) > 0
def indexOfX(self, aX):
return next((i for i, x in enumerate(self._xs) if x is aX), -1)
@staticmethod
def minimumNumberOfXs():
return 0
def addX(self, aX):
if any(x is aX for x in self._xs):
return False
self._xs.append(aX)
if aX.indexOfY(self) == -1 and not aX.addY(self):
del self._xs[next((i for i, x in enumerate(self._xs) if x is aX), -1)]
return False
return True
def removeX(self, aX):
oldIndex = next((i for i, x in enumerate(self._xs) if x is aX), -1)
if oldIndex == -1:
return False
del self._xs[oldIndex]
if aX.indexOfY(self) != -1 and not aX.removeY(self):
self._xs.insert(oldIndex, aX)
return False
return True
def addXAt(self, aX, index):
if not self.addX(aX):
return False
if index < 0:
index = 0
if index > self.numberOfXs():
index = self.numberOfXs() - 1
del self._xs[next((i for i, x in enumerate(self._xs) if x is aX), -1)]
self._xs.insert(index, aX)
return True
def addOrMoveXAt(self, aX, index):
if not any(x is aX for x in self._xs):
return self.addXAt(aX, index)
if index < 0:
index = 0
if index > self.numberOfXs():
index = self.numberOfXs() - 1
del self._xs[next((i for i, x in enumerate(self._xs) if x is aX), -1)]
self._xs.insert(index, aX)
return True
def delete(self):
copyOfXs = tuple(self._xs)
self._xs.clear()
for aX in copyOfXs:
aX.removeY(self)
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
from abc import ABC
class I(ABC):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
from I import I
class J(I):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
class A:
def __init__(self):
pass
def delete(self):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
class B:
def __init__(self, aX):
self._x = aX
def setX(self, aX):
self._x = aX
return True
def getX(self):
return self._x
def delete(self):
pass
def __str__(self):
return (super().__str__() + "["
+ "x:" + str(self.getX())
+ "]")
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
from abc import ABC
class I(ABC):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
from m.J import J
class X(J):
def __init__(self):
self._ies = []
def getY(self, index):
return self._ies[index]
def getIes(self):
return tuple(self._ies)
def numberOfIes(self):
return len(self._ies)
def hasIes(self):
return len(self._ies) > 0
def indexOfY(self, aY):
return next((i for i, x in enumerate(self._ies) if x is aY), -1)
@staticmethod
def minimumNumberOfIes():
return 0
def addY(self, aY):
if any(x is aY for x in self._ies):
return False
self._ies.append(aY)
if aY.indexOfX(self) == -1 and not aY.addX(self):
del self._ies[next((i for i, x in enumerate(self._ies) if x is aY), -1)]
return False
return True
def removeY(self, aY):
oldIndex = next((i for i, x in enumerate(self._ies) if x is aY), -1)
if oldIndex == -1:
return False
del self._ies[oldIndex]
if aY.indexOfX(self) != -1 and not aY.removeX(self):
self._ies.insert(oldIndex, aY)
return False
return True
def addYAt(self, aY, index):
if not self.addY(aY):
return False
if index < 0:
index = 0
if index > self.numberOfIes():
index = self.numberOfIes() - 1
del self._ies[next((i for i, x in enumerate(self._ies) if x is aY), -1)]
self._ies.insert(index, aY)
return True
def addOrMoveYAt(self, aY, index):
if not any(x is aY for x in self._ies):
return self.addYAt(aY, index)
if index < 0:
index = 0
if index > self.numberOfIes():
index = self.numberOfIes() - 1
del self._ies[next((i for i, x in enumerate(self._ies) if x is aY), -1)]
self._ies.insert(index, aY)
return True
def delete(self):
copyOfIes = tuple(self._ies)
self._ies.clear()
for aY in copyOfIes:
aY.removeX(self)
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
class Y:
def __init__(self):
self._xs = []
def getX(self, index):
return self._xs[index]
def getXs(self):
return tuple(self._xs)
def numberOfXs(self):
return len(self._xs)
def hasXs(self):
return len(self._xs) > 0
def indexOfX(self, aX):
return next((i for i, x in enumerate(self._xs) if x is aX), -1)
@staticmethod
def minimumNumberOfXs():
return 0
def addX(self, aX):
if any(x is aX for x in self._xs):
return False
self._xs.append(aX)
if aX.indexOfY(self) == -1 and not aX.addY(self):
del self._xs[next((i for i, x in enumerate(self._xs) if x is aX), -1)]
return False
return True
def removeX(self, aX):
oldIndex = next((i for i, x in enumerate(self._xs) if x is aX), -1)
if oldIndex == -1:
return False
del self._xs[oldIndex]
if aX.indexOfY(self) != -1 and not aX.removeY(self):
self._xs.insert(oldIndex, aX)
return False
return True
def addXAt(self, aX, index):
if not self.addX(aX):
return False
if index < 0:
index = 0
if index > self.numberOfXs():
index = self.numberOfXs() - 1
del self._xs[next((i for i, x in enumerate(self._xs) if x is aX), -1)]
self._xs.insert(index, aX)
return True
def addOrMoveXAt(self, aX, index):
if not any(x is aX for x in self._xs):
return self.addXAt(aX, index)
if index < 0:
index = 0
if index > self.numberOfXs():
index = self.numberOfXs() - 1
del self._xs[next((i for i, x in enumerate(self._xs) if x is aX), -1)]
self._xs.insert(index, aX)
return True
def delete(self):
copyOfXs = tuple(self._xs)
self._xs.clear()
for aX in copyOfXs:
aX.removeY(self)
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
from abc import ABC
class I(ABC):
pass
#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.38.0.8942.247e17422 modeling language!
from m.I import I
class J(I):
pass