Class NodeItemList

  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by issrg.utils.gui.xml.AddDelList
                      extended by issrg.utils.gui.xml.NodeItemList
All Implemented Interfaces:
NodeSelectionListener, XMLChangeListener, java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer,, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ListSelectionListener
Direct Known Subclasses:
ActionTab, CoordParameterPanel, EnvironmentTab, EnvParametersConfiguration, FileList, FileListNodeList, FileLoader, LDAPConfiguration, ObligationsConfigPanel, PKCConfiguration, PWizardPanel4b, ResFunctions, RoleTypeParametersConfiguration, RoleTypes, RoleTypes, RoleValues, RoleValues, SOAPolicyEditor, SubjectTab, SubRoles, SubRoles, TargetTab, WebDAVConfiguration

public abstract class NodeItemList
extends AddDelList
implements XMLChangeListener, NodeSelectionListener

Abstract Class that defines the NodeItemList component. This is used by further components to implement a list which stores org.w3c Document nodes.

It extends the functionality of the AddDelList, and works in parallel with nodes. Therefore, the listbox will contain a string label of a node representation, and operations done on a current list selection will reflect that node.

Christian Azzopardi
See Also:
Serialized Form

Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
Nested classes/interfaces inherited from class java.awt.Container
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
Field Summary
 org.w3c.dom.NodeList nlist
 XMLEditor xmlED
Fields inherited from class issrg.utils.gui.xml.AddDelList
addButton, addDisplay, constraints, deleteButton, deleteDisplay, items, listBox, listBoxDisplay, listData, popupMenu, replaceButton, replaceDisplay, scrollList, sizeOfPopupMenu, viewDisplay
Fields inherited from class javax.swing.JComponent
Fields inherited from class java.awt.Component
Fields inherited from interface java.awt.image.ImageObserver
Constructor Summary
NodeItemList(XMLEditor xmlED)
Method Summary
 void addItemAddedListener(ItemAddedListener listener)
 void addNodeChangeListener(NodeSelectionListener listener)
          Adds a NodeChangeListener to the component
 void FireItemAddedEvent(ItemAddedEvent ev)
 void FireNodeSelectionChanged(NodeSelectionEvent ev)
          When the NodeSelection is Changed, this method will loop through the registered NodeSelectionListeners and will fire each listeners own method, NodeSelectionChanged with the current event as a parameter.
 org.w3c.dom.NodeList getNodeList(java.lang.String tagname)
          Function that returns the NodeList of all descendant Elements with a given tag name
 org.w3c.dom.Node getParentNode()
          Returns the parentNode
 org.w3c.dom.Node getSelectedNode()
          Returns the selectedNode
 void ItemAddedChanged(ItemAddedEvent ev)
 void itemSelected()
          The method checks that the nodeList is not null and sets the selectedNode value to the node corresponding to the selected item in the list.
 void NodeSelectionChanged(NodeSelectionEvent ev)
          Invoked when an NodeSelectionEvent is dispatched.
abstract  void refreshView()
          An abstract method that is called when the list view is to be refreshed.
 void removeItemAddedListener(ItemAddedListener listener)
 void removeNodeChangeListener(NodeSelectionListener listener)
          Removes the NodeChangeListener from the component
 void setNodeList(org.w3c.dom.NodeList nodelist)
          Uses the synchronized command to set the current NodeList keeping note of the current thread.
 void setNodeList(org.w3c.dom.NodeList nodelist, java.lang.String[] labels)
          Sets the current NodeList with the corresponding List of labels
 void setParentNode(org.w3c.dom.Node n)
          Remembers the Parent Node passed as a parameter and updates the List View
 void setSelectedNode(org.w3c.dom.Node n)
          Sets the Selected Node in the current NodeList.
 java.util.Map sortArgs(org.w3c.dom.NodeList nodelist, java.lang.String[] labels)
          Sort the data of the NodeList passed as a parameter alphabetically.
 void XMLChanged(XMLChangeEvent ev)
          When an XMLChangeEvent is received, instruction is given to refresh the component.
