Class FilterTreeModel

java.lang.Object
org.nuiton.jaxx.widgets.extra.tree.FilterTreeModel
All Implemented Interfaces:
javax.swing.tree.TreeModel

public class FilterTreeModel
extends java.lang.Object
implements javax.swing.tree.TreeModel
Filter tree model. Take a delegate TreeModel filter it with TreeFilter.
Author:
chatellier Based on : http://forums.sun.com/thread.jspa?forumID=57&threadID=5378510
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected javax.swing.tree.TreeModel delegateModel
    Real application TreeModel.
    protected TreeFilter treeFilter
    Filter to use (can be null : no filtering).
    protected java.util.Collection<javax.swing.event.TreeModelListener> treeModelListeners
    Listener for data and structure change notification.
  • Constructor Summary

    Constructors
    Constructor Description
    FilterTreeModel​(javax.swing.tree.TreeModel delegateModel)
    Constructor with delegate model.
    FilterTreeModel​(javax.swing.tree.TreeModel delegateModel, TreeFilter filter)
    Constructor with delegate model.
  • Method Summary

    Modifier and Type Method Description
    void addTreeModelListener​(javax.swing.event.TreeModelListener l)  
    protected void fireTreeStructureChanged​(javax.swing.tree.TreePath path)
    Send a treeStructureChanged event on all registred listeners.
    java.lang.Object getChild​(java.lang.Object parent, int index)  
    int getChildCount​(java.lang.Object parent)  
    int getIndexOfChild​(java.lang.Object parent, java.lang.Object child)  
    java.lang.Object getRoot()  
    boolean isLeaf​(java.lang.Object node)  
    void removeTreeModelListener​(javax.swing.event.TreeModelListener l)  
    void setFilter​(TreeFilter treeFilter)
    Change filter.
    void valueForPathChanged​(javax.swing.tree.TreePath path, java.lang.Object newValue)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • treeModelListeners

      protected java.util.Collection<javax.swing.event.TreeModelListener> treeModelListeners
      Listener for data and structure change notification.
    • delegateModel

      protected javax.swing.tree.TreeModel delegateModel
      Real application TreeModel.
    • treeFilter

      protected TreeFilter treeFilter
      Filter to use (can be null : no filtering).
  • Constructor Details

    • FilterTreeModel

      public FilterTreeModel​(javax.swing.tree.TreeModel delegateModel)
      Constructor with delegate model.
      Parameters:
      delegateModel - delegate data model
    • FilterTreeModel

      public FilterTreeModel​(javax.swing.tree.TreeModel delegateModel, TreeFilter filter)
      Constructor with delegate model.
      Parameters:
      delegateModel -
      filter -
  • Method Details

    • setFilter

      public void setFilter​(TreeFilter treeFilter)
      Change filter. Send a treeStructureChanged event on all registred listeners.
      Parameters:
      treeFilter - new filter
    • fireTreeStructureChanged

      protected void fireTreeStructureChanged​(javax.swing.tree.TreePath path)
      Send a treeStructureChanged event on all registred listeners.
      Parameters:
      path - new path to send in notification
    • getChildCount

      public int getChildCount​(java.lang.Object parent)
      Specified by:
      getChildCount in interface javax.swing.tree.TreeModel
    • getChild

      public java.lang.Object getChild​(java.lang.Object parent, int index)
      Specified by:
      getChild in interface javax.swing.tree.TreeModel
    • getRoot

      public java.lang.Object getRoot()
      Specified by:
      getRoot in interface javax.swing.tree.TreeModel
    • isLeaf

      public boolean isLeaf​(java.lang.Object node)
      Specified by:
      isLeaf in interface javax.swing.tree.TreeModel
    • valueForPathChanged

      public void valueForPathChanged​(javax.swing.tree.TreePath path, java.lang.Object newValue)
      Specified by:
      valueForPathChanged in interface javax.swing.tree.TreeModel
    • getIndexOfChild

      public int getIndexOfChild​(java.lang.Object parent, java.lang.Object child)
      Specified by:
      getIndexOfChild in interface javax.swing.tree.TreeModel
    • addTreeModelListener

      public void addTreeModelListener​(javax.swing.event.TreeModelListener l)
      Specified by:
      addTreeModelListener in interface javax.swing.tree.TreeModel
    • removeTreeModelListener

      public void removeTreeModelListener​(javax.swing.event.TreeModelListener l)
      Specified by:
      removeTreeModelListener in interface javax.swing.tree.TreeModel