package org.japanosample.test.legacy;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.DynamicAttributes;
import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import org.japano.metadata.annotation.JapanoTag;
@JapanoTag ( library="/test/legacy", bodyContent="empty" )
public class DynamicAttrTest extends SimpleTagSupport implements DynamicAttributes
{
private Map<String,Object> attrs=new HashMap();
public void setDynamicAttribute(String uri, String name, Object obj) throws javax.servlet.jsp.JspException
{
attrs.put(name, obj);
}
public void doTag() throws javax.servlet.jsp.JspException, java.io.IOException
{
JspWriter out=getJspContext().getOut();
out.print('[');
boolean first=true;
for (String name : attrs.keySet())
{
if (!first)
out.print(',');
first=false;
Object o=attrs.get(name);
if (o instanceof JspFragment)
{
out.print(name+'=');
((JspFragment)o).invoke(out);
}
else
{
out.print(name+'='+o);
}
}
out.print(']');
}
}