org.jboss.serial.classmetamodel
Class UnsafeFieldsManager
java.lang.Object
org.jboss.serial.classmetamodel.FieldsManager
org.jboss.serial.classmetamodel.UnsafeFieldsManager
- public class UnsafeFieldsManager
- extends FieldsManager
$Id: UnsafeFieldsManager.java,v 1.1 2005/12/06 19:58:54 csuconic Exp $
This FieldsManager uses the only hook available to change final fields into JVM 1.4 (operations with sun.misc.Unsafe).
As this is a reflection functionality, we've gotten the Unsafe instance used by java.io.ObjectStreamClass
- Author:
- Clebert Suconic
Method Summary |
void |
fillMetadata(ClassMetadataField field)
|
boolean |
getBoolean(java.lang.Object obj,
ClassMetadataField field)
|
byte |
getByte(java.lang.Object obj,
ClassMetadataField field)
|
char |
getCharacter(java.lang.Object obj,
ClassMetadataField field)
|
double |
getDouble(java.lang.Object obj,
ClassMetadataField field)
|
float |
getFloat(java.lang.Object obj,
ClassMetadataField field)
|
int |
getInt(java.lang.Object obj,
ClassMetadataField field)
|
long |
getLong(java.lang.Object obj,
ClassMetadataField field)
|
java.lang.Object |
getObject(java.lang.Object obj,
ClassMetadataField field)
|
short |
getShort(java.lang.Object obj,
ClassMetadataField field)
|
static void |
main(java.lang.String[] arg)
|
void |
setBoolean(java.lang.Object obj,
ClassMetadataField field,
boolean value)
|
void |
setByte(java.lang.Object obj,
ClassMetadataField field,
byte value)
|
void |
setCharacter(java.lang.Object obj,
ClassMetadataField field,
char value)
|
void |
setDouble(java.lang.Object obj,
ClassMetadataField field,
double value)
|
void |
setFloat(java.lang.Object obj,
ClassMetadataField field,
float value)
|
void |
setInt(java.lang.Object obj,
ClassMetadataField field,
int value)
|
void |
setLong(java.lang.Object obj,
ClassMetadataField field,
long value)
|
void |
setObject(java.lang.Object obj,
ClassMetadataField field,
java.lang.Object value)
|
void |
setShort(java.lang.Object obj,
ClassMetadataField field,
short value)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
main
public static void main(java.lang.String[] arg)
fillMetadata
public void fillMetadata(ClassMetadataField field)
- Specified by:
fillMetadata
in class FieldsManager
setInt
public void setInt(java.lang.Object obj,
ClassMetadataField field,
int value)
- Specified by:
setInt
in class FieldsManager
getInt
public int getInt(java.lang.Object obj,
ClassMetadataField field)
- Specified by:
getInt
in class FieldsManager
setByte
public void setByte(java.lang.Object obj,
ClassMetadataField field,
byte value)
- Specified by:
setByte
in class FieldsManager
getByte
public byte getByte(java.lang.Object obj,
ClassMetadataField field)
- Specified by:
getByte
in class FieldsManager
setLong
public void setLong(java.lang.Object obj,
ClassMetadataField field,
long value)
- Specified by:
setLong
in class FieldsManager
getLong
public long getLong(java.lang.Object obj,
ClassMetadataField field)
- Specified by:
getLong
in class FieldsManager
setFloat
public void setFloat(java.lang.Object obj,
ClassMetadataField field,
float value)
- Specified by:
setFloat
in class FieldsManager
getFloat
public float getFloat(java.lang.Object obj,
ClassMetadataField field)
- Specified by:
getFloat
in class FieldsManager
setDouble
public void setDouble(java.lang.Object obj,
ClassMetadataField field,
double value)
- Specified by:
setDouble
in class FieldsManager
getDouble
public double getDouble(java.lang.Object obj,
ClassMetadataField field)
- Specified by:
getDouble
in class FieldsManager
setShort
public void setShort(java.lang.Object obj,
ClassMetadataField field,
short value)
- Specified by:
setShort
in class FieldsManager
getShort
public short getShort(java.lang.Object obj,
ClassMetadataField field)
- Specified by:
getShort
in class FieldsManager
setCharacter
public void setCharacter(java.lang.Object obj,
ClassMetadataField field,
char value)
- Specified by:
setCharacter
in class FieldsManager
getCharacter
public char getCharacter(java.lang.Object obj,
ClassMetadataField field)
- Specified by:
getCharacter
in class FieldsManager
setBoolean
public void setBoolean(java.lang.Object obj,
ClassMetadataField field,
boolean value)
- Specified by:
setBoolean
in class FieldsManager
getBoolean
public boolean getBoolean(java.lang.Object obj,
ClassMetadataField field)
- Specified by:
getBoolean
in class FieldsManager
setObject
public void setObject(java.lang.Object obj,
ClassMetadataField field,
java.lang.Object value)
- Specified by:
setObject
in class FieldsManager
getObject
public java.lang.Object getObject(java.lang.Object obj,
ClassMetadataField field)
- Specified by:
getObject
in class FieldsManager
JBoss Serialization, a new approach to java-serialization.