#PLEASE DO NOT EDIT THIS CODE
#This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!
# line 3 "../ManyToManySubclassTest.ump"
class Analyzer():
#------------------------
# MEMBER VARIABLES
#------------------------
#Analyzer Associations
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self):
self._parent = None
self._children = None
self._children = []
self._parent = []
#------------------------
# INTERFACE
#------------------------
# Code from template association_GetMany
def getChild(self, index):
aChild = self._children[index]
return aChild
def getChildren(self):
newChildren = tuple(self._children)
return newChildren
def numberOfChildren(self):
number = len(self._children)
return number
def hasChildren(self):
has = len(self._children) > 0
return has
def indexOfChild(self, aChild):
index = (-1 if not aChild in self._children else self._children.index(aChild))
return index
# Code from template association_GetMany
def getParent1(self, index):
aParent = self._parent[index]
return aParent
def getParent2(self):
newParent = tuple(self._parent)
return newParent
def numberOfParent(self):
number = len(self._parent)
return number
def hasParent(self):
has = len(self._parent) > 0
return has
def indexOfParent(self, aParent):
index = (-1 if not aParent in self._parent else self._parent.index(aParent))
return index
# Code from template association_MinimumNumberOfMethod
@staticmethod
def minimumNumberOfChildren():
return 0
# Code from template association_AddManyToManyMethod
def addChild(self, aChild):
wasAdded = False
if (aChild) in self._children :
return False
self._children.append(aChild)
if aChild.indexOfParent(self) != -1 :
wasAdded = True
else :
wasAdded = aChild.addParent(self)
if not wasAdded :
self._children.remove(aChild)
return wasAdded
# Code from template association_RemoveMany
def removeChild(self, aChild):
wasRemoved = False
if not (aChild) in self._children :
return wasRemoved
oldIndex = (-1 if not aChild in self._children else self._children.index(aChild))
self._children.remove(oldIndex)
if aChild.indexOfParent(self) == -1 :
wasRemoved = True
else :
wasRemoved = aChild.removeParent(self)
if not wasRemoved :
self._children.insert(oldIndex, aChild)
return wasRemoved
# Code from template association_AddIndexControlFunctions
def addChildAt(self, aChild, index):
wasAdded = False
if self.addChild(aChild) :
if index < 0 :
index = 0
if index > self.numberOfChildren() :
index = self.numberOfChildren() - 1
self._children.remove(aChild)
self._children.insert(index, aChild)
wasAdded = True
return wasAdded
def addOrMoveChildAt(self, aChild, index):
wasAdded = False
if (aChild) in self._children :
if index < 0 :
index = 0
if index > self.numberOfChildren() :
index = self.numberOfChildren() - 1
self._children.remove(aChild)
self._children.insert(index, aChild)
wasAdded = True
else :
wasAdded = self.addChildAt(aChild, index)
return wasAdded
# Code from template association_MinimumNumberOfMethod
@staticmethod
def minimumNumberOfParent():
return 0
# Code from template association_AddManyToManyMethod
def addParent(self, aParent):
wasAdded = False
if (aParent) in self._parent :
return False
self._parent.append(aParent)
if aParent.indexOfChild(self) != -1 :
wasAdded = True
else :
wasAdded = aParent.addChild(self)
if not wasAdded :
self._parent.remove(aParent)
return wasAdded
# Code from template association_RemoveMany
def removeParent(self, aParent):
wasRemoved = False
if not (aParent) in self._parent :
return wasRemoved
oldIndex = (-1 if not aParent in self._parent else self._parent.index(aParent))
self._parent.remove(oldIndex)
if aParent.indexOfChild(self) == -1 :
wasRemoved = True
else :
wasRemoved = aParent.removeChild(self)
if not wasRemoved :
self._parent.insert(oldIndex, aParent)
return wasRemoved
# Code from template association_AddIndexControlFunctions
def addParentAt(self, aParent, index):
wasAdded = False
if self.addParent(aParent) :
if index < 0 :
index = 0
if index > self.numberOfParent() :
index = self.numberOfParent() - 1
self._parent.remove(aParent)
self._parent.insert(index, aParent)
wasAdded = True
return wasAdded
def addOrMoveParentAt(self, aParent, index):
wasAdded = False
if (aParent) in self._parent :
if index < 0 :
index = 0
if index > self.numberOfParent() :
index = self.numberOfParent() - 1
self._parent.remove(aParent)
self._parent.insert(index, aParent)
wasAdded = True
else :
wasAdded = self.addParentAt(aParent, index)
return wasAdded
def delete(self):
copyOfChildren = self._children.copy()
self._children.clear()
for aChild in copyOfChildren:
aChild.removeParent(self)
copyOfParent = self._parent.copy()
self._parent.clear()
for aParent in copyOfParent:
aParent.removeChild(self)
def getParent(self, *argv):
if len(argv) == 1 and isinstance(argv[0], int) :
return self.getParent1(argv[0])
if len(argv) == 0 :
return self.getParent2()
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 5 "../ManyToManySubclassTest2.ump"
class Analyzer():
#------------------------
# MEMBER VARIABLES
#------------------------
#Analyzer Associations
#------------------------
# CONSTRUCTOR
#------------------------
def __init__(self):
self._offspring = None
self._offspring = []
#------------------------
# INTERFACE
#------------------------
# Code from template association_GetMany
def getOffspring1(self, index):
aOffspring = self._offspring[index]
return aOffspring
def getOffspring2(self):
newOffspring = tuple(self._offspring)
return newOffspring
def numberOfOffspring(self):
number = len(self._offspring)
return number
def hasOffspring(self):
has = len(self._offspring) > 0
return has
def indexOfOffspring(self, aOffspring):
index = (-1 if not aOffspring in self._offspring else self._offspring.index(aOffspring))
return index
# Code from template association_MinimumNumberOfMethod
@staticmethod
def minimumNumberOfOffspring():
return 0
# Code from template association_AddManyToManyMethod
def addOffspring(self, aOffspring):
wasAdded = False
if (aOffspring) in self._offspring :
return False
self._offspring.append(aOffspring)
if aOffspring.indexOfParent(self) != -1 :
wasAdded = True
else :
wasAdded = aOffspring.addParent(self)
if not wasAdded :
self._offspring.remove(aOffspring)
return wasAdded
# Code from template association_RemoveMany
def removeOffspring(self, aOffspring):
wasRemoved = False
if not (aOffspring) in self._offspring :
return wasRemoved
oldIndex = (-1 if not aOffspring in self._offspring else self._offspring.index(aOffspring))
self._offspring.remove(oldIndex)
if aOffspring.indexOfParent(self) == -1 :
wasRemoved = True
else :
wasRemoved = aOffspring.removeParent(self)
if not wasRemoved :
self._offspring.insert(oldIndex, aOffspring)
return wasRemoved
# Code from template association_AddIndexControlFunctions
def addOffspringAt(self, aOffspring, index):
wasAdded = False
if self.addOffspring(aOffspring) :
if index < 0 :
index = 0
if index > self.numberOfOffspring() :
index = self.numberOfOffspring() - 1
self._offspring.remove(aOffspring)
self._offspring.insert(index, aOffspring)
wasAdded = True
return wasAdded
def addOrMoveOffspringAt(self, aOffspring, index):
wasAdded = False
if (aOffspring) in self._offspring :
if index < 0 :
index = 0
if index > self.numberOfOffspring() :
index = self.numberOfOffspring() - 1
self._offspring.remove(aOffspring)
self._offspring.insert(index, aOffspring)
wasAdded = True
else :
wasAdded = self.addOffspringAt(aOffspring, index)
return wasAdded
def delete(self):
copyOfOffspring = self._offspring.copy()
self._offspring.clear()
for aOffspring in copyOfOffspring:
aOffspring.removeParent(self)
def getOffspring(self, *argv):
if len(argv) == 1 and isinstance(argv[0], int) :
return self.getOffspring1(argv[0])
if len(argv) == 0 :
return self.getOffspring2()
raise TypeError("No method matches provided parameters")