/** * delete child object from in the tree. In case of knowlegebase tree, rule, fact, sqlclauseset * and query can be deleted In case of repository tree, predicate, fact, rule, datasource, * function, sqlfunction and can be deleted * * @param child * @param kbp */ public void removeChild(TreeObject child, KnowledgeBasePlus kbp) { children.remove(child); child.setParent(null); if (KBHashMapMgr.getManager().getRuleInitial()) { if (child.getUserObject() instanceof Rule) kbp.kb.remove((Rule) child.getUserObject()); else if (child.getUserObject() instanceof Fact) kbp.kb.remove((Fact) child.getUserObject()); else if (child.getUserObject() instanceof SQLClauseSet) kbp.kb.remove((SQLClauseSet) child.getUserObject()); else if (child.getUserObject() instanceof Query) kbp.kb.removeQuery((Query) child.getUserObject()); } if (KBHashMapMgr.getManager().getRepInitial()) { if (child.getUserObject() instanceof Predicate) kbp.repository.remove((Predicate) child.getUserObject()); else if (child.getUserObject() instanceof Fact) kbp.repository.remove((Fact) child.getUserObject()); else if (child.getUserObject() instanceof Rule) kbp.repository.remove((Rule) child.getUserObject()); else if (child.getUserObject() instanceof DefaultDataSource) kbp.repository.remove((DataSource) child.getUserObject()); else if (child.getUserObject() instanceof Function) kbp.repository.remove((Function) child.getUserObject()); else if (child.getUserObject() instanceof SQLFunction) kbp.repository.remove((SQLFunction) child.getUserObject()); else if (child.getUserObject() instanceof SQLPredicate) kbp.repository.remove((SQLPredicate) child.getUserObject()); } child.addListener(NullDeltaListener.getSoleInstance()); fireRemove(child); }
public void removeListener(IDeltaListener listener) { if (this.listener.equals(listener)) { this.listener = NullDeltaListener.getSoleInstance(); } }
public abstract class Model { // protected MovingBox parent; protected TreeNode parent; protected String name; protected String authorGivenName, authorSirName; protected IDeltaListener listener = NullDeltaListener.getSoleInstance(); // Variables used as parameters for ArchE DesignView to load design elements from arche database protected int factid; protected TreeElementTypeVO tretVO; protected void fireAdd(Object added) { listener.add(new DeltaEvent(added)); } protected void fireRemove(Object removed) { listener.remove(new DeltaEvent(removed)); } public void setName(String name) { this.name = name; } public TreeNode getParent() { return parent; } /* The receiver should visit the toVisit object and * pass along the argument. */ public abstract void accept(IModelVisitor visitor, Object passAlongArgument); public String getName() { return name; } public void addListener(IDeltaListener listener) { this.listener = listener; } public Model(String title, String authorGivenName, String authorSirName) { this.name = title; this.authorGivenName = authorGivenName; this.authorSirName = authorSirName; } public Model() {} public void removeListener(IDeltaListener listener) { if (this.listener.equals(listener)) { this.listener = NullDeltaListener.getSoleInstance(); } } public String authorGivenName() { return authorGivenName; } public String authorSirName() { return authorSirName; } public String getTitle() { return name; } public int getFactID() { return factid; } public void setFactID(int factid) { this.factid = factid; } public TreeElementTypeVO getTreeElementType() { return tretVO; } public void setTreeElementType(TreeElementTypeVO tretVO) { this.tretVO = tretVO; } }