Project

General

Profile

1
package eu.dnetlib.enabling.resultset.client;
2

    
3
import java.util.Iterator;
4

    
5
import eu.dnetlib.enabling.resultset.rmi.ResultSetService;
6

    
7
/**
8
 * 
9
 * @author claudio
10
 *
11
 */
12
public class IterableResultSetClient implements Iterable<String> {
13

    
14
	/**
15
	 * reference to resultset service.
16
	 */
17
	private ResultSetService resultSet;
18
	
19
	/**
20
	 * resultset id
21
	 */
22
	private String rsId;
23
	
24
	/**
25
	 * page size.
26
	 */
27
	private int pageSize;
28
	
29
	/**
30
	 * timeout
31
	 */
32
	private long timeout;
33
	
34
	public IterableResultSetClient(ResultSetService resultSet, String rsId, int pageSize) {
35
		this.resultSet = resultSet;
36
		this.rsId = rsId;
37
		this.pageSize = pageSize;
38
		this.timeout = 0;
39
	} 
40
	
41
	public IterableResultSetClient(ResultSetService resultSet, String rsId, int pageSize, long timeout) {
42
		this(resultSet, rsId, pageSize);
43
		this.timeout = timeout;
44
	} 
45
	
46
	@Override
47
	public Iterator<String> iterator() {
48
		if (timeout == 0)
49
			return new ResultSetClientIterator(resultSet, rsId, pageSize);
50
		return new ResultSetClientIterator(resultSet, rsId, pageSize, timeout);
51
	}
52

    
53
	public int getPageSize() {
54
		return pageSize;
55
	}
56

    
57
	public void setPageSize(int pageSize) {
58
		this.pageSize = pageSize;
59
	}
60

    
61
}
(1-1/5)