/**
* CopyRight by Chinamobile
*
* AggregateValueOutEdgeNum.java
*/
package com.chinamobile.bcbsp.examples;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import java.util.Iterator;
import com.chinamobile.bcbsp.api.AggregateValue;
import com.chinamobile.bcbsp.api.AggregationContextInterface;
import com.chinamobile.bcbsp.comm.BSPMessage;
/**
* AggregateValueOutEdgeNum
* An example implementation of AggregateValue.
*
* @author Bai Qiushi
* @version 1.0 2011-12-08
*/
public class AggregateValueOutEdgeNum extends AggregateValue<Long>{
Long outgoingEdgeNum;
public Long getValue(){
return this.outgoingEdgeNum;
}
public void setValue(Long value){
this.outgoingEdgeNum = value;
}
/**
* Constructor
*/
public AggregateValueOutEdgeNum(){
}
public String toString() {
return String.valueOf(this.outgoingEdgeNum);
}
@Override
public void initValue(String s) {
this.outgoingEdgeNum = Long.valueOf(s);
}
@Override
public void initValue(Iterator<BSPMessage> messages, AggregationContextInterface context) {
this.outgoingEdgeNum = (long) context.getOutgoingEdgesNum();
}
@Override
public void readFields(DataInput in) throws IOException {
this.outgoingEdgeNum = in.readLong();
}
@Override
public void write(DataOutput out) throws IOException {
out.writeLong(this.outgoingEdgeNum);
}
}