org.objectweb.jac.aspects.gui.swing
Class AbstractCollection

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.objectweb.jac.aspects.gui.swing.AbstractView
                      extended byorg.objectweb.jac.aspects.gui.swing.AbstractCollection
All Implemented Interfaces:
Accessible, ActionListener, CollectionView, EventListener, FieldView, ImageObserver, KeyListener, ListSelectionListener, MenuContainer, MouseListener, Serializable, View, ViewIdentity
Direct Known Subclasses:
List, SwingTableView

public abstract class AbstractCollection
extends AbstractView
implements ListSelectionListener, ActionListener, MouseListener, CollectionView, KeyListener

Base class to implement ListView and TableView

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  CollectionItemView itemView
           
 
Fields inherited from class org.objectweb.jac.aspects.gui.swing.AbstractView
closed, height, width
 
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
AbstractCollection(ViewFactory factory, DisplayContext context, CollectionItem collection, Object substance, CollectionModel model, CollectionItemView itemView)
           
 
Method Summary
 void actionPerformed(ActionEvent event)
          Handles the actions on this view.
 void close(boolean validate)
          Close this view.
protected  JButton createButton(String icon, String tooltip, String action)
           
 CollectionModel getCollectionModel()
          Gets the associated collection model.
protected abstract  CollectionUpdate getCollectionUpdate()
           
 FieldItem getField()
           
protected abstract  JComponent getInnerComponent(Model model)
           
protected  Object[] getSelected()
          Returns an array of the selected objects.
protected abstract  int[] getSelectedIndices()
          Returns the indices of selected objects.
protected abstract  ListSelectionModel getSelectionModel()
           
 Object getSubstance()
          Gets the substance object holding the field
 boolean isEditor()
          Tells wether the view allows to edit the collection (i.e it has add/remove buttons)
 void keyPressed(KeyEvent event)
           
 void keyReleased(KeyEvent event)
           
 void keyTyped(KeyEvent event)
           
 void mouseClicked(MouseEvent me)
           
 void mouseEntered(MouseEvent me)
           
 void mouseExited(MouseEvent me)
           
 void mousePressed(MouseEvent e)
           
 void mouseReleased(MouseEvent e)
           
protected abstract  void onRemove()
           
 void setAutoUpdate(boolean autoUpdate)
          Sets the auto-update property of the view.
 void setEditor(boolean isEditor)
          Set the "editability" of the view.
 void setField(FieldItem field)
          Sets the field being displayed
protected  void setNoRefresh(boolean norefresh)
           
 void setSubstance(Object substance)
          Sets the substance object holding the field
 void setValue(Object value)
          Sets the value to display
 void updateModel(Object substance)
          Updates the collection model
 void valueChanged(ListSelectionEvent event)
          Defines what happens when the selection changes.
 
Methods inherited from class org.objectweb.jac.aspects.gui.swing.AbstractView
equalsView, equalsView, getContext, getDescription, getFactory, getLabel, getMessage, getParameters, getParentView, getRootView, getStyle, getType, getViewBorder, invokeInContext, isClosed, isDescendantOf, setContext, setDescription, setFactory, setFocus, setLabel, setMessage, setParameters, setParentView, setSize, setStyle, setType, setViewBorder, toString
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.objectweb.jac.aspects.gui.CollectionView
setSelected
 
Methods inherited from interface org.objectweb.jac.aspects.gui.View
getContext, getDescription, getFactory, getLabel, getMessage, getParentView, getRootView, getStyle, getViewBorder, isClosed, isDescendantOf, setContext, setDescription, setFactory, setFocus, setLabel, setMessage, setParentView, setSize, setStyle, setViewBorder
 
Methods inherited from interface org.objectweb.jac.aspects.gui.ViewIdentity
equalsView, equalsView, getParameters, getType, setParameters, setType
 

Field Detail

itemView

protected CollectionItemView itemView
Constructor Detail

AbstractCollection

public AbstractCollection(ViewFactory factory,
                          DisplayContext context,
                          CollectionItem collection,
                          Object substance,
                          CollectionModel model,
                          CollectionItemView itemView)
Method Detail

getCollectionModel

