/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package de.cismet.tools.gui.slideabletree; import javax.swing.event.TreeModelEvent; import javax.swing.event.TreeModelListener; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; /** * DOCUMENT ME! * * @author dmeiers * @version $Revision$, $Date$ */ public class DelegatingModel implements TreeModel { //~ Instance fields -------------------------------------------------------- private Object root; private TreeModel model; //~ Constructors ----------------------------------------------------------- /** * Creates a new DelegatingModel object. * * @param newRoot the root node for the model * @param originalModel the model to wich all request will be delegate */ public DelegatingModel(final Object newRoot, final TreeModel originalModel) { root = newRoot; model = originalModel; } //~ Methods ---------------------------------------------------------------- @Override public void addTreeModelListener(final TreeModelListener l) { model.addTreeModelListener(l); } @Override public Object getChild(final Object parent, final int index) { return model.getChild(parent, index); } @Override public int getChildCount(final Object parent) { return model.getChildCount(parent); } @Override public int getIndexOfChild(final Object parent, final Object child) { return model.getIndexOfChild(parent, child); } @Override public Object getRoot() { return root; } @Override public boolean isLeaf(final Object node) { return model.isLeaf(node); } @Override public void removeTreeModelListener(final TreeModelListener l) { model.removeTreeModelListener(l); } @Override public void valueForPathChanged(final TreePath path, final Object newValue) { model.valueForPathChanged(path, newValue); } }