1 10 package org.mmbase.bridge.jsp.taglib; 11 12 import javax.servlet.jsp.tagext.VariableInfo ; 13 import javax.servlet.jsp.tagext.TagData ; 14 import javax.servlet.jsp.tagext.TagExtraInfo ; 15 16 17 24 25 public class WriterTEI extends TagExtraInfo { 26 27 protected int scope() { 28 return VariableInfo.NESTED; 29 } 30 protected String defaultType() { 31 return "object"; 32 } 33 34 37 protected String getType(String typeAttribute) { 38 String type; 39 switch (WriterHelper.stringToType(typeAttribute)) { 40 case WriterHelper.TYPE_OBJECT: 41 type = Object .class.getName(); break; 42 case WriterHelper.TYPE_STRING: 43 type = String .class.getName(); break; 44 case WriterHelper.TYPE_CHARSEQUENCE: 45 type = CharSequence .class.getName(); break; 46 case WriterHelper.TYPE_NODE: 47 type = org.mmbase.bridge.Node.class.getName(); break; 48 case WriterHelper.TYPE_CLOUD: 49 type = org.mmbase.bridge.Cloud.class.getName(); break; 50 case WriterHelper.TYPE_TRANSACTION: 51 type = org.mmbase.bridge.Transaction.class.getName(); break; 52 case WriterHelper.TYPE_DECIMAL: 53 type = java.math.BigDecimal .class.getName(); break; 54 case WriterHelper.TYPE_INTEGER: 55 type = Integer .class.getName(); break; 56 case WriterHelper.TYPE_DOUBLE: 57 type = Double .class.getName(); break; 58 case WriterHelper.TYPE_FLOAT: 59 type = Float .class.getName(); break; 60 case WriterHelper.TYPE_LONG: 61 type = Long .class.getName(); break; 62 case WriterHelper.TYPE_VECTOR: type = java.util.Vector .class.getName(); break; 64 case WriterHelper.TYPE_LIST: 65 type = java.util.List .class.getName(); break; 66 case WriterHelper.TYPE_DATE: 67 type = java.util.Date .class.getName(); break; 68 case WriterHelper.TYPE_FIELD: 69 type = org.mmbase.bridge.Field.class.getName(); break; 70 case WriterHelper.TYPE_FIELDVALUE: 71 type = org.mmbase.bridge.FieldValue.class.getName(); break; 72 case WriterHelper.TYPE_BOOLEAN: 73 type = Boolean .class.getName(); break; 74 case WriterHelper.TYPE_BYTES: 75 type = "byte[]"; break; 76 79 case WriterHelper.TYPE_FILEITEM: 81 type = org.apache.commons.fileupload.FileItem.class.getName(); 82 break; 83 default: 84 throw new RuntimeException ("Unknown type '" + typeAttribute + "'"); 86 } 87 return type; 88 89 } 90 91 public VariableInfo [] getVariableInfo(TagData data) { 92 VariableInfo [] variableInfo = null; 93 94 String jspvarAttribute = (String ) data.getAttribute("jspvar"); 95 96 if (jspvarAttribute != null) { 97 variableInfo = new VariableInfo [1]; 98 99 String typeAttribute = (String ) data.getAttribute("vartype"); 100 if (typeAttribute == null) typeAttribute = defaultType(); 101 String type = getType(typeAttribute); 102 103 variableInfo[0] = new VariableInfo (jspvarAttribute, 104 type, 105 true, 106 scope()); 107 } 108 return variableInfo; 109 } 110 } 111 | Popular Tags |