package org.reldb.rel.v0.storage.temporary; import java.util.Iterator; import java.util.LinkedList; import org.reldb.rel.v0.values.TupleIterator; import org.reldb.rel.v0.values.ValueTuple; // Memory-based temporary tuple storage. class TempTableMemory implements TempTable { private LinkedList<ValueTuple> storage; Iterator<ValueTuple> iterator() { return storage.iterator(); } public TempTableMemory() { storage = new LinkedList<ValueTuple>(); } public void close() { storage = null; } public void put(ValueTuple dataTuple) { storage.add(dataTuple); } // Get a TupleIterator on values public TupleIterator values() { return new TupleIterator() { Iterator<ValueTuple> keyIterator = storage.iterator(); @Override public boolean hasNext() { return keyIterator.hasNext(); } @Override public ValueTuple next() { return keyIterator.next(); } @Override public void close() { } }; } }