| java.lang.Object freemarker.template.utility.DeepUnwrap
DeepUnwrap | public class DeepUnwrap (Code) | | Utility methods for unwrapping
TemplateModel -s.
author: Attila Szegedi version: $Id: DeepUnwrap.java,v 1.6 2005/06/16 18:13:58 ddekany Exp $ |
unwrap | public static Object unwrap(TemplateModel model) throws TemplateModelException(Code) | | Unwraps
TemplateModel -s recursively.
The converting of the
TemplateModel object happens with the following rules:
- If the object implements
AdapterTemplateModel , then the result
of
AdapterTemplateModel.getAdaptedObject(Class) for Object.class is returned.
- If the object implements
WrapperTemplateModel , then the result
of
WrapperTemplateModel.getWrappedObject is returned.
- If the object implements
TemplateScalarModel , then the result
of
TemplateScalarModel.getAsString is returned.
- If the object implements
TemplateNumberModel , then the result
of
TemplateNumberModel.getAsNumber is returned.
- If the object implements
TemplateDateModel , then the result
of
TemplateDateModel.getAsDate is returned.
- If the object implements
TemplateBooleanModel , then the result
of
TemplateBooleanModel.getAsBoolean is returned.
- If the object implements
TemplateSequenceModel or
TemplateCollectionModel , then a
java.util.ArrayList is
constructed from the subvariables, and each subvariable is unwrapped with
the rules described here (recursive unwrapping).
- If the object implements
TemplateHashModelEx , then a
java.util.HashMap is constructed from the subvariables, and each
subvariable is unwrapped with the rules described here (recursive unwrapping).
- Throw a
TemplateModelException , because it doesn't know how to
unwrapp the object.
|
|
|