Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.github.braully.graph.hn; import com.fasterxml.jackson.annotation.JsonIgnore; import edu.uci.ics.jung.graph.UndirectedSparseGraph; import edu.uci.ics.jung.graph.util.EdgeType; import edu.uci.ics.jung.graph.util.Pair; import java.util.Collection; import java.util.List; import java.util.Map; /** * * @author strike */ public class UndirectedSparseGraphTO<V, E extends Number> extends UndirectedSparseGraph { public Collection<Pair<V>> getPairs() { Collection values = this.edges.values(); return (Collection<Pair<V>>) values; } @JsonIgnore @Override public Collection getEdges() { return super.getEdges(); } public void setEdges(Map edges) { this.edges = edges; } public void setPairs(Collection pairs) { if (pairs != null) { Number n = 0; for (Object edge : pairs) { if (edge instanceof List) { List ed = (List) edge; this.addEdge(n, ed.get(0), ed.get(1)); n = n.intValue() + 1; } } } } @JsonIgnore @Override public int getEdgeCount() { return super.getEdgeCount(); } @JsonIgnore @Override public int getVertexCount() { return super.getVertexCount(); } @JsonIgnore @Override public EdgeType getDefaultEdgeType() { return super.getDefaultEdgeType(); //To change body of generated methods, choose Tools | Templates. } @Override public Collection getVertices() { return super.getVertices(); } public void setVertices(Collection cs) { if (this.vertices != null && !this.vertices.isEmpty()) { throw new IllegalArgumentException(); } if (cs != null) { for (Object o : cs) { this.addVertex(o); } } } }