1 8 9 package collections.ship.factory; 10 11 import java.io.Serializable ; 12 13 import com.sleepycat.bind.tuple.MarshalledTupleKeyEntity; 14 import com.sleepycat.bind.tuple.TupleInput; 15 import com.sleepycat.bind.tuple.TupleOutput; 16 17 33 public class Shipment implements Serializable , MarshalledTupleKeyEntity { 34 35 static final String PART_KEY = "part"; 36 static final String SUPPLIER_KEY = "supplier"; 37 38 private transient String partNumber; 39 private transient String supplierNumber; 40 private int quantity; 41 42 public Shipment(String partNumber, String supplierNumber, int quantity) { 43 44 this.partNumber = partNumber; 45 this.supplierNumber = supplierNumber; 46 this.quantity = quantity; 47 } 48 49 public final String getPartNumber() { 50 51 return partNumber; 52 } 53 54 public final String getSupplierNumber() { 55 56 return supplierNumber; 57 } 58 59 public final int getQuantity() { 60 61 return quantity; 62 } 63 64 public String toString() { 65 66 return "[Shipment: part=" + partNumber + 67 " supplier=" + supplierNumber + 68 " quantity=" + quantity + ']'; 69 } 70 71 73 public void marshalPrimaryKey(TupleOutput keyOutput) { 74 75 keyOutput.writeString(this.partNumber); 76 keyOutput.writeString(this.supplierNumber); 77 } 78 79 public void unmarshalPrimaryKey(TupleInput keyInput) { 80 81 this.partNumber = keyInput.readString(); 82 this.supplierNumber = keyInput.readString(); 83 } 84 85 public boolean marshalSecondaryKey(String keyName, TupleOutput keyOutput) { 86 87 if (keyName.equals(PART_KEY)) { 88 keyOutput.writeString(this.partNumber); 89 return true; 90 } else if (keyName.equals(SUPPLIER_KEY)) { 91 keyOutput.writeString(this.supplierNumber); 92 return true; 93 } else { 94 throw new UnsupportedOperationException (keyName); 95 } 96 } 97 98 public boolean nullifyForeignKey(String keyName) { 99 100 throw new UnsupportedOperationException (keyName); 101 } 102 } 103 | Popular Tags |