1 17 package org.alfresco.repo.template; 18 19 import java.util.Map ; 20 21 import org.alfresco.service.namespace.QNameMap; 22 23 import freemarker.template.DefaultObjectWrapper; 24 import freemarker.template.ObjectWrapper; 25 import freemarker.template.SimpleHash; 26 import freemarker.template.TemplateModel; 27 import freemarker.template.TemplateModelException; 28 29 32 public class QNameAwareObjectWrapper extends DefaultObjectWrapper 33 { 34 37 public TemplateModel wrap(Object obj) throws TemplateModelException 38 { 39 if (obj instanceof QNameMap) 40 { 41 return new QNameHash((QNameMap)obj, this); 42 } 43 else 44 { 45 return super.wrap(obj); 46 } 47 } 48 49 50 53 class QNameHash extends SimpleHash 54 { 55 61 public QNameHash(QNameMap map, ObjectWrapper wrapper) 62 { 63 super(map, wrapper); 64 } 65 66 69 protected Map copyMap(Map map) 70 { 71 if (map instanceof QNameMap) 72 { 73 return (Map )((QNameMap)map).clone(); 74 } 75 else 76 { 77 return super.copyMap(map); 78 } 79 } 80 } 81 } 82 | Popular Tags |