dnet-dedup/dnet-dedup-test/src/main/java/eu/dnetlib/support/DnetAccumulator.java

68 lines
1.2 KiB
Java

package eu.dnetlib.support;
import org.apache.spark.util.AccumulatorV2;
public class DnetAccumulator extends AccumulatorV2<Long, Long> {
private Long counter= 0L;
private String group;
private String name;
public DnetAccumulator(final String group, final String name){
this.group = group;
this.name = name;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean isZero() {
return counter == 0;
}
@Override
public AccumulatorV2<Long, Long> copy() {
final DnetAccumulator acc = new DnetAccumulator(group, name);
acc.add(counter);
return acc;
}
@Override
public void reset() {
counter = 0L;
}
@Override
public void add(Long aLong) {
counter += aLong;
}
@Override
public void merge(AccumulatorV2<Long, Long> accumulatorV2) {
add(accumulatorV2.value());
}
@Override
public Long value() {
return counter;
}
}