Methods Summary |
---|
EmulatedFields | emulatedFields()Return the actual EmulatedFields instance used by the receiver. We have
the actual work in a separate class so that the code can be shared. The
receiver has to be of a subclass of PutField.
return emulatedFields;
|
public void | put(java.lang.String name, short value)Find and set the short value of a given field named name
in the receiver.
emulatedFields.put(name, value);
|
public void | put(java.lang.String name, boolean value)Find and set the boolean value of a given field named name
in the receiver.
emulatedFields.put(name, value);
|
public void | put(java.lang.String name, byte value)Find and set the byte value of a given field named name in
the receiver.
emulatedFields.put(name, value);
|
public void | put(java.lang.String name, char value)Find and set the char value of a given field named name in
the receiver.
emulatedFields.put(name, value);
|
public void | put(java.lang.String name, double value)Find and set the double value of a given field named name
in the receiver.
emulatedFields.put(name, value);
|
public void | put(java.lang.String name, float value)Find and set the float value of a given field named name
in the receiver.
emulatedFields.put(name, value);
|
public void | put(java.lang.String name, int value)Find and set the int value of a given field named name in
the receiver.
emulatedFields.put(name, value);
|
public void | put(java.lang.String name, long value)Find and set the long value of a given field named name in
the receiver.
emulatedFields.put(name, value);
|
public void | put(java.lang.String name, java.lang.Object value)Find and set the Object value of a given field named name
in the receiver.
emulatedFields.put(name, value);
|
public void | write(java.io.ObjectOutput output)Write the field values to the specified ObjectOutput.
EmulatedFields.ObjectSlot[] slots = emulatedFields.slots();
for (int i = 0; i < slots.length; i++) {
EmulatedFields.ObjectSlot slot = slots[i];
Object fieldValue = slot.getFieldValue();
Class<?> type = slot.getField().getType();
// WARNING - default values exist for each primitive type
if (type == Integer.TYPE) {
output.writeInt(fieldValue != null ? ((Integer) fieldValue)
.intValue() : 0);
} else if (type == Byte.TYPE) {
output.writeByte(fieldValue != null ? ((Byte) fieldValue)
.byteValue() : (byte) 0);
} else if (type == Character.TYPE) {
output.writeChar(fieldValue != null ? ((Character) fieldValue)
.charValue() : (char) 0);
} else if (type == Short.TYPE) {
output.writeShort(fieldValue != null ? ((Short) fieldValue)
.shortValue() : (short) 0);
} else if (type == Boolean.TYPE) {
output.writeBoolean(fieldValue != null ? ((Boolean) fieldValue)
.booleanValue() : false);
} else if (type == Long.TYPE) {
output.writeLong(fieldValue != null ? ((Long) fieldValue)
.longValue() : (long) 0);
} else if (type == Float.TYPE) {
output.writeFloat(fieldValue != null ? ((Float) fieldValue)
.floatValue() : (float) 0);
} else if (type == Double.TYPE) {
output.writeDouble(fieldValue != null ? ((Double) fieldValue)
.doubleValue() : (double) 0);
} else {
// Either array or Object
output.writeObject(fieldValue);
}
}
|