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 General Public License (GPL): http://www.gnu.org/licenses/
004    
005    package graphlab.plugins.commandline.commands;
006    
007    import graphlab.graph.graph.EdgeModel;
008    import graphlab.graph.graph.VertexModel;
009    import graphlab.library.genericcloners.EdgeVertexConverter;
010    
011    /**
012     * @author Mohammad Ali Rostami
013     */
014    public class Converter
015            implements EdgeVertexConverter<VertexModel, VertexModel, EdgeModel, EdgeModel> {
016        public EdgeModel convert(EdgeModel e, VertexModel newSource, VertexModel newTarget) {
017            if (e != null)
018                return new EdgeModel(e, newSource, newTarget);
019            else
020                return new EdgeModel(newSource, newTarget);
021        }
022    
023        public VertexModel convert(VertexModel e) {
024            return new VertexModel(e);
025        }
026    }