issrg.utils.gui.xml
Class NodeItemList

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 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.io.Serializable, 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.

Author:
Christian Azzopardi
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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.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
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
NodeItemList(XMLEditor xmlED)
          Constructor
 
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

nlist

public org.w3c.dom.NodeList nlist

xmlED

public XMLEditor xmlED
Constructor Detail

NodeItemList

public NodeItemList(XMLEditor xmlED)
Constructor

Parameters:
xmlED - Sets the class XMLEditor
Method Detail

sortArgs

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.

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

setNodeList

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

Parameters:
nodelist - NodeList to Set

setNodeList

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

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

getNodeList

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

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

setParentNode

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

Parameters:
n - The node to Set as Parent Node

getParentNode

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

Returns:
The current Parent Node is returned

refreshView

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


setSelectedNode

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.

Parameters:
n - Sets the selectedNode to n

getSelectedNode

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

Returns:
The node currently set selected.

itemSelected

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

addNodeChangeListener

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


removeNodeChangeListener

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


FireNodeSelectionChanged

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.


NodeSelectionChanged

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

Specified by:
NodeSelectionChanged in interface NodeSelectionListener

addItemAddedListener

public void addItemAddedListener(ItemAddedListener listener)

removeItemAddedListener

public void removeItemAddedListener(ItemAddedListener listener)

FireItemAddedEvent

public void FireItemAddedEvent(ItemAddedEvent ev)

ItemAddedChanged

public void ItemAddedChanged(ItemAddedEvent ev)

XMLChanged

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

Specified by:
XMLChanged in interface XMLChangeListener