/** * Adds the parent. * * @param linkedEntity the linked entity * @return the linked entity * @throws RuntimeException the runtime exception */ protected LinkedEntity addParent(LinkedEntity linkedEntity) throws RuntimeException { if (!getParentClassList().contains(linkedEntity.getClass())) { String msg = ""; if (!getParentClassList().isEmpty()) { msg = getParentClassList() + " wird als Parameter erwartet."; } throw new RuntimeException( getClass().getSimpleName() + "(" + getName() + ").addParent(" + linkedEntity.getClass().getSimpleName() + "(" + linkedEntity.getName() + ")) nicht moeglich. " + msg); } if (parentList.containsKey(linkedEntity.getId())) { throw new RuntimeException( getClass().getSimpleName() + "(" + getName() + ").addParent(" + linkedEntity.getClass().getSimpleName() + "(" + linkedEntity.getName() + ")) nicht moeglich. Id bereits vorhanden."); } else { Integer maxParentListSize = getMaxParentListSize(); if (parentList.size() < maxParentListSize) { this.parentList.put(linkedEntity.getId(), linkedEntity); modifiedDate = new Date(); } else { throw new RuntimeException( getClass().getSimpleName() + "(" + getName() + ").addParent(" + linkedEntity.getClass().getSimpleName() + "(" + linkedEntity.getName() + ")) nicht moeglich. Parentlist.size=" + parentList.size() + ", maxParentListSize=" + maxParentListSize); } } return this; }
/** * Adds the child. * * @param entity the entity * @return the linked entity * @throws RuntimeException the runtime exception */ public LinkedEntity addChild(LinkedEntity entity) throws RuntimeException { if (!getChildClassList().contains(entity.getClass())) { throw new RuntimeException( getClass().getSimpleName() + "(" + getName() + ").addChild(" + entity.getClass().getSimpleName() + "(" + entity.getName() + ")) nicht moeglich. " + getChildClassList() + " wird als Parameter erwartet."); } if (childList.containsKey(entity.getId())) { throw new RuntimeException( getClass().getSimpleName() + "(" + getName() + ").addChild(" + entity.getClass().getSimpleName() + "(" + entity.getName() + ")) nicht moeglich. Id bereits vorhanden."); } else { Integer maxChildListSize = this.getMaxChildListSize(entity.getClass()); if (getChildListForClass(entity.getClass()).size() < maxChildListSize) { this.childList.put(entity.getId(), entity); entity.addParent(this); modifiedDate = new Date(); } else { throw new RuntimeException( getClass().getSimpleName() + "(" + getName() + ").addChild(" + entity.getClass().getSimpleName() + "(" + entity.getName() + ")) nicht moeglich. Childlist.size=" + childList.size() + ", maxChildListSize=" + maxChildListSize); } } return this; }