Project

General

Profile

1
package eu.dnetlib.data.collector;
2

    
3
import java.util.Iterator;
4

    
5
/**
6
 * Created by Alessia Bardi on 10/04/17.
7
 *
8
 * Use this class instead of plain Iterator<String> when implementing new plugins in order to avoid problems when collecting while clicking on the workflow history.
9
 *
10
 * @author Alessia Bardi
11
 */
12
public abstract class ThreadSafeIterator implements Iterator<String> {
13

    
14
	@Override
15
	public boolean hasNext() {
16
		return doHasNext();
17
	}
18

    
19
	@Override
20
	public synchronized String next() {
21
		return doNext();
22
	}
23

    
24
	public abstract boolean doHasNext();
25
	public abstract String doNext();
26

    
27
	@Override
28
	public void remove() {
29
		throw new UnsupportedOperationException();
30
	}
31
}
(3-3/3)