Package net.minidev.asm
Class BeansAccess<T>
- java.lang.Object
-
- net.minidev.asm.BeansAccess<T>
-
public abstract class BeansAccess<T> extends java.lang.ObjectAllow access reflect field using runtime generated accessor. BeansAccessor is faster than java.lang.reflect.Method.invoke()
-
-
Constructor Summary
Constructors Constructor Description BeansAccess()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private static voidaddAlias(BeansAccess<?> access, java.util.HashMap<java.lang.String,java.lang.String> m)static <P> BeansAccess<P>get(java.lang.Class<P> type)return the BeansAccess corresponding to a typestatic <P> BeansAccess<P>get(java.lang.Class<P> type, FieldFilter filter)return the BeansAccess corresponding to a typeabstract java.lang.Objectget(T object, int methodIndex)get field value by field indexjava.lang.Objectget(T object, java.lang.String methodName)get field value by fieldnameAccessor[]getAccessors()intgetIndex(java.lang.String name)Returns the index of the field accessor.java.util.HashMap<java.lang.String,Accessor>getMap()private static java.util.LinkedList<java.lang.Class<?>>getParents(java.lang.Class<?> type)abstract TnewInstance()create a new targeted objectabstract voidset(T object, int methodIndex, java.lang.Object value)set field value by field indexvoidset(T object, java.lang.String methodName, java.lang.Object value)set field value by fieldnameprotected voidsetAccessor(Accessor[] accs)
-
-
-
Field Detail
-
map
private java.util.HashMap<java.lang.String,Accessor> map
-
accs
private Accessor[] accs
-
cache
private static java.util.concurrent.ConcurrentHashMap<java.lang.Class<?>,BeansAccess<?>> cache
cache used to store built BeansAccess
-
-
Method Detail
-
setAccessor
protected void setAccessor(Accessor[] accs)
-
getMap
public java.util.HashMap<java.lang.String,Accessor> getMap()
-
getAccessors
public Accessor[] getAccessors()
-
get
public static <P> BeansAccess<P> get(java.lang.Class<P> type)
return the BeansAccess corresponding to a type- Parameters:
type- to be access- Returns:
- the BeansAccess
-
get
public static <P> BeansAccess<P> get(java.lang.Class<P> type, FieldFilter filter)
return the BeansAccess corresponding to a type- Parameters:
type- to be access- Returns:
- the BeansAccess
-
getParents
private static java.util.LinkedList<java.lang.Class<?>> getParents(java.lang.Class<?> type)
-
addAlias
private static void addAlias(BeansAccess<?> access, java.util.HashMap<java.lang.String,java.lang.String> m)
-
set
public abstract void set(T object, int methodIndex, java.lang.Object value)
set field value by field index
-
get
public abstract java.lang.Object get(T object, int methodIndex)
get field value by field index
-
newInstance
public abstract T newInstance()
create a new targeted object
-
set
public void set(T object, java.lang.String methodName, java.lang.Object value)
set field value by fieldname
-
get
public java.lang.Object get(T object, java.lang.String methodName)
get field value by fieldname
-
getIndex
public int getIndex(java.lang.String name)
Returns the index of the field accessor.
-
-