Package edu.mit.ai.psg.jexa

Jexa, a Java examiner, provides expandable/collapsible outlines for browsing through object nets.

See:
          Description

Class Summary
BeanOutline BeanOutline: displays an object's JavaBean properties (uncovered using java.beans.Introspector and elements of arrays.
ClassOutline ClassOutline: Shows static fields of Class as children.
CollectionOutline CollectionOutline: displays elements of Collection as children.
DictionaryOutline DictionaryOutline: displays key:element pairs of Dictionary as children.
Jexa Jexa: a Java examiner to examine objects via expandable/collapsible outlines.
ListOutline ListOutline: displays [index] element of List as children.
MapOutline MapOutline: Displays key:element entries of Map as children. Sorts keys if not already a java.util.SortedMap and java.util.TreeSet finds a comparator; otherwise displays them in order returned by iterator.
ObjectOutline ObjectOutline: displays fields of objects and elements of arrays (uncovered using java.lang.reflect and Class methods).
 

Package edu.mit.ai.psg.jexa Description

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).

See also the user interfaces of the jevaESUI package, 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 generators for instances of various classes and interfaces. Outliner automatically chooses from the applicable outline generators the outline generator for the most specific class or interface of the object. The user can later redisplay with another applicable outline generator.

Jexa provides the following outline generators:

For example, an instance of java.util.Vector implements java.util.List and java.util.Collection, so BeanOutline, CollectionOutline, ListOutline, and ObjectOutline are all applicable. The most specific interface or class is java.lang.List, so Outliner chooses ListOutline to generate the outline.

These custom outlines for interfaces or classes override ObjectOutline.generateChildren(), and new ones can be added for other interfaces or classes calling Outliner.putOutlineGenerator . Please read Jexa.copyright.


Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-bugs@ai.mit.edu