Package com.esotericsoftware.reflectasm
Class FieldAccess
- java.lang.Object
-
- com.esotericsoftware.reflectasm.FieldAccess
-
public abstract class FieldAccess extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String[]
fieldNames
private java.lang.Class[]
fieldTypes
-
Constructor Summary
Constructors Constructor Description FieldAccess()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static FieldAccess
get(java.lang.Class type)
abstract java.lang.Object
get(java.lang.Object instance, int fieldIndex)
java.lang.Object
get(java.lang.Object instance, java.lang.String fieldName)
abstract boolean
getBoolean(java.lang.Object instance, int fieldIndex)
abstract byte
getByte(java.lang.Object instance, int fieldIndex)
abstract char
getChar(java.lang.Object instance, int fieldIndex)
abstract double
getDouble(java.lang.Object instance, int fieldIndex)
int
getFieldCount()
java.lang.String[]
getFieldNames()
java.lang.Class[]
getFieldTypes()
abstract float
getFloat(java.lang.Object instance, int fieldIndex)
int
getIndex(java.lang.String fieldName)
abstract int
getInt(java.lang.Object instance, int fieldIndex)
abstract long
getLong(java.lang.Object instance, int fieldIndex)
abstract short
getShort(java.lang.Object instance, int fieldIndex)
abstract java.lang.String
getString(java.lang.Object instance, int fieldIndex)
private static void
insertConstructor(org.objectweb.asm.ClassWriter cw)
private static void
insertGetObject(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields)
private static void
insertGetPrimitive(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields, org.objectweb.asm.Type primitiveType)
private static void
insertGetString(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields)
private static void
insertSetObject(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields)
private static void
insertSetPrimitive(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields, org.objectweb.asm.Type primitiveType)
private static org.objectweb.asm.MethodVisitor
insertThrowExceptionForFieldNotFound(org.objectweb.asm.MethodVisitor mv)
private static org.objectweb.asm.MethodVisitor
insertThrowExceptionForFieldType(org.objectweb.asm.MethodVisitor mv, java.lang.String fieldType)
abstract void
set(java.lang.Object instance, int fieldIndex, java.lang.Object value)
void
set(java.lang.Object instance, java.lang.String fieldName, java.lang.Object value)
abstract void
setBoolean(java.lang.Object instance, int fieldIndex, boolean value)
abstract void
setByte(java.lang.Object instance, int fieldIndex, byte value)
abstract void
setChar(java.lang.Object instance, int fieldIndex, char value)
abstract void
setDouble(java.lang.Object instance, int fieldIndex, double value)
abstract void
setFloat(java.lang.Object instance, int fieldIndex, float value)
abstract void
setInt(java.lang.Object instance, int fieldIndex, int value)
abstract void
setLong(java.lang.Object instance, int fieldIndex, long value)
abstract void
setShort(java.lang.Object instance, int fieldIndex, short value)
-
-
-
Method Detail
-
getIndex
public int getIndex(java.lang.String fieldName)
-
set
public void set(java.lang.Object instance, java.lang.String fieldName, java.lang.Object value)
-
get
public java.lang.Object get(java.lang.Object instance, java.lang.String fieldName)
-
getFieldNames
public java.lang.String[] getFieldNames()
-
getFieldTypes
public java.lang.Class[] getFieldTypes()
-
getFieldCount
public int getFieldCount()
-
set
public abstract void set(java.lang.Object instance, int fieldIndex, java.lang.Object value)
-
setBoolean
public abstract void setBoolean(java.lang.Object instance, int fieldIndex, boolean value)
-
setByte
public abstract void setByte(java.lang.Object instance, int fieldIndex, byte value)
-
setShort
public abstract void setShort(java.lang.Object instance, int fieldIndex, short value)
-
setInt
public abstract void setInt(java.lang.Object instance, int fieldIndex, int value)
-
setLong
public abstract void setLong(java.lang.Object instance, int fieldIndex, long value)
-
setDouble
public abstract void setDouble(java.lang.Object instance, int fieldIndex, double value)
-
setFloat
public abstract void setFloat(java.lang.Object instance, int fieldIndex, float value)
-
setChar
public abstract void setChar(java.lang.Object instance, int fieldIndex, char value)
-
get
public abstract java.lang.Object get(java.lang.Object instance, int fieldIndex)
-
getString
public abstract java.lang.String getString(java.lang.Object instance, int fieldIndex)
-
getChar
public abstract char getChar(java.lang.Object instance, int fieldIndex)
-
getBoolean
public abstract boolean getBoolean(java.lang.Object instance, int fieldIndex)
-
getByte
public abstract byte getByte(java.lang.Object instance, int fieldIndex)
-
getShort
public abstract short getShort(java.lang.Object instance, int fieldIndex)
-
getInt
public abstract int getInt(java.lang.Object instance, int fieldIndex)
-
getLong
public abstract long getLong(java.lang.Object instance, int fieldIndex)
-
getDouble
public abstract double getDouble(java.lang.Object instance, int fieldIndex)
-
getFloat
public abstract float getFloat(java.lang.Object instance, int fieldIndex)
-
get
public static FieldAccess get(java.lang.Class type)
-
insertConstructor
private static void insertConstructor(org.objectweb.asm.ClassWriter cw)
-
insertSetObject
private static void insertSetObject(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields)
-
insertGetObject
private static void insertGetObject(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields)
-
insertGetString
private static void insertGetString(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields)
-
insertSetPrimitive
private static void insertSetPrimitive(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields, org.objectweb.asm.Type primitiveType)
-
insertGetPrimitive
private static void insertGetPrimitive(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields, org.objectweb.asm.Type primitiveType)
-
insertThrowExceptionForFieldNotFound
private static org.objectweb.asm.MethodVisitor insertThrowExceptionForFieldNotFound(org.objectweb.asm.MethodVisitor mv)
-
insertThrowExceptionForFieldType
private static org.objectweb.asm.MethodVisitor insertThrowExceptionForFieldType(org.objectweb.asm.MethodVisitor mv, java.lang.String fieldType)
-
-