1 8 9 package com.sleepycat.bind.serial; 10 11 import com.sleepycat.bind.EntityBinding; 12 import com.sleepycat.je.DatabaseEntry; 13 14 30 public abstract class SerialSerialBinding implements EntityBinding { 31 32 private SerialBinding keyBinding; 33 private SerialBinding dataBinding; 34 35 45 public SerialSerialBinding(ClassCatalog classCatalog, 46 Class keyClass, 47 Class dataClass) { 48 49 this(new SerialBinding(classCatalog, keyClass), 50 new SerialBinding(classCatalog, dataClass)); 51 } 52 53 60 public SerialSerialBinding(SerialBinding keyBinding, 61 SerialBinding dataBinding) { 62 63 this.keyBinding = keyBinding; 64 this.dataBinding = dataBinding; 65 } 66 67 public Object entryToObject(DatabaseEntry key, DatabaseEntry data) { 69 70 return entryToObject(keyBinding.entryToObject(key), 71 dataBinding.entryToObject(data)); 72 } 73 74 public void objectToKey(Object object, DatabaseEntry key) { 76 77 object = objectToKey(object); 78 keyBinding.objectToEntry(object, key); 79 } 80 81 public void objectToData(Object object, DatabaseEntry data) { 83 84 object = objectToData(object); 85 dataBinding.objectToEntry(object, data); 86 } 87 88 97 public abstract Object entryToObject(Object keyInput, Object dataInput); 98 99 106 public abstract Object objectToKey(Object object); 107 108 115 public abstract Object objectToData(Object object); 116 } 117 | Popular Tags |