package com.yihu.hos.common.graph;

/**
 * 一条边，可以根据需要继承此类
 * @param <V>
 */
public class Edge<V> {
    /**起点*/
    private V src;
    /**终点*/
    private V dest;
    /**名称*/
    private V name;
    
    /**
     * 带名称的一条边
     * @param src
     * @param dest
     * @param name
     */
    public Edge(V src, V dest, V name) {
        this.src = src;
        this.dest = dest;
        this.name = name;
    }
    
    /**
     * 获取起点
     * @return
     */
    public V getSource() {
        return this.src;
    }
    
    /**
     * 获取终点
     * @return
     */
    public V getDest() {
        return this.dest;
    }
    
    /**
     * 获取名称
     * @return
     */
    public V getName() {
        return this.name;
    }
    
    @Override
    public String toString() {
        String ret = String.format("src : %s , dest : %s , weight : %s", src, dest, name);
        return ret;
    }
}