E
- the type being iteratedpublic class DataIterator<E>
extends java.lang.Object
implements java.util.Iterator<E>
Warning : elements will not be sorted accross sources, JStore objects are iterated first, then JcmsDB object are iterated !
This iterator does not support remove operation.
Example to iterate all Publication object :
DataIterator<Publication> iterator = new DataIterator<Publication>(); // JStore TreeSet<Publication> jStorePubSet = new TreeSet<Publication>(channel.getDataSet(Publication.class)); iterator.addCollection(jStorePubSet); // JcmsDB for(Class<? extends Publication> clazz : channel.getDBPublicationClassList()) { ScrollableResults sr = HibernateUtil.getSession().createCriteria(clazz).scroll(); int dbcount = HibernateUtil.queryCountExact(clazz, null); iterator.addScrollableResults(sr, dbcount); }
Constructor and Description |
---|
DataIterator()
Creates a new empty DataIterator.
|
DataIterator(java.util.Collection<? extends E> coll)
Creates a new DataIterator to iterate the
specified Collection of objects.
|
DataIterator(java.util.Collection<? extends E> coll,
org.hibernate.ScrollableResults sr,
int dbcount)
Creates a new DataIterator to iterate both the specified Collection the JcmsDB results.
|
DataIterator(org.hibernate.ScrollableResults sr,
int dbcount)
Creates a new DataIterator to iterate the specified JcmsDB results.
|
Modifier and Type | Method and Description |
---|---|
void |
addCollection(java.util.Collection<? extends E> coll)
Add the specified Collection to the element to iterate.
|
void |
addDBClass(java.lang.Class<?> clazz)
Add the specified DB Class to the element to iterate.
|
void |
addScrollableResults(org.hibernate.ScrollableResults sr,
int dbcount)
Add the specified ScrollableResults to the element to iterate.
|
boolean |
hasNext()
Returns
true if the iteration has more elements. |
E |
next()
Returns the next element in the iteration.
|
void |
remove()
Unsupported Operation
|
int |
size()
Return the total number of object available in the iteration.
|
public DataIterator()
public DataIterator(java.util.Collection<? extends E> coll)
coll
- a collection to iteratepublic DataIterator(org.hibernate.ScrollableResults sr, int dbcount)
sr
- the JcmsDB ScrollableResults.dbcount
- the number or result returned in the ScrollableResults.public DataIterator(java.util.Collection<? extends E> coll, org.hibernate.ScrollableResults sr, int dbcount)
coll
- the collection to iterate (can be null, in which case iterate on collection is skipped).sr
- the JcmsDB ScrollableResults.dbcount
- the number or result returned in the ScrollableResults.public void addCollection(java.util.Collection<? extends E> coll)
coll
- the Collection to iterate (can be null, in which case iterate on collection is skipped).java.lang.IllegalStateException
- if the iteration has already begunpublic void addScrollableResults(org.hibernate.ScrollableResults sr, int dbcount)
sr
- the JcmsDB ScrollableResults.dbcount
- the number or result returned in the ScrollableResults.java.lang.IllegalStateException
- if the iteration has already begunpublic void addDBClass(java.lang.Class<?> clazz)
clazz
- a class of data inside the databasejava.lang.IllegalStateException
- if the iteration has already begunpublic boolean hasNext()
true
if the iteration has more elements. (In other
words, returns true
if next
would return an element
rather than throwing an exception.)hasNext
in interface java.util.Iterator<E>
true
if the iterator has more elements.public E next()
hasNext()
method returns false will
return each element in the underlying collection exactly once.next
in interface java.util.Iterator<E>
java.util.NoSuchElementException
- iteration has no more elements.public int size()
Warning : When used with JcmsDB results, the correctness of this number depends on the parameters specified at construction time !
public void remove()
remove
in interface java.util.Iterator<E>
java.lang.UnsupportedOperationException
Copyright © 2001-2019 Jalios SA. All Rights Reserved.