Class CrafterObjectWrapper

java.lang.Object
freemarker.ext.beans.BeansWrapper
freemarker.template.DefaultObjectWrapper
org.craftercms.engine.freemarker.CrafterObjectWrapper
All Implemented Interfaces:
freemarker.template.ObjectWrapper, freemarker.template.ObjectWrapperAndUnwrapper, freemarker.template.utility.ObjectWrapperWithAPISupport, freemarker.template.utility.RichObjectWrapper, freemarker.template.utility.WriteProtectable

public class CrafterObjectWrapper extends freemarker.template.DefaultObjectWrapper
Extends DefaultObjectWrapper to wrap Dom4j Nodes. If it's an Element, then the element will be attempted to be converted based on the content model field conversion algorithm.
Author:
Alfonso Vásquez
  • Nested Class Summary

    Nested classes/interfaces inherited from class freemarker.ext.beans.BeansWrapper

    freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision, freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final boolean
     

    Fields inherited from class freemarker.ext.beans.BeansWrapper

    EXPOSE_ALL, EXPOSE_NOTHING, EXPOSE_PROPERTIES_ONLY, EXPOSE_SAFE

    Fields inherited from interface freemarker.template.ObjectWrapper

    BEANS_WRAPPER, DEFAULT_WRAPPER, SIMPLE_WRAPPER

    Fields inherited from interface freemarker.template.ObjectWrapperAndUnwrapper

    CANT_UNWRAP_TO_TARGET_CLASS
  • Constructor Summary

    Constructors
    Constructor
    Description
    CrafterObjectWrapper(boolean enableSandbox)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected freemarker.template.TemplateModel
    invokeMethod(Object object, Method method, Object[] args)
     
    freemarker.template.TemplateModel
    wrap(Object obj)
     

    Methods inherited from class freemarker.template.DefaultObjectWrapper

    convertArray, getDOMNodeSupport, getForceLegacyNonListCollections, getIterableSupport, getJythonSupport, getUseAdaptersForContainers, handleUnknownType, normalizeIncompatibleImprovementsVersion, setDOMNodeSupport, setForceLegacyNonListCollections, setIterableSupport, setJythonSupport, setUseAdaptersForContainers, toPropertiesString, wrapDomNode

    Methods inherited from class freemarker.ext.beans.BeansWrapper

    checkModifiable, clearClassIntrospecitonCache, clearClassIntrospectionCache, coerceBigDecimal, coerceBigDecimals, coerceBigDecimals, finalizeConstruction, finetuneMethodAppearance, getDefaultDateType, getDefaultInstance, getDefaultZeroArgumentNonVoidMethodPolicy, getEnumModels, getExposureLevel, getIncompatibleImprovements, getInstance, getMemberAccessPolicy, getMethodAppearanceFineTuner, getModelFactory, getOuterIdentity, getPreferIndexedReadMethod, getRecordZeroArgumentNonVoidMethodPolicy, getStaticModels, getTreatDefaultMethodsAsBeanMembers, getUseCache, isClassIntrospectionCacheRestricted, isExposeFields, isSimpleMapWrapper, isStrict, isWriteProtected, newInstance, readField, removeFromClassIntrospectionCache, setDefaultDateType, setDefaultZeroArgumentNonVoidMethodPolicy, setExposeFields, setExposureLevel, setMemberAccessPolicy, setMethodAppearanceFineTuner, setMethodsShadowItems, setNullModel, setOuterIdentity, setPreferIndexedReadMethod, setRecordZeroArgumentNonVoidMethodPolicy, setSimpleMapWrapper, setStrict, setTreatDefaultMethodsAsBeanMembers, setUseCache, toString, tryUnwrapTo, unwrap, unwrap, wrap, wrapAsAPI, writeProtect

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • enableSandbox

      protected final boolean enableSandbox
  • Constructor Details

    • CrafterObjectWrapper

      public CrafterObjectWrapper(boolean enableSandbox)
  • Method Details

    • wrap

      public freemarker.template.TemplateModel wrap(Object obj) throws freemarker.template.TemplateModelException
      Specified by:
      wrap in interface freemarker.template.ObjectWrapper
      Overrides:
      wrap in class freemarker.template.DefaultObjectWrapper
      Throws:
      freemarker.template.TemplateModelException
    • invokeMethod

      protected freemarker.template.TemplateModel invokeMethod(Object object, Method method, Object[] args) throws InvocationTargetException, IllegalAccessException, freemarker.template.TemplateModelException
      Overrides:
      invokeMethod in class freemarker.ext.beans.BeansWrapper
      Throws:
      InvocationTargetException
      IllegalAccessException
      freemarker.template.TemplateModelException