de.bsvrz.pat.sysbed.preselection.tree
Class PreselectionTree

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by de.bsvrz.pat.sysbed.preselection.tree.PreselectionTree
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class PreselectionTree
extends JPanel

Die Klasse PreselectionTree ist ein Teil der Datenidentifikationsauswahl. Sie stellt die spezifizierte Vorauswahl in Form eines Baumes zur Verfügung.

Durch die spezifizierte Vorauswahl wird die Anzahl der durch den Benutzer auswählbaren Datenidentifikationen durch verschiedene Filter eingeschränkt.

Die Objekte werden nach der Filterung wieder zur Verfügung gestellt und können beispielsweise mit Hilfe der Klasse PreselectionLists dargestellt und weiter eingeschränkt werden.

Author:
Kappich Systemberatung
See Also:
PreselectionTree(de.bsvrz.dav.daf.main.ClientDavInterface, java.util.Collection), addPreselectionListener(de.bsvrz.pat.sysbed.preselection.tree.PreselectionTreeListener), Serialized Form

Nested Class Summary
private  class PreselectionTree.DynamicObjectTypeListener
           
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  DataModel _dataModel
           
private  Collection<SystemObject> _filterObjects
          speichert die gefilterten Systemobjekte
private  Collection<SystemObject> _lastUsedSystemObjects
          Speichert den Stand der zuletzt für die Filterung verwendeten Collection der Systemobjekte.
private  List<PreselectionTreeListener> _listenerList
          speichert angemeldete Listener-Objekte
private  PreselectionTreeHandler _preselectionTreeHandler
          speichert ein Objekt der Klasse PreselectionTreeHandler
private  TreePath _selectedTreePath
           
private  Collection<SystemObject> _systemObjects
          Speichert alle Systemobjekte.
private  JTree _tree
          speichert einen JTree
private  String _treePath
          speichert kommaseparierte PIDs, die den Pfad im Baum angeben
private  JButton _updateButton
           
 
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
PreselectionTree(ClientDavInterface connection, Collection<Object> treeNodes)
          Der Konstruktor erstellt ein Objekt der Klasse PreselectionTree.
 
Method Summary
 void addPreselectionListener(PreselectionTreeListener listener)
          Fügt einen PreselectionTreeListener hinzu.
private  void createAndShowGui()
          Die Methode wird vom Konstruktor aufgerufen und stellt einen JTree für die spezifizierte Vorauswahl zur Verfügung.
private  void filterObjects(TreePath tp)
          Filtert die Objekte nach der Auswahl im Auswahlbaum.
 String getSelectedTreePath()
          Gibt den selektierten Pfad des Baums als kommaseparierten String zurück.
 Collection<Object> getTreeNodes()
          Gibt die Parameter für die Vorauswahl (Baum) zurück.
private  void notifyTreeSelectionChanged()
          Gibt dem Listener-Objekt bekannt, ob ein Koten im Baum angewählt wurde.
private  void registerDynamicObjectType()
           
 void removePreselectionListener(PreselectionTreeListener listener)
          Entfernt einen PreselectionTreeListener.
private  void selectTreePath()
          Selektiert anhand des Strings _treePath (enthält kommaseparierte PIDs) den Pfad im Baum.
 void setSelectedTreePath(String treePath)
          Kommaseparierte PIDs werden als String übergeben, die einen Pfad im Baum des PreselectionTrees darstellen.
(package private)  void setTreeData(TreeModel newModel)
          Ändert den aktuellen Baum in der JTree-Komponente.
private  void updateUpdateButton()
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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, transferFocusBackward, 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, hide, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_preselectionTreeHandler

private PreselectionTreeHandler _preselectionTreeHandler
speichert ein Objekt der Klasse PreselectionTreeHandler


_tree

private JTree _tree
speichert einen JTree


_listenerList

private List<PreselectionTreeListener> _listenerList
speichert angemeldete Listener-Objekte


