com.github.mustachejava.reflect
Class ReflectionObjectHandler

java.lang.Object
  extended by com.github.mustachejava.reflect.ReflectionObjectHandler
All Implemented Interfaces:
ObjectHandler
Direct Known Subclasses:
JRubyObjectHandler

public class ReflectionObjectHandler
extends java.lang.Object
implements ObjectHandler

Lookup objects using reflection and execute them the same way.

User: sam Date: 7/24/11 Time: 3:02 PM


Field Summary
protected static java.lang.reflect.Method MAP_METHOD
           
 
Constructor Summary
ReflectionObjectHandler()
           
 
Method Summary
protected  void checkField(java.lang.reflect.Field member)
           
protected  void checkMethod(java.lang.reflect.Method member)
           
 java.lang.Object coerce(java.lang.Object object)
           
protected  Wrapper createWrapper(int scopeIndex, Wrapper[] wrappers, java.util.List<? extends com.google.common.base.Predicate<java.lang.Object[]>> guard, java.lang.reflect.AccessibleObject member, java.lang.Object[] arguments)
           
 java.io.Writer falsey(Iteration iteration, java.io.Writer writer, java.lang.Object object, java.lang.Object[] scopes)
           
 Wrapper find(java.lang.String name, java.lang.Object[] scopes)
           
protected  Wrapper findWrapper(int scopeIndex, Wrapper[] wrappers, java.util.List<com.google.common.base.Predicate<java.lang.Object[]>> guards, java.lang.Object scope, java.lang.String name)
           
protected  Wrapper getField(int scopeIndex, Wrapper[] wrappers, java.util.List<? extends com.google.common.base.Predicate<java.lang.Object[]>> guard, java.lang.String name, java.lang.Class aClass)
           
protected  Wrapper getMethod(int scopeIndex, Wrapper[] wrappers, java.util.List<? extends com.google.common.base.Predicate<java.lang.Object[]>> guard, java.lang.String name, java.lang.Class aClass, java.lang.Class... params)
           
 java.io.Writer iterate(Iteration iteration, java.io.Writer writer, java.lang.Object object, java.lang.Object[] scopes)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAP_METHOD

protected static final java.lang.reflect.Method MAP_METHOD
Constructor Detail

ReflectionObjectHandler

public ReflectionObjectHandler()
Method Detail

find

public Wrapper find(java.lang.String name,
                    java.lang.Object[] scopes)
Specified by:
find in interface ObjectHandler

coerce

public java.lang.Object coerce(java.lang.Object object)
Specified by:
coerce in interface ObjectHandler

findWrapper

protected Wrapper findWrapper(int scopeIndex,
                              Wrapper[] wrappers,
                              java.util.List<com.google.common.base.Predicate<java.lang.Object[]>> guards,
                              java.lang.Object scope,
                              java.lang.String name)

getMethod

protected Wrapper getMethod(int scopeIndex,
                            Wrapper[] wrappers,
                            java.util.List<? extends com.google.common.base.Predicate<java.lang.Object[]>> guard,
                            java.lang.String name,
                            java.lang.Class aClass,
                            java.lang.Class... params)
                     throws java.lang.NoSuchMethodException
Throws:
java.lang.NoSuchMethodException

checkMethod

protected void checkMethod(java.lang.reflect.Method member)
                    throws java.lang.NoSuchMethodException
Throws:
java.lang.NoSuchMethodException

getField

protected Wrapper getField(int scopeIndex,
                           Wrapper[] wrappers,
                           java.util.List<? extends com.google.common.base.Predicate<java.lang.Object[]>> guard,
                           java.lang.String name,
                           java.lang.Class aClass)
                    throws java.lang.NoSuchFieldException
Throws:
java.lang.NoSuchFieldException

checkField

protected void checkField(java.lang.reflect.Field member)
                   throws java.lang.NoSuchFieldException
Throws:
java.lang.NoSuchFieldException

createWrapper

protected Wrapper createWrapper(int scopeIndex,
                                Wrapper[] wrappers,
                                java.util.List<? extends com.google.common.base.Predicate<java.lang.Object[]>> guard,
                                java.lang.reflect.AccessibleObject member,
                                java.lang.Object[] arguments)

falsey

public java.io.Writer falsey(Iteration iteration,
                             java.io.Writer writer,
                             java.lang.Object object,
                             java.lang.Object[] scopes)
Specified by:
falsey in interface ObjectHandler

iterate

public java.io.Writer iterate(Iteration iteration,
                              java.io.Writer writer,
                              java.lang.Object object,
                              java.lang.Object[] scopes)
Specified by:
iterate in interface ObjectHandler


Copyright © 2012. All Rights Reserved.