Package org.stringtemplate.v4.misc
Class ObjectModelAdaptor<T>
- java.lang.Object
-
- org.stringtemplate.v4.misc.ObjectModelAdaptor<T>
-
- All Implemented Interfaces:
ModelAdaptor<T>
public class ObjectModelAdaptor<T> extends java.lang.Object implements ModelAdaptor<T>
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.reflect.Member
INVALID_MEMBER
protected static java.util.Map<java.lang.Class<?>,java.util.Map<java.lang.String,java.lang.reflect.Member>>
membersCache
-
Constructor Summary
Constructors Constructor Description ObjectModelAdaptor()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static java.lang.reflect.Member
findMember(java.lang.Class<?> clazz, java.lang.String memberName)
java.lang.Object
getProperty(Interpreter interp, ST self, T model, java.lang.Object property, java.lang.String propertyName)
Lookup property name ino
and return its value.protected java.lang.Object
throwNoSuchProperty(java.lang.Class<?> clazz, java.lang.String propertyName, java.lang.Exception cause)
protected static java.lang.reflect.Field
tryGetField(java.lang.Class<?> clazz, java.lang.String fieldName)
protected static java.lang.reflect.Method
tryGetMethod(java.lang.Class<?> clazz, java.lang.String methodName)
-
-
-
Method Detail
-
getProperty
public java.lang.Object getProperty(Interpreter interp, ST self, T model, java.lang.Object property, java.lang.String propertyName) throws STNoSuchPropertyException
Description copied from interface:ModelAdaptor
Lookup property name ino
and return its value.property
is normally aString
but doesn't have to be. E.g., ifo
isMap
,property
could be any key type. If we need to convert toString
, then it's done byST
and passed in here.- Specified by:
getProperty
in interfaceModelAdaptor<T>
- Throws:
STNoSuchPropertyException
-
findMember
protected static java.lang.reflect.Member findMember(java.lang.Class<?> clazz, java.lang.String memberName)
-
tryGetMethod
protected static java.lang.reflect.Method tryGetMethod(java.lang.Class<?> clazz, java.lang.String methodName)
-
tryGetField
protected static java.lang.reflect.Field tryGetField(java.lang.Class<?> clazz, java.lang.String fieldName)
-
throwNoSuchProperty
protected java.lang.Object throwNoSuchProperty(java.lang.Class<?> clazz, java.lang.String propertyName, java.lang.Exception cause)
-
-