Methods inherited from class issrg.utils.gui.xml.AddDelList
actionPerformed, addComponent, addItem, convertYToRow, deleteItem, getContentPanel, getListData, getSelectedIndex, mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased, removeAddButton, removeDeleteButton, removeListBox, removeReplaceButton, replaceItem, setCaption, setListData, setSelectedIndex, valueChanged
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


public org.w3c.dom.NodeList nlist


public XMLEditor xmlED
Constructor Detail


public NodeItemList(XMLEditor xmlED)

xmlED - Sets the class XMLEditor
Method Detail


public java.util.Map sortArgs(org.w3c.dom.NodeList nodelist,
                              java.lang.String[] labels)
Sort the data of the NodeList passed as a parameter alphabetically. Sorting the NodeList on it own will not sort the list that is displayed on the screen gui list. Thus an array with the relative pointers is passed too.

nodelist - The NodeList to Sort Alphabetically
labels - The String Values of the Nodelist to Sort Alphabetically
A data Map with the sorted data.


public void setNodeList(org.w3c.dom.NodeList nodelist)
Uses the synchronized command to set the current NodeList keeping note of the current thread.

nodelist - NodeList to Set


public void setNodeList(org.w3c.dom.NodeList nodelist,
                        java.lang.String[] labels)
Sets the current NodeList with the corresponding List of labels

nodelist - NodeList to set
labels - Array of Strings corresponding to the NodeList


public org.w3c.dom.NodeList getNodeList(java.lang.String tagname)
Function that returns the NodeList of all descendant Elements with a given tag name

tagname - A String Containing the Tag Name to Retrieve
The NodeList of all descendant Elements of the tag name


public void setParentNode(org.w3c.dom.Node n)
Remembers the Parent Node passed as a parameter and updates the List View

n - The node to Set as Parent Node


public org.w3c.dom.Node getParentNode()
Returns the parentNode

The current Parent Node is returned


public abstract void refreshView()
An abstract method that is called when the list view is to be refreshed.


public void setSelectedNode(org.w3c.dom.Node n)
Sets the Selected Node in the current NodeList. If the passed node is not found the selectedNode is unchanged. Otherwise selectedNode is set to n. The position of the node in the NodeList is compared to the selected index of the listbox. If they are not the same,the appropraite row in the listbox is selected.

n - Sets the selectedNode to n


public org.w3c.dom.Node getSelectedNode()
Returns the selectedNode

The node currently set selected.


public void itemSelected()
The method checks that the nodeList is not null and sets the selectedNode value to the node corresponding to the selected item in the list. If no item is selected in the list, the selectedNode is set to null. After this a NodeSelectionChanged event is fired.

Specified by:
itemSelected in class AddDelList


public void addNodeChangeListener(NodeSelectionListener listener)
Adds a NodeChangeListener to the component


public void removeNodeChangeListener(NodeSelectionListener listener)
Removes the NodeChangeListener from the component


public void FireNodeSelectionChanged(NodeSelectionEvent ev)
When the NodeSelection is Changed, this method will loop through the registered NodeSelectionListeners and will fire each listeners own method, NodeSelectionChanged with the current event as a parameter.


public void NodeSelectionChanged(NodeSelectionEvent ev)
Description copied from interface: NodeSelectionListener
Invoked when an NodeSelectionEvent is dispatched.

Specified by:
NodeSelectionChanged in interface NodeSelectionListener


public void addItemAddedListener(ItemAddedListener listener)


public void removeItemAddedListener(ItemAddedListener listener)


public void FireItemAddedEvent(ItemAddedEvent ev)


public void ItemAddedChanged(ItemAddedEvent ev)


public void XMLChanged(XMLChangeEvent ev)
When an XMLChangeEvent is received, instruction is given to refresh the component.

Specified by:
XMLChanged in interface XMLChangeListener