org.ascape.view.vis.erv
Class EntityRelationView

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 org.ascape.view.vis.PanelView
                      extended by org.ascape.view.vis.BufferView
                          extended by org.ascape.view.vis.AgentView
                              extended by org.ascape.view.vis.erv.EntityRelationView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, java.util.Observer, javax.accessibility.Accessible, ScapeListener, HasName, ComponentView

public class EntityRelationView
extends AgentView

A class for a panel that acts as an observer of scapes as a graph of entities joined by relations. Incorporates Carl's original EntityGraph class, uses the classes named ERV* for support, requires the EntityFeature and RelationFeature interfaces to extract the necessary info from the scape to decorate the graph.

Since:
1.0
Version:
2.9
Author:
Carl Tollander and Roger Critchlow
See Also:
Serialized Form

Nested Class Summary
 class EntityRelationView.RelationDrawFeature
          The class RelationDrawFeature encapsulates the drawing mechanisms previously distributed over methods in ERVEdge and ERVChannel.
 
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
 
Fields inherited from class org.ascape.view.vis.AgentView
agentColorFeature, agentCustomizer, clearBackgroundAutomatically, drawSelection, updateAllRequested
 
Fields inherited from class org.ascape.view.vis.BufferView
bufferedGraphics, bufferedImage
 
Fields inherited from class org.ascape.view.vis.PanelView
delegate, iterationsPerRedraw, name, scape
 
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
EntityRelationView()
          Constructs an entity relation view.
EntityRelationView(java.lang.String name)
          Constructs an abstract entity relation view.
 
Method Summary
 void addDrawFeature(DrawFeature feature, boolean selected)
          addDrawFeature adds a new draw feature to the view and determines if it should be initially selected for viewing.
 void addEntityFeature(EntityFeature entityFeature)
          add an EntityFeature manager for this view.
 void addEntityFeature(EntityFeature entityFeature, boolean selected)
          add an EntityFeature manager for this view and specify if it should be initially selected.
 void addRelationFeature(RelationFeature relationFeature)
          add a RelationFeature manager for this view.
 void addRelationFeature(RelationFeature relationFeature, boolean selected)
          add a RelationFeature manager for this view and specify if the feature should be initially selected.
 void build()
          Called to create and layout the components of the component view, once the view's scape has been created.
 Agent getAgentAtPixel(int x, int y)
          Method to find the cell under the specified point.
 ColorFeature getAgentColorFeature()
          getColorFeature returns the color feature used to determine node/cell colors.
 ColorFeature getPrimaryAgentColorFeature()
          getColorFeature returns the color feature used to determine node/cell colors.
 boolean isFeatureSelected(java.lang.String featureName)
          Gets the featureSelected for the EntityRelationView object.
 void readExternal(java.io.ObjectInput in)
          The object implements the readExternal method to restore its contents by calling the methods of DataInput for primitive types and readObject for objects, strings and arrays.
 void removeAllRelationFeatures()
          Method.
 void updateScapeGraphics()
          Called when scape reports an update event.
 void writeExternal(java.io.ObjectOutput out)
          The object implements the writeExternal method to save its contents by calling the methods of DataOutput for its primitive values or calling the writeObject method of ObjectOutput for objects, strings, and arrays.
 
Methods inherited from class org.ascape.view.vis.AgentView
addDrawFeature, createAgentCustomizer, createAgentCustomizerPanel, displayAgentCustomizer, displayCustomizer, drawSelectedAgent, drawSelectedAgent, getAgentCustomizer, getDrawFeatures, getDrawFeaturesObservable, getDrawSelection, isClearBackground, paintComponent, removeAgentCustomizer, removeCustomizer, removeDrawFeature, requestUpdateAll, scapeAdded, scapeStarted, setAgentColorFeature, setAgentCustomizer, setClearBackground, setCustomizeAgent, update
 
Methods inherited from class org.ascape.view.vis.BufferView
addNotify, buildGraphicsBuffer, finalize, getBufferedImage, imageUpdate, setBounds, setBufferedImage
 
