/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2002, 2015 Oracle and/or its affiliates. All rights reserved. * * $Id$ */ package collections.ship.factory; import com.sleepycat.bind.tuple.MarshalledTupleEntry; import com.sleepycat.bind.tuple.TupleInput; import com.sleepycat.bind.tuple.TupleOutput; /** * A ShipmentKey serves as the key in the key/data pair for a shipment entity. * * <p> In this sample, ShipmentKey is bound to the stored key tuple entry by * implementing the MarshalledTupleEntry interface, which is called by {@link * SampleViews.MarshalledKeyBinding}. </p> * * @author Mark Hayes */ public class ShipmentKey implements MarshalledTupleEntry { private String partNumber; private String supplierNumber; public ShipmentKey(String partNumber, String supplierNumber) { this.partNumber = partNumber; this.supplierNumber = supplierNumber; } public final String getPartNumber() { return partNumber; } public final String getSupplierNumber() { return supplierNumber; } public String toString() { return "[ShipmentKey: supplier=" + supplierNumber + " part=" + partNumber + ']'; } // --- MarshalledTupleEntry implementation --- public ShipmentKey() { // A no-argument constructor is necessary only to allow the binding to // instantiate objects of this class. } public void marshalEntry(TupleOutput keyOutput) { keyOutput.writeString(this.partNumber); keyOutput.writeString(this.supplierNumber); } public void unmarshalEntry(TupleInput keyInput) { this.partNumber = keyInput.readString(); this.supplierNumber = keyInput.readString(); } }