Project

General

Profile

1
package eu.dnetlib.msro.workflows.nodes.objectstore;
2

    
3
import java.io.File;
4
import java.util.Iterator;
5

    
6
public abstract class IteratorRepository implements Iterator<String>, Iterable<String> {
7

    
8
	protected Iterator<File> input;
9
	protected Iterable<File> inputIterable;
10
	protected String repositoryPrefix;
11
	protected String oaiPrefix;
12

    
13
	public IteratorRepository(final Iterable<File> input, final String repositoryPrefix, final String oaiPrefix) {
14
		this.inputIterable = input;
15
		this.repositoryPrefix = repositoryPrefix;
16
		this.oaiPrefix = oaiPrefix;
17
	}
18

    
19
	abstract String generateNextElement();
20

    
21
	@Override
22
	public boolean hasNext() {
23
		return input.hasNext();
24
	}
25

    
26
	@Override
27
	public String next() {
28
		return generateNextElement();
29
	}
30

    
31
	@Override
32
	public void remove() {
33
		// TODO Auto-generated method stub
34
	}
35

    
36
	@Override
37
	public Iterator<String> iterator() {
38
		this.input = inputIterable.iterator();
39
		return this;
40
	}
41

    
42
}
(4-4/6)