001    // GraphLab Project: http://graphlab.sharif.edu
002    // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology
003    // Distributed under the terms of the GNU Lesser General Public License (LGPL): http://www.gnu.org/licenses/
004    
005    /*
006     * GraphConverter.java
007     *
008     * Created on November 21, 2004, 2:07 AM
009     */
010    
011    package graphlab.library.genericcloners;
012    
013    import graphlab.library.BaseEdge;
014    import graphlab.library.BaseGraph;
015    import graphlab.library.BaseVertex;
016    
017    
018    /**
019     * @author Omid Aladini
020     */
021    public interface GraphConverter
022            <ImportVertexType extends BaseVertex,
023                    ExportVertexType extends BaseVertex,
024                    ImportEdgeType extends BaseEdge<ImportVertexType>,
025                    ExportEdgeType extends BaseEdge<ExportVertexType>,
026                    ImportGraphType extends BaseGraph<ImportVertexType, ImportEdgeType>,
027                    ExportGraphType extends BaseGraph<ExportVertexType, ExportEdgeType>>
028    
029            extends EdgeConverter<ImportVertexType, ExportVertexType, ImportEdgeType, ExportEdgeType>,
030            VertexConverter<ImportVertexType, ExportVertexType> {
031    
032        public ExportGraphType convert(ImportGraphType g);
033    
034    }