IBM alphaWorks
E-Mail Site Map
Search

alphaWorks
Internet Access Required Internet Access Required alphaWorks Press and Awards Information about alphaWorks Internet Access Required XML Tutorials and Papers
Graph Foundation Classes for Java                                    | Overview | FAQ | Requirements | Discussion |

Update: [05/28/99]
Removed all dependencies on ibm.* packages. Also, added the graph-canvas events support in package com.ibm.graph.awt.


OVERVIEW
The graph theoretical and graph drawing and layout capabilities of the framework are largely independent of each other. That independence is partly achieved by separation of packages according to function: graph theory, graph drawing and graph layout being the primary subdivision. The base classes that correspond to notions such as graph, vertices and edges have a very small number of private and no public fields, except for two dictionaries that are the only mechanism, barring class extension, to store private or user data. The first is the "system" and the other, the "user" dictionary. Therefore, arbitrary user data can be defined and stored without resorting to extensions of the base classes.

Graph Foundation Classes for Java itself makes use of the system dictionary to store state. Flexibility in graph drawing and layout is achieved by a "plug-in" architecture. Classes for drawing vertices and edges are programmed to satisfy an interface recognized by Graph Foundation Classes for Java. Instances of such classes are assigned to a reserved key in the system dictionary of individual vertices and edges. Those instances have access to both dictionaries and will typically use data stored there for rendering and will sometimes store data for later reuse.

IBM is providing these classes for your review and input. Try them out and come back to our discussion forum to report problems, suggest practical uses or recommend ways to deploy them.

FAQ
  1. What is GFC?

    GFC, the Graph Foundation Classes for Java, is a set of packages for working with graphs. It includes packages for creating graph models and performing graph-theoretical computations on them. It also includes two frameworks: the Graph Drawing Framework (GDF) and the Graph Layout Framework (GLF). As the names imply, the GDF is used for drawing a graph and the GLF is used for automatic layout of a graph.

  2. Who develops GFC?

    The author of GFC is Christian Lenz Cesar. As frameworks, the GDF and GLF are open to contributions. The GLF in particular includes a couple of layout algorithms contributed by Daniel Tunkenlang.

  3. Which version of the Java JDK should I use?

    The GFC has been tested on JDK 1.1.4 and above. It should also work with JDK 1.2.

    REQUIREMENTS
    Click here to view the
    Installation Procedures

    Graph Foundation Classes for Java Platform Requirements
    Platform Windows 95/98/NT 4.0, UNIX, and any Java enabled platform
    Java Tools JDK1.1 and above



Graph Foundation Classes for Java Installation Procedures:

  1. Download and unzip GFC4Java1.1.1.zip.

  2. Install GFC if you want to work with graphs as data structures only.
    Install GFC and GDF if you want to display graphs.
    Install GFC, GDF and GLF if you want to automatically layout and display graphs.

  3. For further instructions please follow the README file.
File Size Comments  
GFC4Java1.1.1.zip 1076 KB ZIP file containing GFC package.