View Javadoc

1   /*
2    ORDI - Ontology Repository and Data Integration
3   
4    Copyright (c) 2004-2007, OntoText Lab. / SIRMA
5   
6    This library is free software; you can redistribute it and/or modify it under
7    the terms of the GNU Lesser General Public License as published by the Free
8    Software Foundation; either version 2.1 of the License, or (at your option)
9    any later version.
10   This library is distributed in the hope that it will be useful, but WITHOUT
11   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12   FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13   details.
14   You should have received a copy of the GNU Lesser General Public License along
15   with this library; if not, write to the Free Software Foundation, Inc.,
16   59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17   */
18  package com.ontotext.ordi.iterator;
19  
20  import com.ontotext.ordi.exception.ORDIRuntimeException;
21  
22  import info.aduna.iteration.CloseableIteration;
23  
24  /**
25   * This class wraps the Sesame CloseableIteration type and provides ORDI
26   * friendly iteration interface. The type is used to integrated the Sesame Query
27   * engine functionality in ORDI.
28   * 
29   * @author vassil
30   */
31  public class WrappedSesameIteratorImpl<E> implements CloseableIterator<E> {
32  
33      private CloseableIteration<E, ? extends Exception> iter;
34  
35      public WrappedSesameIteratorImpl(
36              CloseableIteration<E, ? extends Exception> iter) {
37          if (iter == null) {
38              throw new IllegalArgumentException();
39          }
40          this.iter = iter;
41      }
42  
43      public void close() {
44          try {
45              iter.close();
46          } catch (Exception e) {
47              throw new ORDIRuntimeException(e);
48          }
49      }
50  
51      public boolean hasNext() {
52          try {
53              return iter.hasNext();
54          } catch (Exception e) {
55              throw new ORDIRuntimeException(e);
56          }
57      }
58  
59      public E next() {
60          try {
61              return iter.next();
62          } catch (Exception e) {
63              throw new ORDIRuntimeException(e);
64          }
65      }
66  
67      public void remove() {
68          try {
69              iter.remove();
70          } catch (Exception e) {
71              throw new ORDIRuntimeException(e);
72          }
73      }
74  
75  }