_systemObjects

private Collection<SystemObject> _systemObjects
Speichert alle Systemobjekte. Die Collection wird automatisch beim Erzeugen und Löschen von dynamischen Objekten aktualisiert.


_lastUsedSystemObjects

private Collection<SystemObject> _lastUsedSystemObjects
Speichert den Stand der zuletzt für die Filterung verwendeten Collection der Systemobjekte. Referenz auf das Objekt, das bei der letzten Filterung in der Variablen _systemObjects enthalten war.


_filterObjects

private Collection<SystemObject> _filterObjects
speichert die gefilterten Systemobjekte


_treePath

private String _treePath
speichert kommaseparierte PIDs, die den Pfad im Baum angeben


_selectedTreePath

private TreePath _selectedTreePath

_dataModel

private final DataModel _dataModel

_updateButton

private JButton _updateButton
Constructor Detail

PreselectionTree

public PreselectionTree(ClientDavInterface connection,
                        Collection<Object> treeNodes)
Der Konstruktor erstellt ein Objekt der Klasse PreselectionTree.

Parameters:
connection - Verbindung zum Datenverteiler
treeNodes - ein Parameter zur Spezifizierung der Vorauswahl (Baum), bestehend aus Systemobjekten und Knotenobjekten
See Also:
createAndShowGui()
Method Detail

createAndShowGui

private void createAndShowGui()
Die Methode wird vom Konstruktor aufgerufen und stellt einen JTree für die spezifizierte Vorauswahl zur Verfügung. Bei Auswahl eines Knotens im Baum werden alle Filter auf dem Pfad von der Wurzel bis zum Knoten auf die Systemobjekte angewendet.


registerDynamicObjectType

private void registerDynamicObjectType()

filterObjects

private void filterObjects(TreePath tp)
Filtert die Objekte nach der Auswahl im Auswahlbaum.

Parameters:
tp - selektierter Pfad im Auswahlbaum

updateUpdateButton

private void updateUpdateButton()

setTreeData

void setTreeData(TreeModel newModel)
Ändert den aktuellen Baum in der JTree-Komponente.

Parameters:
newModel - das TreeModel, welches angezeigt werden soll

selectTreePath

private void selectTreePath()
Selektiert anhand des Strings _treePath (enthält kommaseparierte PIDs) den Pfad im Baum.


getTreeNodes

public Collection<Object> getTreeNodes()
Gibt die Parameter für die Vorauswahl (Baum) zurück. Die Collection enthält Systemobjekte und Knotenobjekte. Anhand der Objekte wird der Baum für die Vorauswahl erzeugt.

Returns:
die Sammlung von System- und Knotenobjekten

getSelectedTreePath

public String getSelectedTreePath()
Gibt den selektierten Pfad des Baums als kommaseparierten String zurück. Jedes Objekt wird durch eine PID repräsentiert.

Returns:
Pfad des Baums als kommaseparierten String

setSelectedTreePath

public void setSelectedTreePath(String treePath)
Kommaseparierte PIDs werden als String übergeben, die einen Pfad im Baum des PreselectionTrees darstellen. Ist der Pfad vorhanden, dann wird er selektiert.

Parameters:
treePath - Pfad des Baums als kommaseparierten String

addPreselectionListener

public void addPreselectionListener(PreselectionTreeListener listener)
Fügt einen PreselectionTreeListener hinzu.

Parameters:
listener - ein Objekt, welches den Listener implementiert

removePreselectionListener

public void removePreselectionListener(PreselectionTreeListener listener)
Entfernt einen PreselectionTreeListener.

Parameters:
listener - ein Objekt, welches den Listener implementiert

notifyTreeSelectionChanged

private void notifyTreeSelectionChanged()
Gibt dem Listener-Objekt bekannt, ob ein Koten im Baum angewählt wurde. Die gefilterten Systemobjekte werden dann an das Listener-Objekt übergeben.