/** * Simple * * tag: kkvilekval@acm.org Fri Aug 9 15:06:01 2002 (Simple) * Copyright kkvilekval@acm.org See COPYRIGHT for details. */ import java.io.FileOutputStream; import java.io.ObjectOutputStream; import agl2.Vertex; import agl2.Graph; import agl2.GraphBuilder; import agl2.BigraphBuilder; import agl2.Bigraph; import agl2.DigraphBuilder; import agl2.Digraph; import agl2.UngraphBuilder; import agl2.Ungraph; import agl2.GraphTag; /** * The Simple description. * @version $Revision$, $Date$ * @author Kristian Kvilekval */ public class Simple implements GraphTag { /* Private/Public Variables */ /** * The default constructor */ public Simple () { } static void usage() { System.err.println ("usage: Simple [digraph|ungraph|bigraph]"); } public static void main(String[] args) { GraphBuilder gb; if (args.length < 1) { usage(); return ; } if (args[0].equals( "digraph" )) gb = new DigraphBuilder(); else if (args[0].equals( "ungraph" )) gb = new UngraphBuilder(new GraphTag[] { UNGRAPH, OBJECT_VERTEX }); else if (args[0].equals( "bigraph" )) gb = new BigraphBuilder(new GraphTag[] { BIGRAPH, OBJECT_VERTEX }); else { usage(); return; } String a,b,c,d,e; Object va,vb,vc,vd,ve; va = gb.addVertex (a = new String ("a")); vb = gb.addVertex (b = new String ("b")); vc = gb.addVertex (c = new String ("c")); vd = gb.addVertex (d = new String ("d")); ve = gb.addVertex (e = new String ("e")); gb.addEdge (va,vb, null); gb.addEdge (va,vd, null); gb.addEdge (vb,vc, null); gb.addEdge (vc,vd, null); gb.addEdge (vc,ve, null); gb.addEdge (vd,va, null); gb.addEdge (ve,va, null); System.out.println (gb.toString()); //Ungraph //0->1,3,4, //1->0,2, //2->1,3,4, //3->0,2, //4->0,2, // Digraph System.out.println ("has vertext va?"+ gb.hasVertex (va)); System.out.println ("has vertext a?"+ gb.hasVertex (a)); System.out.println ("has vertext z?"+ gb.hasVertex (new String("z"))); //Ungraph g = gb.getUngraph(); //Ungraph g = (Ungraph)gb.getGraph(); Graph g = gb.getGraph(); System.out.println (g.toString()); try { FileOutputStream ostream = new FileOutputStream("sample.graph"); ObjectOutputStream p = new ObjectOutputStream(ostream); p.writeObject (g); } catch (java.io.IOException io) { System.err.println ("Could not save graphs"); io.printStackTrace(); } } };