|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||
See:
Description
| Class Summary | |
| BeanRenderer | BeanRenderer: displays an object's JavaBean properties (uncovered using
java.beans.Introspector and elements of arrays. |
| ClassRenderer | ClassOutline: Shows static fields of Class as children. |
| CollectionRenderer | CollectionRenderer: displays elements of Collection as children. |
| ContainerRenderer | ContainerRenderer: displays parent and children of java.awt.Container's; good for navigating Container hierarchy. |
| Jexa | Jexa: a Java examiner to examine objects via expandable/collapsible outlines. |
| Jexa.JexaOutlineMaker | |
| JexaApplet | Jexa Applet: An applet that displays an object with Jexa. |
| ListRenderer | ListRenderer: displays [index] element of List as children. |
| MapRenderer | MapRenderer: Displays key:element entries of Map
as children. |
| ObjectRenderer | ObjectRenderer: displays fields of objects and elements of arrays
(uncovered using java.lang.reflect and Class
methods). |
| TreeNodeRenderer | TreeNodeRenderer: displays parent and children of javax.swing.TreeNode's. |
Jexa, a Java examiner, provides expandable/collapsible outlines for browsing through object nets. Navigate indented outlines of objects by expanding the outline to see their parts, their parts' parts, etc.
Most uses will only need to call methods in the
Jexa class, e.g.,
Jexa.examine(objectToExamine).
Or to examine applets, simply place a JexaApplet on the
same html page as the other applets.
See also the user interfaces of the edu.mit.ai.psg.jevaESUI (or edu.mit.ai.psg.jevaUI) packages, at which you can directly type Java expressions. This is useful in conjunction with setting Jexa.mousedObject from Jexa (from an object's popup menu), so you can navigate to an object, then evaluate an expression that calls some method using that object.
To generate outlines, Outliner
keeps a table of outline renderers for instances of various classes
and interfaces. Outliner automatically chooses from the applicable
outline renderers the outline renderer for the most specific class
or interface of the object. The user can later redisplay with another
applicable outline renderer.
Jexa provides the following outline renderers:
BeanRenderer, the default, uses
java.beans.Introspector to display JavaBean properties of objects.
ClassRenderer displays static fields of a
Class
CollectionRenderer displays elements of a
Collection
ListRenderer displays indexed elements of a
List
MapRenderer displays keyed values in a
Map, sorted by key if possible.
ContainerRenderer displays children and parent
of a Container
TreeNodeRenderer displays children
and JavaBean properties of a TreeNode
ObjectRenderer, an alternate renderer for any
object, uses java.lang.reflect classes to display non-static
fields of (local) objects; this may show internal fields if
ReflectPermission is available.
Vector implements
java.util.List and java.util.Collection, so
BeanRenderer, CollectionRenderer, ListRenderer, and ObjectRenderer are all
applicable. The most specific interface or class is
java.lang.List, so Outliner chooses ListOutline to render the
outline.
These renderers for interfaces or classes extend
ObjectRenderer and override
ObjectRenderer.makeChildOutlineNodes(edu.mit.ai.psg.ui.outliner.OutlineNode).
New custom renderers can be added for any interface or class by defining the
renderer and calling
OutlineMaker.addRenderer(java.lang.Class, edu.mit.ai.psg.ui.outliner.OutlineRenderer)
as illustrated in the Outliner example
and Jexa examples.
Please read Jexa.copyright.
|
Copyright (c) 1996-1999 Massachusetts Institute of Technology Feedback: jeva-feedback@ai.mit.edu |
||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||