com.scalar.database.storage.cassandra.ScannerIterator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of scalardb Show documentation
Show all versions of scalardb Show documentation
A universal transaction manager that achieves database-agnostic transactions and distributed transactions that span multiple databases
package com.scalar.database.storage.cassandra;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.TableMetadata;
import com.scalar.database.api.Result;
import java.util.Iterator;
import javax.annotation.Nullable;
import javax.annotation.concurrent.NotThreadSafe;
@NotThreadSafe
public final class ScannerIterator implements Iterator {
private final Iterator iterator;
private final TableMetadata metadata;
public ScannerIterator(ResultSet resultSet, TableMetadata metadata) {
iterator = resultSet.iterator();
this.metadata = metadata;
}
@Override
public boolean hasNext() {
return iterator.hasNext();
}
@Override
@Nullable
public Result next() {
Row row = iterator.next();
if (row == null) {
return null;
}
return new ResultImpl(row, metadata);
}
}