⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graphtoxmleventgeneratorimpl.java

📁 OpenJGraph是一个开源的Java库
💻 JAVA
字号:
package salvo.jesus.graph.xml;import salvo.jesus.graph.*;import salvo.jesus.graph.visual.VisualGraph;import java.util.ArrayList;import java.util.TreeSet;import java.util.Iterator;/** * @author  Jesus M. Salvo Jr. */public class GraphToXMLEventGeneratorImpl implements GraphToXMLEventGenerator {    ArrayList   handlers;    public GraphToXMLEventGeneratorImpl() {        this.handlers = new ArrayList();    }    public void addHandler( GraphToXMLHandler handlerToAdd ) {        this.handlers.add( handlerToAdd );    }    public void removeHandler( GraphToXMLHandler handlerToRemove ) {        this.handlers.remove( handlerToRemove );    }    /**     * Serialize the Graph using the specified XMLSerializer     */    public void serialize( Graph graph ) throws Exception {        TreeSet     edgeSet = new TreeSet( new EdgeComparator() );        Iterator    vertexIterator = graph.getVerticesIterator();        Iterator    edgeIterator;        Vertex      vertex;        Edge        edge;        this.notifyStartSerialize( graph );        // Serialize the node elements        while( vertexIterator.hasNext() ) {            vertex = (Vertex) vertexIterator.next();            this.notifySerializeVertex( vertex );            // Store the edges of the vertices into the set,            // guaranteeing uniqueness            edgeSet.addAll( graph.getEdges( vertex ) );        }        // Serialize the edge elements        edgeIterator = edgeSet.iterator();        while( edgeIterator.hasNext() ) {            edge = (Edge) edgeIterator.next();            this.notifySerializeEdge( edge );        }        this.notifyEndSerialize();    }    public void serialize( VisualGraph vGraph ) throws Exception {        Graph       graph = vGraph.getGraph();        TreeSet     edgeSet = new TreeSet( new EdgeComparator() );        Iterator    vertexIterator = graph.getVerticesIterator();        Iterator    edgeIterator;        Vertex      vertex;        Edge        edge;        this.notifyStartSerialize( vGraph );        // Serialize the node elements        while( vertexIterator.hasNext() ) {            vertex = (Vertex) vertexIterator.next();            this.notifySerializeVertex( vertex );            // Store the edges of the vertices into the set,            // guaranteeing uniqueness            edgeSet.addAll( graph.getEdges( vertex ) );        }        // Serialize the edge elements        edgeIterator = edgeSet.iterator();        while( edgeIterator.hasNext() ) {            edge = (Edge) edgeIterator.next();            this.notifySerializeEdge( edge );        }        this.notifyEndSerialize();    }    public void notifyStartSerialize( Graph graph ) throws Exception {        Iterator    iterator = this.handlers.iterator();        GraphToXMLHandler   handler;        while( iterator.hasNext()) {            handler = (GraphToXMLHandler) iterator.next();            handler.startSerialize( graph );        }    }    public void notifyStartSerialize( VisualGraph vGraph ) throws Exception {        Iterator    iterator = this.handlers.iterator();        GraphToXMLHandler   handler;        while( iterator.hasNext()) {            handler = (GraphToXMLHandler) iterator.next();            handler.startSerialize( vGraph );        }    }    public void notifySerializeVertex( Vertex vertex ) throws Exception {        Iterator    iterator = this.handlers.iterator();        GraphToXMLHandler   handler;        while( iterator.hasNext()) {            handler = (GraphToXMLHandler) iterator.next();            handler.serializeVertex( vertex );            handler.endSerializeVertex( vertex );        }    }    public void notifySerializeEdge( Edge edge ) throws Exception {        Iterator    iterator = this.handlers.iterator();        GraphToXMLHandler   handler;        while( iterator.hasNext()) {            handler = (GraphToXMLHandler) iterator.next();            handler.serializeEdge( edge );            handler.endSerializeEdge( edge );        }    }    public void notifyEndSerialize() throws Exception {        Iterator    iterator = this.handlers.iterator();        GraphToXMLHandler   handler;        while( iterator.hasNext()) {            handler = (GraphToXMLHandler) iterator.next();            handler.endSerialize();        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -