/*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!*/ package example; import java.util.*; // line 3 "../ManyToManySubclassTest.ump" public class Analyzer { //------------------------ // MEMBER VARIABLES //------------------------ //Analyzer Associations private List<Analyzer> children; private List<Analyzer> parent; //------------------------ // CONSTRUCTOR //------------------------ public Analyzer() { children = new ArrayList<Analyzer>(); parent = new ArrayList<Analyzer>(); } //------------------------ // INTERFACE //------------------------ /* Code from template association_GetMany */ public Analyzer getChild(int index) { Analyzer aChild = children.get(index); return aChild; } public List<Analyzer> getChildren() { List<Analyzer> newChildren = Collections.unmodifiableList(children); return newChildren; } public int numberOfChildren() { int number = children.size(); return number; } public boolean hasChildren() { boolean has = children.size() > 0; return has; } public int indexOfChild(Analyzer aChild) { int index = children.indexOf(aChild); return index; } /* Code from template association_GetMany */ public Analyzer getParent(int index) { Analyzer aParent = parent.get(index); return aParent; } public List<Analyzer> getParent() { List<Analyzer> newParent = Collections.unmodifiableList(parent); return newParent; } public int numberOfParent() { int number = parent.size(); return number; } public boolean hasParent() { boolean has = parent.size() > 0; return has; } public int indexOfParent(Analyzer aParent) { int index = parent.indexOf(aParent); return index; } /* Code from template association_MinimumNumberOfMethod */ public static int minimumNumberOfChildren() { return 0; } /* Code from template association_AddManyToManyMethod */ public boolean addChild(Analyzer aChild) { boolean wasAdded = false; if (children.contains(aChild)) { return false; } children.add(aChild); if (aChild.indexOfParent(this) != -1) { wasAdded = true; } else { wasAdded = aChild.addParent(this); if (!wasAdded) { children.remove(aChild); } } return wasAdded; } /* Code from template association_RemoveMany */ public boolean removeChild(Analyzer aChild) { boolean wasRemoved = false; if (!children.contains(aChild)) { return wasRemoved; } int oldIndex = children.indexOf(aChild); children.remove(oldIndex); if (aChild.indexOfParent(this) == -1) { wasRemoved = true; } else { wasRemoved = aChild.removeParent(this); if (!wasRemoved) { children.add(oldIndex,aChild); } } return wasRemoved; } /* Code from template association_AddIndexControlFunctions */ public boolean addChildAt(Analyzer aChild, int index) { boolean wasAdded = false; if(addChild(aChild)) { if(index < 0 ) { index = 0; } if(index > numberOfChildren()) { index = numberOfChildren() - 1; } children.remove(aChild); children.add(index, aChild); wasAdded = true; } return wasAdded; } public boolean addOrMoveChildAt(Analyzer aChild, int index) { boolean wasAdded = false; if(children.contains(aChild)) { if(index < 0 ) { index = 0; } if(index > numberOfChildren()) { index = numberOfChildren() - 1; } children.remove(aChild); children.add(index, aChild); wasAdded = true; } else { wasAdded = addChildAt(aChild, index); } return wasAdded; } /* Code from template association_MinimumNumberOfMethod */ public static int minimumNumberOfParent() { return 0; } /* Code from template association_AddManyToManyMethod */ public boolean addParent(Analyzer aParent) { boolean wasAdded = false; if (parent.contains(aParent)) { return false; } parent.add(aParent); if (aParent.indexOfChild(this) != -1) { wasAdded = true; } else { wasAdded = aParent.addChild(this); if (!wasAdded) { parent.remove(aParent); } } return wasAdded; } /* Code from template association_RemoveMany */ public boolean removeParent(Analyzer aParent) { boolean wasRemoved = false; if (!parent.contains(aParent)) { return wasRemoved; } int oldIndex = parent.indexOf(aParent); parent.remove(oldIndex); if (aParent.indexOfChild(this) == -1) { wasRemoved = true; } else { wasRemoved = aParent.removeChild(this); if (!wasRemoved) { parent.add(oldIndex,aParent); } } return wasRemoved; } /* Code from template association_AddIndexControlFunctions */ public boolean addParentAt(Analyzer aParent, int index) { boolean wasAdded = false; if(addParent(aParent)) { if(index < 0 ) { index = 0; } if(index > numberOfParent()) { index = numberOfParent() - 1; } parent.remove(aParent); parent.add(index, aParent); wasAdded = true; } return wasAdded; } public boolean addOrMoveParentAt(Analyzer aParent, int index) { boolean wasAdded = false; if(parent.contains(aParent)) { if(index < 0 ) { index = 0; } if(index > numberOfParent()) { index = numberOfParent() - 1; } parent.remove(aParent); parent.add(index, aParent); wasAdded = true; } else { wasAdded = addParentAt(aParent, index); } return wasAdded; } public void delete() { ArrayList<Analyzer> copyOfChildren = new ArrayList<Analyzer>(children); children.clear(); for(Analyzer aChild : copyOfChildren) { aChild.removeParent(this); } ArrayList<Analyzer> copyOfParent = new ArrayList<Analyzer>(parent); parent.clear(); for(Analyzer aParent : copyOfParent) { aParent.removeChild(this); } } } /*PLEASE DO NOT EDIT THIS CODE*/ /*This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language!*/ package example; import java.util.*; // line 5 "../ManyToManySubclassTest2.ump" public class Analyzer { //------------------------ // MEMBER VARIABLES //------------------------ //Analyzer Associations private List<X> offspring; //------------------------ // CONSTRUCTOR //------------------------ public Analyzer() { offspring = new ArrayList<X>(); } //------------------------ // INTERFACE //------------------------ /* Code from template association_GetMany */ public X getOffspring(int index) { X aOffspring = offspring.get(index); return aOffspring; } public List<X> getOffspring() { List<X> newOffspring = Collections.unmodifiableList(offspring); return newOffspring; } public int numberOfOffspring() { int number = offspring.size(); return number; } public boolean hasOffspring() { boolean has = offspring.size() > 0; return has; } public int indexOfOffspring(X aOffspring) { int index = offspring.indexOf(aOffspring); return index; } /* Code from template association_MinimumNumberOfMethod */ public static int minimumNumberOfOffspring() { return 0; } /* Code from template association_AddManyToManyMethod */ public boolean addOffspring(X aOffspring) { boolean wasAdded = false; if (offspring.contains(aOffspring)) { return false; } offspring.add(aOffspring); if (aOffspring.indexOfParent(this) != -1) { wasAdded = true; } else { wasAdded = aOffspring.addParent(this); if (!wasAdded) { offspring.remove(aOffspring); } } return wasAdded; } /* Code from template association_RemoveMany */ public boolean removeOffspring(X aOffspring) { boolean wasRemoved = false; if (!offspring.contains(aOffspring)) { return wasRemoved; } int oldIndex = offspring.indexOf(aOffspring); offspring.remove(oldIndex); if (aOffspring.indexOfParent(this) == -1) { wasRemoved = true; } else { wasRemoved = aOffspring.removeParent(this); if (!wasRemoved) { offspring.add(oldIndex,aOffspring); } } return wasRemoved; } /* Code from template association_AddIndexControlFunctions */ public boolean addOffspringAt(X aOffspring, int index) { boolean wasAdded = false; if(addOffspring(aOffspring)) { if(index < 0 ) { index = 0; } if(index > numberOfOffspring()) { index = numberOfOffspring() - 1; } offspring.remove(aOffspring); offspring.add(index, aOffspring); wasAdded = true; } return wasAdded; } public boolean addOrMoveOffspringAt(X aOffspring, int index) { boolean wasAdded = false; if(offspring.contains(aOffspring)) { if(index < 0 ) { index = 0; } if(index > numberOfOffspring()) { index = numberOfOffspring() - 1; } offspring.remove(aOffspring); offspring.add(index, aOffspring); wasAdded = true; } else { wasAdded = addOffspringAt(aOffspring, index); } return wasAdded; } public void delete() { ArrayList<X> copyOfOffspring = new ArrayList<X>(offspring); offspring.clear(); for(X aOffspring : copyOfOffspring) { aOffspring.removeParent(this); } } }