|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectit.unimi.dsi.io.OfflineIterable<T,U>
public class OfflineIterable<T,U extends T>
An iterable that offers elements that were previously stored offline using specialized
serialization methods. At construction, you provide a serializer
that establishes how elements are written offline; after that, you can
add elements one at a time or in a bulk way.
At any moment, you can get an OfflineIterator
on this object that returns all the elements added so far. Note that the returned iterator caches the current number of elements,
so each iterator will return just the elements added at the time of its creation.
Warning: The store object provided at construction time is shared by all iterators.
Both OfflineIterable
and OfflineIterator
are SafelyCloseable
(the latter will
close its input stream when hasNext()
returns false), but for better resource management you should close them after usage.
Nested Class Summary | |
---|---|
static class |
OfflineIterable.OfflineIterator<A,B extends A>
An iterator returned by an OfflineIterable . |
static interface |
OfflineIterable.Serializer<A,B extends A>
Determines a strategy to serialize and deserialize elements. |
Field Summary | |
---|---|
static long |
serialVersionUID
|
Constructor Summary | |
---|---|
OfflineIterable(OfflineIterable.Serializer<? super T,? super U> serializer,
U store)
Creates an offline iterable with given serializer. |
Method Summary | |
---|---|
void |
add(T x)
Adds a new element at the end of this iterable. |
void |
addAll(Iterable<T> it)
Adds all the elements of the given iterable at the end of this iterable. |
void |
close()
|
protected void |
finalize()
|
OfflineIterable.OfflineIterator<T,U> |
iterator()
|
long |
length()
Deprecated. Use size64() instead. |
int |
size()
Returns the number of elements added so far, unless it is too big to fit in an integer (in which case this method will throw an exception). |
long |
size64()
Returns the number of elements added so far. |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final long serialVersionUID
Constructor Detail |
---|
public OfflineIterable(OfflineIterable.Serializer<? super T,? super U> serializer, U store) throws IOException
serializer
- the serializer to be used.store
- an object that is (re)used by the iterator(s) iterating on this iterable.
IOException
Method Detail |
---|
public void add(T x) throws IOException
x
- the element to be added.
IOException
public void addAll(Iterable<T> it) throws IOException
it
- the iterable producing the elements to be added.
IOException
public OfflineIterable.OfflineIterator<T,U> iterator()
iterator
in interface Iterable<U extends T>
public void close()
close
in interface Closeable
protected void finalize() throws Throwable
finalize
in class Object
Throwable
public int size()
size
in interface Size64
size64()
public long size64()
size64
in interface Size64
@Deprecated public long length()
size64()
instead.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |