com.github.mustachejava.reflect
Class ReflectionObjectHandler
java.lang.Object
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
|
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)
|
protected static java.lang.Object |
unwrap(ObjectHandler oh,
int scopeIndex,
Wrapper[] wrappers,
java.lang.Object[] scopes)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MAP_METHOD
protected static final java.lang.reflect.Method MAP_METHOD
ReflectionObjectHandler
public ReflectionObjectHandler()
unwrap
protected static java.lang.Object unwrap(ObjectHandler oh,
int scopeIndex,
Wrapper[] wrappers,
java.lang.Object[] scopes)
throws GuardException
- Throws:
GuardException
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.