/** * PREdge.java */ package com.chinamobile.bcbsp.examples.sssp; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.util.StringTokenizer; import com.chinamobile.bcbsp.Constants; import com.chinamobile.bcbsp.api.Edge; /** * Edge implementation for PageRank. * * @author Bai Qiushi * @version 1.0 */ public class SSPEdge extends Edge<Integer, Integer> { int vertexID = 0; int edgeValue = 0; @Override public void fromString(String edgeData) throws Exception { StringTokenizer str = new StringTokenizer(edgeData, Constants.SPLIT_FLAG); if (str.countTokens() != 2) throw new Exception(); this.vertexID = Integer.valueOf(str.nextToken()); this.edgeValue = Integer.valueOf(str.nextToken()); } @Override public Integer getEdgeValue() { return this.edgeValue; } @Override public Integer getVertexID() { return this.vertexID; } @Override public String intoString() { return this.vertexID + Constants.SPLIT_FLAG + this.edgeValue; } @Override public void setEdgeValue(Integer edgeValue) { this.edgeValue = edgeValue; } @Override public void setVertexID(Integer vertexID) { this.vertexID = vertexID; } @Override public void readFields(DataInput in) throws IOException { this.vertexID = in.readInt(); this.edgeValue = in.readInt(); } @Override public void write(DataOutput out) throws IOException { out.writeInt(this.vertexID); out.writeInt(edgeValue); } @Override public boolean equals(Object object) { SSPEdge edge = (SSPEdge) object; if (this.vertexID == edge.getVertexID()) { return true; } else { return false; } } }