package org.embulk.spi; import java.util.List; import org.msgpack.value.ImmutableValue; public class Page { private final Buffer buffer; private List<String> stringReferences; private List<ImmutableValue> valueReferences; protected Page(Buffer buffer) { this.buffer = buffer; } public static Page allocate(int length) { return new Page(Buffer.allocate(length)); } public static Page wrap(Buffer buffer) { return new Page(buffer); } public Page setStringReferences(List<String> values) { this.stringReferences = values; return this; } public Page setValueReferences(List<ImmutableValue> values) { this.valueReferences = values; return this; } public List<String> getStringReferences() { // TODO used by mapreduce executor return stringReferences; } public List<ImmutableValue> getValueReferences() { // TODO used by mapreduce executor return valueReferences; } public String getStringReference(int index) { return stringReferences.get(index); } public ImmutableValue getValueReference(int index) { return valueReferences.get(index); } public void release() { buffer.release(); } public Buffer buffer() { return buffer; } }