/** * */ package net.jxta.impl.cm.bdb; import com.sleepycat.bind.tuple.TupleBinding; import com.sleepycat.bind.tuple.TupleInput; import com.sleepycat.bind.tuple.TupleOutput; /** * Responsible for converting {@link AdvertisementDbRecord} to/from * {@link com.sleepycat.je.DatabaseEntry}. */ class AdvertisementDbRecordTupleBinding extends TupleBinding<AdvertisementDbRecord> { @Override public AdvertisementDbRecord entryToObject(TupleInput input) { AdvertisementDbRecord r = new AdvertisementDbRecord(); int dataSize = input.readInt(); byte[] bytes = new byte[dataSize]; input.readFast(bytes, 0, bytes.length); r.data = bytes; r.lifetime = input.readLong(); r.expiration = input.readLong(); r.isAdvertisement = input.readBoolean(); return r; } @Override public void objectToEntry(AdvertisementDbRecord object, TupleOutput output) { output.writeInt(object.data.length); output.writeFast(object.data); output.writeLong(object.lifetime); output.writeLong(object.expiration); output.writeBoolean(object.isAdvertisement); } }