TupleTupleBinding.java [plain text]
package com.sleepycat.bdb.bind.tuple;
import com.sleepycat.bdb.bind.DataBinding;
import com.sleepycat.bdb.bind.DataBuffer;
import com.sleepycat.bdb.bind.DataFormat;
import com.sleepycat.bdb.bind.EntityBinding;
import com.sleepycat.bdb.bind.tuple.TupleFormat;
import com.sleepycat.bdb.bind.tuple.TupleInput;
import com.sleepycat.bdb.bind.tuple.TupleOutput;
import java.io.IOException;
public abstract class TupleTupleBinding implements EntityBinding {
protected TupleFormat keyFormat;
protected TupleFormat valueFormat;
public TupleTupleBinding(TupleFormat keyFormat,
TupleFormat valueFormat) {
this.keyFormat = keyFormat;
this.valueFormat = valueFormat;
}
public Object dataToObject(DataBuffer key, DataBuffer value)
throws IOException {
return dataToObject(keyFormat.dataToInput(key),
valueFormat.dataToInput(value));
}
public void objectToKey(Object object, DataBuffer key)
throws IOException {
TupleOutput output = keyFormat.newOutput();
objectToKey(object, output);
keyFormat.outputToData(output, key);
}
public void objectToValue(Object object, DataBuffer value)
throws IOException {
TupleOutput output = valueFormat.newOutput();
objectToValue(object, output);
valueFormat.outputToData(output, value);
}
public DataFormat getKeyFormat() {
return keyFormat;
}
public DataFormat getValueFormat() {
return valueFormat;
}
public abstract Object dataToObject(TupleInput keyInput,
TupleInput valueInput)
throws IOException;
public abstract void objectToKey(Object object, TupleOutput output)
throws IOException;
public abstract void objectToValue(Object object, TupleOutput output)
throws IOException;
}