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[]fieldNamesprivate 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 FieldAccessget(java.lang.Class type)abstract java.lang.Objectget(java.lang.Object instance, int fieldIndex)java.lang.Objectget(java.lang.Object instance, java.lang.String fieldName)abstract booleangetBoolean(java.lang.Object instance, int fieldIndex)abstract bytegetByte(java.lang.Object instance, int fieldIndex)abstract chargetChar(java.lang.Object instance, int fieldIndex)abstract doublegetDouble(java.lang.Object instance, int fieldIndex)intgetFieldCount()java.lang.String[]getFieldNames()java.lang.Class[]getFieldTypes()abstract floatgetFloat(java.lang.Object instance, int fieldIndex)intgetIndex(java.lang.String fieldName)abstract intgetInt(java.lang.Object instance, int fieldIndex)abstract longgetLong(java.lang.Object instance, int fieldIndex)abstract shortgetShort(java.lang.Object instance, int fieldIndex)abstract java.lang.StringgetString(java.lang.Object instance, int fieldIndex)private static voidinsertConstructor(org.objectweb.asm.ClassWriter cw)private static voidinsertGetObject(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields)private static voidinsertGetPrimitive(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields, org.objectweb.asm.Type primitiveType)private static voidinsertGetString(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields)private static voidinsertSetObject(org.objectweb.asm.ClassWriter cw, java.lang.String classNameInternal, java.util.ArrayList<java.lang.reflect.Field> fields)private static voidinsertSetPrimitive(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.MethodVisitorinsertThrowExceptionForFieldNotFound(org.objectweb.asm.MethodVisitor mv)private static org.objectweb.asm.MethodVisitorinsertThrowExceptionForFieldType(org.objectweb.asm.MethodVisitor mv, java.lang.String fieldType)abstract voidset(java.lang.Object instance, int fieldIndex, java.lang.Object value)voidset(java.lang.Object instance, java.lang.String fieldName, java.lang.Object value)abstract voidsetBoolean(java.lang.Object instance, int fieldIndex, boolean value)abstract voidsetByte(java.lang.Object instance, int fieldIndex, byte value)abstract voidsetChar(java.lang.Object instance, int fieldIndex, char value)abstract voidsetDouble(java.lang.Object instance, int fieldIndex, double value)abstract voidsetFloat(java.lang.Object instance, int fieldIndex, float value)abstract voidsetInt(java.lang.Object instance, int fieldIndex, int value)abstract voidsetLong(java.lang.Object instance, int fieldIndex, long value)abstract voidsetShort(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)
-
-