1 18 package org.apache.beehive.netui.tags.rendering; 19 20 import org.apache.beehive.netui.tags.html.HtmlConstants; 21 22 import java.util.HashMap ; 23 24 28 abstract public class InputHiddenTag extends TagHtmlBase implements HtmlConstants 29 { 30 public static void add(HashMap html, HashMap htmlQuirks, HashMap xhtml) 31 { 32 html.put(INPUT_HIDDEN_TAG, new HtmlRendering()); 33 htmlQuirks.put(INPUT_HIDDEN_TAG, new HtmlRendering()); 34 xhtml.put(INPUT_HIDDEN_TAG, new XhtmlRendering()); 35 } 36 37 public static class State extends AbstractHtmlControlState 38 { 39 public String value; 40 41 public void clear() 42 { 43 super.clear(); 44 45 value = null; 46 } 47 } 48 49 public void doStartTag(AbstractRenderAppender sb, AbstractTagState renderState) 50 { 51 assert(sb != null) : "Parameter 'sb' must not be null"; 52 assert(renderState != null) : "Parameter 'renderState' must not be null"; 53 assert(renderState instanceof State) : "Paramater 'renderState' must be an instance of InputHiddenTag.State"; 54 55 State state = (State) renderState; 56 57 renderTag(sb, INPUT); 59 renderAttribute(sb, TYPE, INPUT_HIDDEN); 60 renderAttribute(sb, ID, state.id); 61 renderAttribute(sb, NAME, state.name); 62 renderAttribute(sb, VALUE, state.value); 63 64 renderAttributes(AbstractHtmlState.ATTR_GENERAL, sb, state); 65 renderAttribute(sb, STYLE, state.style); 66 renderAttributes(AbstractHtmlState.ATTR_JAVASCRIPT, sb, state); 67 writeEnd(sb); 68 } 69 70 public void doEndTag(AbstractRenderAppender sb) 71 { 72 } 73 74 abstract protected void writeEnd(AbstractRenderAppender sb); 75 76 private static class HtmlRendering extends InputHiddenTag 77 { 78 protected void writeEnd(AbstractRenderAppender sb) 79 { 80 sb.append(">"); 81 } 82 } 83 84 private static class XhtmlRendering extends InputHiddenTag 85 { 86 protected void writeEnd(AbstractRenderAppender sb) 87 { 88 sb.append(" />"); 89 } 90 } 91 } 92 | Popular Tags |