de.esprit.appsuite.gui.pathtree

## Class PathTree<C extends ApplicationContext,N extends PathTreeNode>

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JTree
        - - de.esprit.common.gui.tree.ZTree
          - - de.esprit.appsuite.gui.pathtree.PathTree<C,N>

- All Implemented Interfaces:
    ApplicationObject<C>, EnvStorable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable
  Direct Known Subclasses:
    ClientPathTree

      public class PathTree<C extends ApplicationContext,N extends PathTreeNode>
      extends ZTree
      implements ApplicationObject<C>, EnvStorable

  This is a specialized JTree built on a `PathTreeModel`. It displays a file system tree which is watched by a watch-service and thus reflects any changes in the file-system immediately. All paths that are newly expanded by the user will be registered on the watch-service.
  Author:
    Rainer Buesch
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JTree

      `javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DropLocation, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `javax.swing.JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

  - ### Field Summary

    - ### Fields inherited from class javax.swing.JTree

      `ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount`

    - ### Fields inherited from class javax.swing.JComponent

      `accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

    - ### Fields inherited from class java.awt.Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PathTree(PathTreeModel<C,N> model)`
    `PathTree(PathTreeModel<C,N> model, EnvStore envStore)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addEnvProperties(EnvMap props)` This method is called on the implementing class in order to give it a chance to fill the passed Properties object with key-value pairs that should be saved in the environment properties file.
    `protected ZAction<C>` | `createActionArchiveExtract()`
    `protected ZAction<C>` | `createActionArchiveList()`
    `protected ZAction<C>` | `createActionDeletePath()`
    `protected ZAction<C>` | `createActionRenamePath()`
    `protected ZAction<C>` | `createActionZipDirectory()`
    `protected ZAction<C>` | `createCreateFile()`
    `protected ZAction<C>` | `createCreateFolder()`
    `protected void` | `doOnDoubleClick(javax.swing.tree.TreePath selectedPath)` Is called when a mouse double click happened on a tree node.
    `void` | `expandPath(java.nio.file.Path path)`
    `void` | `fireReselection()`
    `ZAction<C>` | `getActionArchiveExtract()` This action extracts a ZIP or TAR archive to the current directory.
    `ZAction<C>` | `getActionArchiveList()` This action extracts a ZIP or TAR archive to the current directory.
    `ZAction<C>` | `getActionDeletePath()` This action deletes a path from the tree.
    `ZAction<C>` | `getActionRenamePath()` This action renames a folder in the tree.
    `ZAction<C>` | `getActionTreeExpandAll()` This action recursively expands all sub-directories down from the current node selection.
    `ZAction<C>` | `getActionTreeReload()` This action clears all watched paths and resets to the root directory being the only path registered.
    `ZAction<C>` | `getActionZipDirectory()` This action creates a ZIP archive of the selected directory.
    `C` | `getApplicationContext()`
    `ZAction<C>` | `getCreateFileAction()` This action creates a new file within the selected directory.
    `ZAction<C>` | `getCreateFolderAction()` This action creates a new folder within the selected directory.
    `PathTreeModel<C,N>` | `getModel()`
    `N` | `getRoot()`
    `java.io.File` | `getSelectedFile()`
    `N` | `getSelectedNode()`
    `protected java.lang.String` | `getTreeName()`
    `void` | `initFromEnvStore(EnvStore envStore)`
    `boolean` | `isExpanded(java.nio.file.Path path)`
    `protected void` | `openPathInSystemEditor(javax.swing.tree.TreePath selectedPath)`
    `N` | `setRoot(N rootNode)`
    `N` | `setRoot(java.nio.file.Path rootPath)`
    `N` | `setRoot(java.nio.file.Path rootPath, java.util.Comparator<PathTreeNode> comparator)`
    `N` | `setRoot(PathInfo rootPathInfo, java.util.Comparator<PathTreeNode> comparator)`
    `void` | `setSelectedNode(N node)`
    `void` | `setSelectionModel(javax.swing.tree.TreeSelectionModel selectionModel)`

    - ### Methods inherited from class de.esprit.common.gui.tree.ZTree

      `doOnContextMenuPopup, doOnSingleClick`

    - ### Methods inherited from class javax.swing.JTree

      `addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, convertValueToText, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getDropLocation, getDropMode, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setDropMode, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, updateUI`

    - ### Methods inherited from class javax.swing.JComponent

      `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

    - ### Methods inherited from class java.awt.Container

      `add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree`

    - ### Methods inherited from class java.awt.Component

      `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### PathTree

          public PathTree(PathTreeModel<C,N> model)

    - #### PathTree

          public PathTree(PathTreeModel<C,N> model,
                  EnvStore envStore)

  - ### Method Detail

    - #### getApplicationContext

          public final C getApplicationContext()

      Specified by:
        `getApplicationContext` in interface `ApplicationObject<C extends ApplicationContext>`

    - #### getTreeName

          protected java.lang.String getTreeName()

    - #### initFromEnvStore

          public void initFromEnvStore(EnvStore envStore)

      Specified by:
        `initFromEnvStore` in interface `EnvStorable`

    - #### addEnvProperties

          public void addEnvProperties(EnvMap props)

      Description copied from interface: `EnvStorable`
      This method is called on the implementing class in order to give it a chance to fill the passed Properties object with key-value pairs that should be saved in the environment properties file.
      Specified by:
        `addEnvProperties` in interface `EnvStorable`

    - #### setRoot

          public final N setRoot(java.nio.file.Path rootPath)

    - #### setRoot

          public final N setRoot(java.nio.file.Path rootPath,
                  java.util.Comparator<PathTreeNode> comparator)

    - #### setRoot

          public final N setRoot(PathInfo rootPathInfo,
                  java.util.Comparator<PathTreeNode> comparator)

    - #### setRoot

          public final N setRoot(N rootNode)

    - #### getRoot

          public final N getRoot()

    - #### createActionArchiveList

          protected ZAction<C> createActionArchiveList()

    - #### createActionArchiveExtract

          protected ZAction<C> createActionArchiveExtract()

    - #### createActionDeletePath

          protected ZAction<C> createActionDeletePath()

    - #### createActionRenamePath

          protected ZAction<C> createActionRenamePath()

    - #### createActionZipDirectory

          protected ZAction<C> createActionZipDirectory()

    - #### createCreateFolder

          protected ZAction<C> createCreateFolder()

    - #### createCreateFile

          protected ZAction<C> createCreateFile()

    - #### getActionTreeExpandAll

          public final ZAction<C> getActionTreeExpandAll()

      This action recursively expands all sub-directories down from the current node selection. All expanded sub-directory paths are registered on the watch-service.

    - #### getActionTreeReload

          public final ZAction<C> getActionTreeReload()

      This action clears all watched paths and resets to the root directory being the only path registered.

    - #### getActionArchiveList

          public final ZAction<C> getActionArchiveList()

      This action extracts a ZIP or TAR archive to the current directory.

    - #### getActionArchiveExtract

          public final ZAction<C> getActionArchiveExtract()

      This action extracts a ZIP or TAR archive to the current directory.

    - #### getActionDeletePath

          public final ZAction<C> getActionDeletePath()

      This action deletes a path from the tree.

    - #### getActionRenamePath

          public final ZAction<C> getActionRenamePath()

      This action renames a folder in the tree.

    - #### getActionZipDirectory

          public final ZAction<C> getActionZipDirectory()

      This action creates a ZIP archive of the selected directory.

    - #### getCreateFolderAction

          public final ZAction<C> getCreateFolderAction()

      This action creates a new folder within the selected directory.

    - #### getCreateFileAction

          public final ZAction<C> getCreateFileAction()

      This action creates a new file within the selected directory.

    - #### getModel

          public final PathTreeModel<C,N> getModel()

      Overrides:
        `getModel` in class `javax.swing.JTree`

    - #### setSelectionModel

          public final void setSelectionModel(javax.swing.tree.TreeSelectionModel selectionModel)

      Overrides:
        `setSelectionModel` in class `javax.swing.JTree`

    - #### fireReselection

          public final void fireReselection()

    - #### setSelectedNode

          public final void setSelectedNode(N node)

    - #### getSelectedNode

          public final N getSelectedNode()

    - #### getSelectedFile

          public final java.io.File getSelectedFile()

    - #### isExpanded

          public final boolean isExpanded(java.nio.file.Path path)

    - #### expandPath

          public final void expandPath(java.nio.file.Path path)

    - #### openPathInSystemEditor

          protected final void openPathInSystemEditor(javax.swing.tree.TreePath selectedPath)

    - #### doOnDoubleClick

          protected void doOnDoubleClick(javax.swing.tree.TreePath selectedPath)

      Description copied from class: `ZTree`
      Is called when a mouse double click happened on a tree node.
      Overrides:
        `doOnDoubleClick` in class `ZTree`

Copyright © 2014 EsprIT-Systems. All Rights Reserved.