Methods inherited from class org.ascape.view.vis.PanelView
clone, environmentQuiting, forceScapeNotify, getDelegate, getIcon, getIterationsPerRedraw, getName, getPreferredSizeWithin, getScape, getViewFrame, iconUpdated, isGraphic, isLifeOfScape, notifyScapeUpdated, onChangeIterationsPerRedraw, scapeClosing, scapeDeserialized, scapeInitialized, scapeIterated, scapeNotification, scapeRemoved, scapeSetup, scapeStopped, setDelegate, setIterationsPerRedraw, setMovieRecorder, setName, setViewFrame, toString
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, 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, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EntityRelationView

public EntityRelationView()
Constructs an entity relation view.


EntityRelationView

public EntityRelationView(java.lang.String name)
Constructs an abstract entity relation view.

Parameters:
name - a user relevant name for this view
Method Detail

addDrawFeature

public void addDrawFeature(DrawFeature feature,
                           boolean selected)
addDrawFeature adds a new draw feature to the view and determines if it should be initially selected for viewing.

Parameters:
feature - an DrawFeature value
selected - the DrawFeature object to be added

addEntityFeature

public void addEntityFeature(EntityFeature entityFeature,
                             boolean selected)
add an EntityFeature manager for this view and specify if it should be initially selected.

Parameters:
entityFeature - an EntityFeature value
selected - a boolean value

addEntityFeature

public void addEntityFeature(EntityFeature entityFeature)
add an EntityFeature manager for this view.

Parameters:
entityFeature - the entityFeature

addRelationFeature

public void addRelationFeature(RelationFeature relationFeature,
                               boolean selected)
add a RelationFeature manager for this view and specify if the feature should be initially selected.

Parameters:
relationFeature - a RelationFeature value
selected - a boolean value

addRelationFeature

public void addRelationFeature(RelationFeature relationFeature)
add a RelationFeature manager for this view.

Parameters:
relationFeature - the RelationFeature object to be added

removeAllRelationFeatures

public void removeAllRelationFeatures()
Method.


updateScapeGraphics

public void updateScapeGraphics()
Description copied from class: PanelView
Called when scape reports an update event. (No need to call this method after updating panel.)

Specified by:
updateScapeGraphics in interface ComponentView
Overrides:
updateScapeGraphics in class AgentView

build

public void build()
Description copied from class: AgentView
Called to create and layout the components of the component view, once the view's scape has been created.

Specified by:
build in interface ComponentView
Overrides:
build in class AgentView

isFeatureSelected

public boolean isFeatureSelected(java.lang.String featureName)
Gets the featureSelected for the EntityRelationView object.

Parameters:
featureName - parameter
Returns:
the featureSelected

getPrimaryAgentColorFeature

public ColorFeature getPrimaryAgentColorFeature()
getColorFeature returns the color feature used to determine node/cell colors.

Returns:
a ColorFeature value

getAgentColorFeature

public ColorFeature getAgentColorFeature()
getColorFeature returns the color feature used to determine node/cell colors.

Overrides:
getAgentColorFeature in class AgentView
Returns:
a ColorFeature value

getAgentAtPixel

public Agent getAgentAtPixel(int x,
                             int y)
Method to find the cell under the specified point.

Overrides:
getAgentAtPixel in class AgentView
Parameters:
x - the x coordinate of the point.
y - the y coordinate of the point.
Returns:
the cellAtPixel

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
The object implements the writeExternal method to save its contents by calling the methods of DataOutput for its primitive values or calling the writeObject method of ObjectOutput for objects, strings, and arrays.

Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class AgentView
Parameters:
out - the stream to write the object to
Throws:
java.io.IOException - Signals that an I/O exception has occurred.
java.io.IOException - Includes any I/O exceptions that may occur

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
The object implements the readExternal method to restore its contents by calling the methods of DataInput for primitive types and readObject for objects, strings and arrays. The readExternal method must read the values in the same sequence and with the same types as were written by writeExternal.

Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class AgentView
Parameters:
in - the stream to read data from in order to restore the object
Throws:
java.io.IOException - Signals that an I/O exception has occurred.
java.lang.ClassNotFoundException - the class not found exception
java.io.IOException - if I/O errors occur
java.lang.ClassNotFoundException - If the class for an object being restored cannot be found.


Copyright © 1998-2008 The Brookings Institution, NuTech Solutions, Metascape, LLC All Rights Reserved.