Class ConfigTreeModel

  • All Implemented Interfaces:
    TreeModel

    public class ConfigTreeModel
    extends Object
    implements TreeModel
    Provides a tree model view for an report configuration. The configuration will be separated into a local and a global part. The local nodes are read from the report's configuration instance, while the global nodes are always read from the global report configuration instance.
    Author:
    Thomas Morgner
    • Constructor Detail

      • ConfigTreeModel

        public ConfigTreeModel​(org.pentaho.reporting.libraries.base.boot.AbstractBoot packageManager,
                               boolean includeGlobals)
        Creates a new tree model from the given specifications. These specifications contain the config description entry definitions used to describe the report configuration keys.
        Parameters:
        packageManager - the specifications.
        includeGlobals - true to show global and local nodes, false to only show local nodes.
    • Method Detail

      • updateConfiguration

        public void updateConfiguration()
        Initializes the tree from the given report configuration.
      • updateConfiguration

        public void updateConfiguration​(boolean includeGlobals)
      • getRoot

        public Object getRoot()
        Returns the root of the tree. Returns null only if the tree has no nodes.
        Specified by:
        getRoot in interface TreeModel
        Returns:
        the root of the tree
      • getChild

        public Object getChild​(Object parent,
                               int index)
        Returns the child of parent at index index in the parent's child array. parent must be a node previously obtained from this data source. This should not return null if index is a valid index for parent (that is index >= 0 && index < getChildCount(parent)).
        Specified by:
        getChild in interface TreeModel
        Parameters:
        parent - a node in the tree, obtained from this data source
        index - the index from where to read the child.
        Returns:
        the child of parent at index index
      • getChildCount

        public int getChildCount​(Object parent)
        Returns the number of children of parent. Returns 0 if the node is a leaf or if it has no children. parent must be a node previously obtained from this data source.
        Specified by:
        getChildCount in interface TreeModel
        Parameters:
        parent - a node in the tree, obtained from this data source
        Returns:
        the number of children of the node parent
      • isLeaf

        public boolean isLeaf​(Object node)
        Returns true if node is a leaf. It is possible for this method to return false even if node has no children. A directory in a filesystem, for example, may contain no files; the node representing the directory is not a leaf, but it also has no children.
        Specified by:
        isLeaf in interface TreeModel
        Parameters:
        node - a node in the tree, obtained from this data source
        Returns:
        true if node is a leaf
      • valueForPathChanged

        public void valueForPathChanged​(TreePath path,
                                        Object newValue)
        Messaged when the user has altered the value for the item identified by path to newValue. If newValue signifies a truly new value the model should post a treeNodesChanged event.
        Specified by:
        valueForPathChanged in interface TreeModel
        Parameters:
        path - path to the node that the user has altered
        newValue - the new value from the TreeCellEditor
      • getIndexOfChild

        public int getIndexOfChild​(Object parent,
                                   Object child)
        Returns the index of child in parent. If parent is null or child is null, returns -1.
        Specified by:
        getIndexOfChild in interface TreeModel
        Parameters:
        parent - a note in the tree, obtained from this data source
        child - the node we are interested in
        Returns:
        the index of the child in the parent, or -1 if either child or parent are null
      • getEntryForKey

        public ConfigDescriptionEntry getEntryForKey​(String key)
        Returns the entry for the given key or null, if the key has no metadata.
        Parameters:
        key - the name of the key
        Returns:
        the entry or null if not found.