1 package com.terradue.jcatalogue.client;
2
3 /*
4 * Copyright 2011-2012 Terradue srl
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19 import java.util.Iterator;
20
21 import lombok.Data;
22
23 @Data
24 final class LazyLoadSerieIterator
25 implements Iterator<Series>
26 {
27
28 private final CatalogueClient catalogueClient;
29
30 private final Iterator<String> serieUrlsIterator;
31
32 @Override
33 public boolean hasNext()
34 {
35 return serieUrlsIterator.hasNext();
36 }
37
38 @Override
39 public Series next()
40 {
41 String nextUrl = serieUrlsIterator.next();
42 return catalogueClient.getSeries( nextUrl );
43 }
44
45 @Override
46 public void remove()
47 {
48 // not needed, won't be invoked ATM
49 }
50
51 }