blob: 54bcee82b94bbc058e70718a710a9b2499a16953 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package io.v.syncbase.v23.services.syncbase.nosql;
import io.v.v23.verror.VException;
/**
* An interface for iterating through a collection of key/value pairs (obtained via
* {@link Table#scan Table.scan()}).
*/
public interface ScanStream extends Stream {
/**
* Returns the key of the element that was staged by {@link #advance}.
* <p>
* This method does not block.
*
* @throws VException if {@link #advance} returned {@code false} or was not called at all
*/
String key() throws VException;
/**
* Returns the value of the element that was staged by {@link #advance}.
* <p>
* This method does not block.
*
* @throws VException if the value could not be decoded or if {@link #advance} returned
* {@code false} or was not called at all
*/
Object value() throws VException;
}