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    package graphlab.library.genericcloners;
006    
007    import graphlab.library.BaseEdge;
008    import graphlab.library.BaseVertex;
009    
010    /**
011     * @author Omid
012     */
013    
014    public interface EdgeVertexConverter
015            <ImportVertexType extends BaseVertex,
016                    ExportVertexType extends BaseVertex,
017                    ImportEdgeType extends BaseEdge<ImportVertexType>,
018                    ExportEdgeType extends BaseEdge<ExportVertexType>>
019            extends
020            VertexConverter<ImportVertexType, ExportVertexType>,
021            EdgeConverter<ImportVertexType, ExportVertexType, ImportEdgeType, ExportEdgeType> {
022    
023        public ExportEdgeType convert(ImportEdgeType e, ExportVertexType newSource, ExportVertexType newTarget);
024    
025        public ExportVertexType convert(ImportVertexType e);
026    }