Class 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  
    • 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 in o 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • INVALID_MEMBER

        protected static final java.lang.reflect.Member INVALID_MEMBER
      • membersCache

        protected static final java.util.Map<java.lang.Class<?>,​java.util.Map<java.lang.String,​java.lang.reflect.Member>> membersCache
    • Constructor Detail

      • ObjectModelAdaptor

        public ObjectModelAdaptor()
    • 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 in o and return its value.

        property is normally a String but doesn't have to be. E.g., if o is Map, property could be any key type. If we need to convert to String, then it's done by ST and passed in here.

        Specified by:
        getProperty in interface ModelAdaptor<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)