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.EdgeVertexCopier;
010    
011    
012    /**
013     * @author Mohammad Ali Rostami
014     */
015    public class Copier
016            implements EdgeVertexCopier<VertexModel, EdgeModel> {
017        public EdgeModel convert(EdgeModel e, VertexModel newSource, VertexModel newTarget) {
018            if (e != null)
019                return new EdgeModel(e, newSource, newTarget);
020            else
021                return new EdgeModel(newSource, newTarget);
022        }
023    
024        public VertexModel convert(VertexModel e) {
025            return new VertexModel(e);
026        }
027    }