public interface Enhanced
See Accessor
for method documentation. EnhancedAccessor
implements Accessor and forwards all calls to methods in the Enhanced
class.
Each class that implements this interface (including its subclasses and
superclasses except for Object) must also implement a static block that
registers a prototype instance by calling
EnhancedAccessor.registerPrototype. Other instances are created from the
protype instance using bdbNewInstance()
.
static { EnhancedAccessor.registerPrototype(new Xxx()); }
An example of the generated code for reading and writing fields is shown below.
private int f1; private String f2; private MyClass f3; public void bdbWriteNonKeyFields(EntityOutput output) { super.bdbWriteNonKeyFields(output); output.writeInt(f1); output.writeObject(f2, null); output.writeObject(f3, null); } public void bdbReadNonKeyFields(EntityInput input, int startField, int endField, int superLevel) { if (superLevel != 0) { super.bdbReadNonKeyFields(input, startField, endField, superLevel - 1); } if (superLevel <= 0) { switch (startField) { case 0: f1 = input.readInt(); if (endField == 0) break; case 1: f2 = (String) input.readObject(); if (endField == 1) break; case 2: f3 = (MyClass) input.readObject(); } } }
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
bdbGetField(java.lang.Object o,
int field,
int superLevel,
boolean isSecField) |
boolean |
bdbIsPriKeyFieldNullOrZero()
Calls the super class method if this class does not contain the primary
key field.
|
java.lang.Object |
bdbNewArray(int len) |
java.lang.Object |
bdbNewInstance() |
void |
bdbReadNonKeyFields(EntityInput input,
int startField,
int endField,
int superLevel) |
void |
bdbReadPriKeyField(EntityInput input,
Format format)
Calls the super class method if this class does not contain the primary
key field.
|
void |
bdbReadSecKeyFields(EntityInput input,
int startField,
int endField,
int superLevel) |
void |
bdbSetField(java.lang.Object o,
int field,
int superLevel,
boolean isSecField,
java.lang.Object value) |
void |
bdbWriteNonKeyFields(EntityOutput output) |
void |
bdbWritePriKeyField(EntityOutput output,
Format format)
Calls the super class method if this class does not contain the primary
key field.
|
void |
bdbWriteSecKeyFields(EntityOutput output) |
java.lang.Object bdbNewInstance()
Accessor.newInstance()
java.lang.Object bdbNewArray(int len)
Accessor.newArray(int)
boolean bdbIsPriKeyFieldNullOrZero()
Accessor.isPriKeyFieldNullOrZero(java.lang.Object)
void bdbWritePriKeyField(EntityOutput output, Format format)
Accessor.writePriKeyField(java.lang.Object, com.sleepycat.persist.impl.EntityOutput)
void bdbReadPriKeyField(EntityInput input, Format format)
Accessor.readPriKeyField(java.lang.Object, com.sleepycat.persist.impl.EntityInput)
void bdbWriteSecKeyFields(EntityOutput output)
Accessor.writeSecKeyFields(java.lang.Object, com.sleepycat.persist.impl.EntityOutput)
void bdbReadSecKeyFields(EntityInput input, int startField, int endField, int superLevel)
Accessor.readSecKeyFields(java.lang.Object, com.sleepycat.persist.impl.EntityInput, int, int, int)
void bdbWriteNonKeyFields(EntityOutput output)
Accessor.writeNonKeyFields(java.lang.Object, com.sleepycat.persist.impl.EntityOutput)
void bdbReadNonKeyFields(EntityInput input, int startField, int endField, int superLevel)
Accessor.readNonKeyFields(java.lang.Object, com.sleepycat.persist.impl.EntityInput, int, int, int)
java.lang.Object bdbGetField(java.lang.Object o, int field, int superLevel, boolean isSecField)
Accessor.getField(java.lang.Object, int, int, boolean)
void bdbSetField(java.lang.Object o, int field, int superLevel, boolean isSecField, java.lang.Object value)
Accessor.setField(java.lang.Object, int, int, boolean, java.lang.Object)