1 8 9 package collections.ship.marshal; 10 11 import java.io.Serializable ; 12 13 import com.sleepycat.bind.tuple.TupleInput; 14 import com.sleepycat.bind.tuple.TupleOutput; 15 16 33 public class Shipment implements Serializable , MarshalledEntity { 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 53 void setKey(String partNumber, String supplierNumber) { 54 55 this.partNumber = partNumber; 56 this.supplierNumber = supplierNumber; 57 } 58 59 public final String getPartNumber() { 60 61 return partNumber; 62 } 63 64 public final String getSupplierNumber() { 65 66 return supplierNumber; 67 } 68 69 public final int getQuantity() { 70 71 return quantity; 72 } 73 74 public String toString() { 75 76 return "[Shipment: part=" + partNumber + 77 " supplier=" + supplierNumber + 78 " quantity=" + quantity + ']'; 79 } 80 81 83 Shipment() { 84 85 } 88 89 public void unmarshalPrimaryKey(TupleInput keyInput) { 90 91 this.partNumber = keyInput.readString(); 92 this.supplierNumber = keyInput.readString(); 93 } 94 95 public void marshalPrimaryKey(TupleOutput keyOutput) { 96 97 keyOutput.writeString(this.partNumber); 98 keyOutput.writeString(this.supplierNumber); 99 } 100 101 public boolean marshalSecondaryKey(String keyName, TupleOutput keyOutput) { 102 103 if (keyName.equals(PART_KEY)) { 104 keyOutput.writeString(this.partNumber); 105 return true; 106 } else if (keyName.equals(SUPPLIER_KEY)) { 107 keyOutput.writeString(this.supplierNumber); 108 return true; 109 } else { 110 throw new UnsupportedOperationException (keyName); 111 } 112 } 113 } 114 | Popular Tags |