| com.sleepycat.persist.impl.Enhanced
All known Subclasses: com.sleepycat.persist.test.Enhanced3, com.sleepycat.persist.test.Enhanced1,
Enhanced | public interface Enhanced (Code) | | Interface implemented by a persistent class via bytecode enhancement.
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
Enhanced.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();
}
}
}
author: Mark Hayes |
Method Summary | |
Object | bdbGetField(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. | Object | bdbNewArray(int len) | 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(Object o, int field, int superLevel, boolean isSecField, 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) |
bdbIsPriKeyFieldNullOrZero | boolean bdbIsPriKeyFieldNullOrZero()(Code) | | Calls the super class method if this class does not contain the primary
key field.
See Also: Accessor.isPriKeyFieldNullOrZero |
|
|