edu.mit.ai.psg.jexa
Class ObjectOutline

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--edu.mit.ai.psg.ui.outlines.OutlineTree
                          |
                          +--edu.mit.ai.psg.jexa.ObjectOutline
Direct Known Subclasses:
BeanOutline, ClassOutline, CollectionOutline, DictionaryOutline, ListOutline, MapOutline

public class ObjectOutline
extends OutlineTree

ObjectOutline: displays fields of objects and elements of arrays (uncovered using java.lang.reflect and Class methods). If ReflectPermission is not available, then only includes public fields. For collapsed object description, uses method Stringify.printToString(Object) instead of Object.toString() to print up to Stringify.printLength elements of arrays. Generates children for all elements of arrays when expanded.

Author:
CarlManning, caroma@ai.mit.edu
Copyright (c) 1997, 1998, 1999 Massachusetts Institute of Technology
See Also:
Serialized Form

Field Summary
static Color defaultColor
          Default foreground color
 Object myObject
           
static IOutlineComponentGenerator outlineGenerator
           
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Constructor Summary
ObjectOutline(Object obj)
           
 
Method Summary
 void actionPerformed(ActionEvent e)
           
 void addPopupMenuTitle(PopupMenu menu)
          Uses object's toString() as title
 void generateChildren()
          Generate children for public fields of objects (discovered through reflection methods of java.lang.Class and java.lang.reflect) and elements of arrays
static void initialize()
          Call initialize to install outlineGenerator in Outliner for any instance of java.lang.Object (potentially called by Jexa.initialize)
 Component makeLabelComponent(String string)
          Set foreground color of returned label to default color
 
Methods inherited from class edu.mit.ai.psg.ui.outlines.OutlineTree
addImpl, addPopupMenuItems, doLayout, getChildComponent, getChildLabel, getChildrenCount, getMinimumSize, getPreferredSize, getRootComponent, hasChildren, invalidateAndRepaintTree, isExpanded, setExpanded
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFont, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

myObject

public Object myObject

defaultColor

public static Color defaultColor
Default foreground color

outlineGenerator

public static IOutlineComponentGenerator outlineGenerator
Constructor Detail

ObjectOutline

public ObjectOutline(Object obj)
Method Detail

actionPerformed

public void actionPerformed(ActionEvent e)
Overrides:
actionPerformed in class OutlineTree

generateChildren

public void generateChildren()
Generate children for public fields of objects (discovered through reflection methods of java.lang.Class and java.lang.reflect) and elements of arrays
Overrides:
generateChildren in class OutlineTree

makeLabelComponent

public Component makeLabelComponent(String string)
Set foreground color of returned label to default color
Overrides:
makeLabelComponent in class OutlineTree

addPopupMenuTitle

public void addPopupMenuTitle(PopupMenu menu)
Uses object's toString() as title
Overrides:
addPopupMenuTitle in class OutlineTree

initialize

public static void initialize()
Call initialize to install outlineGenerator in Outliner for any instance of java.lang.Object (potentially called by Jexa.initialize)

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-bugs@ai.mit.edu