Package com.github.mustachejava.reflect
Class BaseObjectHandler
- java.lang.Object
-
- com.github.mustachejava.reflect.BaseObjectHandler
-
- All Implemented Interfaces:
ObjectHandler
- Direct Known Subclasses:
ReflectionObjectHandler,SimpleObjectHandler,TypeCheckingHandler
public abstract class BaseObjectHandler extends java.lang.Object implements ObjectHandler
-
-
Constructor Summary
Constructors Constructor Description BaseObjectHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected booleancheckClass(java.lang.Class sClass)protected voidcheckField(java.lang.reflect.Field member)protected voidcheckMethod(java.lang.reflect.Method member)java.lang.Objectcoerce(java.lang.Object object)Coerce results to Java native iterables, functions, callables.abstract BindingcreateBinding(java.lang.String name, TemplateContext tc, Code code)Each call site has its own binding to allow for fine grained caching without a separate parallel hierarchy of objects.java.io.Writerfalsey(Iteration iteration, java.io.Writer writer, java.lang.Object object, java.util.List<java.lang.Object> scopes)Call Iteration.next() either 0 (true) or 1 (fale) times.protected java.lang.reflect.AccessibleObjectfindMember(java.lang.Class sClass, java.lang.String name)private java.lang.reflect.AccessibleObjectfindMemberOnClass(java.lang.Class sClass, java.lang.String name)protected java.lang.reflect.FieldgetField(java.lang.Class aClass, java.lang.String name)protected java.lang.reflect.MethodgetMethod(java.lang.Class<?> aClass, java.lang.String name, java.lang.Class<?>... params)java.io.Writeriterate(Iteration iteration, java.io.Writer writer, java.lang.Object object, java.util.List<java.lang.Object> scopes)Iterate over an object by calling Iteration.next for each value.java.lang.Stringstringify(java.lang.Object object)Turns an object into the string representation that should be displayed in templates.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.mustachejava.ObjectHandler
find
-
-
-
-
Method Detail
-
coerce
public java.lang.Object coerce(java.lang.Object object)
Description copied from interface:ObjectHandlerCoerce results to Java native iterables, functions, callables.- Specified by:
coercein interfaceObjectHandler- Parameters:
object- transform an unknown type to a known type- Returns:
- the new object
-
falsey
public java.io.Writer falsey(Iteration iteration, java.io.Writer writer, java.lang.Object object, java.util.List<java.lang.Object> scopes)
Description copied from interface:ObjectHandlerCall Iteration.next() either 0 (true) or 1 (fale) times.- Specified by:
falseyin interfaceObjectHandler- Parameters:
iteration- callback for the next iterationwriter- the writer to write toobject- the current objectscopes- the scopes present- Returns:
- the current writer
-
createBinding
public abstract Binding createBinding(java.lang.String name, TemplateContext tc, Code code)
Description copied from interface:ObjectHandlerEach call site has its own binding to allow for fine grained caching without a separate parallel hierarchy of objects.- Specified by:
createBindingin interfaceObjectHandler- Parameters:
name- the name that we boundtc- the textual context of the binding sitecode- the code that was bound- Returns:
- the binding
-
iterate
public java.io.Writer iterate(Iteration iteration, java.io.Writer writer, java.lang.Object object, java.util.List<java.lang.Object> scopes)
Description copied from interface:ObjectHandlerIterate over an object by calling Iteration.next for each value.- Specified by:
iteratein interfaceObjectHandler- Parameters:
iteration- callback for the next iterationwriter- the writer to write toobject- the current objectscopes- the scopes present- Returns:
- the current writer
-
getField
protected java.lang.reflect.Field getField(java.lang.Class aClass, java.lang.String name) throws java.lang.NoSuchFieldException- Throws:
java.lang.NoSuchFieldException
-
getMethod
protected java.lang.reflect.Method getMethod(java.lang.Class<?> aClass, java.lang.String name, java.lang.Class<?>... params) throws java.lang.NoSuchMethodException- Throws:
java.lang.NoSuchMethodException
-
findMember
protected java.lang.reflect.AccessibleObject findMember(java.lang.Class sClass, java.lang.String name)
-
findMemberOnClass
private java.lang.reflect.AccessibleObject findMemberOnClass(java.lang.Class sClass, java.lang.String name)
-
checkMethod
protected void checkMethod(java.lang.reflect.Method member) throws java.lang.NoSuchMethodException- Throws:
java.lang.NoSuchMethodException
-
checkField
protected void checkField(java.lang.reflect.Field member) throws java.lang.NoSuchFieldException- Throws:
java.lang.NoSuchFieldException
-
checkClass
protected boolean checkClass(java.lang.Class sClass)
-
stringify
public java.lang.String stringify(java.lang.Object object)
Description copied from interface:ObjectHandlerTurns an object into the string representation that should be displayed in templates.- Specified by:
stringifyin interfaceObjectHandler- Parameters:
object- the object to be displayed- Returns:
- a string representation of the object.
-
-