public CollectionModel getCollectionModel()
Description copied from interface: CollectionView
Gets the associated collection model.

Specified by:
getCollectionModel in interface CollectionView

createButton

protected JButton createButton(String icon,
                               String tooltip,
                               String action)

getInnerComponent

protected abstract JComponent getInnerComponent(Model model)

isEditor

public boolean isEditor()
Description copied from interface: CollectionView
Tells wether the view allows to edit the collection (i.e it has add/remove buttons)

Specified by:
isEditor in interface CollectionView
See Also:
CollectionView.setEditor(boolean)

setEditor

public void setEditor(boolean isEditor)
Description copied from interface: CollectionView
Set the "editability" of the view. If the view is editable, it has add/remove buttons)

Specified by:
setEditor in interface CollectionView
See Also:
CollectionView.isEditor()

setAutoUpdate

public void setAutoUpdate(boolean autoUpdate)
Description copied from interface: FieldView
Sets the auto-update property of the view. If auto-update is true (which is the default), the view registers for changes on field it displays.

Specified by:
setAutoUpdate in interface FieldView

close

public void close(boolean validate)
Description copied from interface: View
Close this view. This should be upcalled when the view is closed in order to free resources or close other dependant views.

Specified by:
close in interface View
Overrides:
close in class AbstractView

valueChanged

public void valueChanged(ListSelectionEvent event)
Defines what happens when the selection changes.

Specified by:
valueChanged in interface ListSelectionListener

keyTyped

public void keyTyped(KeyEvent event)
Specified by:
keyTyped in interface KeyListener

keyPressed

public void keyPressed(KeyEvent event)
Specified by:
keyPressed in interface KeyListener

keyReleased

public void keyReleased(KeyEvent event)
Specified by:
keyReleased in interface KeyListener

actionPerformed

public void actionPerformed(ActionEvent event)
Handles the actions on this view.

On a collection view, the three default possible actions are to open a new view on the selected item, to add a new item to the collection, and to remove the selected item from the collection.

Specified by:
actionPerformed in interface ActionListener
Parameters:
event - the user event

onRemove

protected abstract void onRemove()

getCollectionUpdate

protected abstract CollectionUpdate getCollectionUpdate()

getSelected

protected Object[] getSelected()
Returns an array of the selected objects. The array is empty if no object is selected, but not null.


getSelectedIndices

protected abstract int[] getSelectedIndices()
Returns the indices of selected objects.


getSelectionModel

protected abstract ListSelectionModel getSelectionModel()

setNoRefresh

protected void setNoRefresh(boolean norefresh)

mouseClicked

public void mouseClicked(MouseEvent me)
Specified by:
mouseClicked in interface MouseListener

mousePressed

public void mousePressed(MouseEvent e)
Specified by:
mousePressed in interface MouseListener

mouseReleased

public void mouseReleased(MouseEvent e)
Specified by:
mouseReleased in interface MouseListener

mouseExited

public void mouseExited(MouseEvent me)
Specified by:
mouseExited in interface MouseListener

mouseEntered

public void mouseEntered(MouseEvent me)
Specified by:
mouseEntered in interface MouseListener

setField

public void setField(FieldItem field)
Description copied from interface: FieldView
Sets the field being displayed

Specified by:
setField in interface FieldView
Parameters:
field - the field

setSubstance

public void setSubstance(Object substance)
Description copied from interface: FieldView
Sets the substance object holding the field

Specified by:
setSubstance in interface FieldView
Parameters:
substance - the substance
See Also:
FieldView.getSubstance()

getSubstance

public Object getSubstance()
Description copied from interface: FieldView
Gets the substance object holding the field

Specified by:
getSubstance in interface FieldView
See Also:
FieldView.setSubstance(Object)

getField

public FieldItem getField()
Specified by:
getField in interface FieldView
Returns:
the field item

setValue

public void setValue(Object value)
Description copied from interface: FieldView
Sets the value to display

Specified by:
setValue in interface FieldView
Parameters:
value - the value

updateModel

public void updateModel(Object substance)
Description copied from interface: CollectionView
Updates the collection model

Specified by:
updateModel in interface CollectionView