|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sleepycat.persist.impl.RawAccessor
class RawAccessor
Implements Accessor for RawObject access.
Constructor Summary | |
---|---|
RawAccessor(Format parentFormat,
Accessor superAccessor,
FieldInfo priKeyField,
List<FieldInfo> secKeyFields,
List<FieldInfo> nonKeyFields)
|
|
RawAccessor(Format parentFormat,
List<FieldInfo> nonKeyFields)
|
Method Summary | |
---|---|
Object |
getField(Object o,
int field,
int superLevel,
boolean isSecField)
Returns the value of a given field, representing primitives as primitive wrapper objects. |
boolean |
isPriKeyFieldNullOrZero(Object o)
Returns whether the primary key field is null (for a reference type) or zero (for a primitive integer type). |
Object |
newArray(int len)
Creates a new one dimensional array of the given length, having the target class as its component type. |
Object |
newInstance()
Creates a new instance of the target class using its default constructor. |
void |
readNonKeyFields(Object o,
EntityInput input,
int startField,
int endField,
int superLevel)
Reads a range of non-key field values from the given EntityInput, reading fields in super classes first and in name order within class. |
void |
readPriKeyField(Object o,
EntityInput input)
Reads the primary key field value from the given EntityInput. |
void |
readSecKeyFields(Object o,
EntityInput input,
int startField,
int endField,
int superLevel)
Reads a range of secondary key field values from the given EntityInput, reading fields in super classes first and in name order within class. |
void |
setField(Object o,
int field,
int superLevel,
boolean isSecField,
Object value)
Changes the value of a given field, representing primitives as primitive wrapper objects. |
void |
writeNonKeyFields(Object o,
EntityOutput output)
Writes all non-key field values to the given EntityOutput, writing fields in super classes first and in name order within class. |
void |
writePriKeyField(Object o,
EntityOutput output)
Writes the primary key field value to the given EntityOutput. |
void |
writeSecKeyFields(Object o,
EntityOutput output)
Writes all secondary key field values to the given EntityOutput, writing fields in super classes first and in name order within class. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
RawAccessor(Format parentFormat, Accessor superAccessor, FieldInfo priKeyField, List<FieldInfo> secKeyFields, List<FieldInfo> nonKeyFields)
RawAccessor(Format parentFormat, List<FieldInfo> nonKeyFields)
Method Detail |
---|
public Object newInstance()
Accessor
newInstance
in interface Accessor
public Object newArray(int len)
Accessor
Using a special method for a one dimensional array, which can be implemented by bytecode generation, is a compromise. We use reflection to create multidimensional arrays. We could in the future generate code to create arrays as they are encountered, if there is a need to avoid reflection for multidimensional arrays.
newArray
in interface Accessor
public boolean isPriKeyFieldNullOrZero(Object o)
Accessor
isPriKeyFieldNullOrZero
in interface Accessor
public void writePriKeyField(Object o, EntityOutput output)
Accessor
To write a primary key with a reference type, this method must call EntityOutput.writeKeyObject.
writePriKeyField
in interface Accessor
o
- is the object whose primary key field is to be written.output
- the output data to write to.public void readPriKeyField(Object o, EntityInput input)
Accessor
To read a primary key with a reference type, this method must call EntityInput.readKeyObject.
readPriKeyField
in interface Accessor
o
- is the object whose primary key field is to be read.input
- the input data to read from.public void writeSecKeyFields(Object o, EntityOutput output)
Accessor
writeSecKeyFields
in interface Accessor
o
- is the object whose secondary key fields are to be written.
If the primary key has a reference type, this method must call EntityOutput.registerPriKeyObject before writing any other fields.
output
- the output data to write to.public void readSecKeyFields(Object o, EntityInput input, int startField, int endField, int superLevel)
Accessor
If the primary key has a reference type, this method must call EntityInput.registerPriKeyObject before reading any other fields.
To read all fields, pass -1 for superLevel, zero for startField and Integer.MAX_VALUE for endField. Fields from super classes are read first.
To read a specific range of fields, pass a non-negative number for superLevel and the specific indices of the field range to be read in the class at that level.
readSecKeyFields
in interface Accessor
o
- is the object whose secondary key fields are to be read.input
- the input data to read from.startField
- the starting field index in the range of fields to
read. To read all fields, the startField should be zero.endField
- the ending field index in the range of fields to read.
To read all fields, the endField should be Integer.MAX_VALUE.superLevel
- is a non-negative number to read the fields of the
class that is the Nth super instance; or a negative number to read
fields in all classes.public void writeNonKeyFields(Object o, EntityOutput output)
Accessor
writeNonKeyFields
in interface Accessor
o
- is the object whose non-key fields are to be written.output
- the output data to write to.public void readNonKeyFields(Object o, EntityInput input, int startField, int endField, int superLevel)
Accessor
To read all fields, pass -1 for superLevel, zero for startField and Integer.MAX_VALUE for endField. Fields from super classes are read first.
To read a specific range of fields, pass a non-negative number for superLevel and the specific indices of the field range to be read in the class at that level.
readNonKeyFields
in interface Accessor
o
- is the object whose non-key fields are to be read.input
- the input data to read from.startField
- the starting field index in the range of fields to
read. To read all fields, the startField should be zero.endField
- the ending field index in the range of fields to read.
To read all fields, the endField should be Integer.MAX_VALUE.superLevel
- is a non-negative number to read the fields of the
class that is the Nth super instance; or a negative number to read
fields in all classes.public Object getField(Object o, int field, int superLevel, boolean isSecField)
Accessor
getField
in interface Accessor
o
- is the object containing the key field.field
- is the field index.superLevel
- is a positive number to identify the field of the
class that is the Nth super instance; or zero to identify the field in
this class.isSecField
- is true for a secondary key field or false for a
non-key field.
public void setField(Object o, int field, int superLevel, boolean isSecField, Object value)
Accessor
setField
in interface Accessor
o
- is the object containing the key field.field
- is the field index.superLevel
- is a positive number to identify the field of the
class that is the Nth super instance; or zero to identify the field in
this class.isSecField
- is true for a secondary key field or false for a
non-key field.value
- is the new value of the field, or null to set a reference
type field to null.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |