* @see javax.servlet.jsp.tagext.TagExtraInfo#getVariableInfo(javax.servlet.jsp.tagext.TagData)
*/
public VariableInfo[] getVariableInfo(TagData tagData) {
String definitions = tagData.getAttributeString("define");
String property = tagData.getAttributeString("name");
TagVariableDefinitions variables = null;
int size = (property != null) ? 1 : 0;
if (definitions != null) {
try {
variables = TagVariableDefinitionParser.parse(definitions);
size += variables.size();
} catch (ParseException e) {
logger.error("Error parsing tag variable definitions: " + definitions);
}
}
VariableInfo[] varinfo = new VariableInfo[size];
int i = 0;
// Add default element variable
if (property != null) {
varinfo[i++] = new VariableInfo(property, java.lang.String.class.getName(), true, VariableInfo.NESTED);
}
// Add defined variables
if (variables != null) {
Iterator<TagVariableDefinition> vars = variables.variables();
while (vars.hasNext()) {
TagVariableDefinition def = vars.next();
String alias = def.getAlias();
varinfo[i++] = new VariableInfo(alias, java.lang.String.class.getName(), true, VariableInfo.NESTED);
}