package com.noticeditorteam.noticeditor.model; public class NoticeTree { private final NoticeTreeItem root; public NoticeTree() { root = null; } /** * Create NoticeTree with set root * * @param root set root */ public NoticeTree(NoticeTreeItem root) { this.root = root; } public NoticeTreeItem getRoot() { return root; } /** * @param item to add * @param parent if null, item will be added to root item. */ public void addItem(NoticeTreeItem item, NoticeTreeItem parent) { if (parent == null) { parent = root; } else if (parent.isLeaf()) { parent = (NoticeTreeItem) parent.getParent(); } parent.getInternalChildren().add(item); parent.setExpanded(true); } public void removeItem(NoticeTreeItem item) { if (item == null) return; NoticeTreeItem parent = (NoticeTreeItem) item.getParent(); if (parent == null) return; parent.getInternalChildren().remove(item); } }