1 15 package org.apache.tapestry.wml; 16 17 import org.apache.hivemind.ApplicationRuntimeException; 18 import org.apache.hivemind.HiveMind; 19 import org.apache.tapestry.AbstractComponent; 20 import org.apache.tapestry.IMarkupWriter; 21 import org.apache.tapestry.IRequestCycle; 22 import org.apache.tapestry.Tapestry; 23 24 31 32 public abstract class Card extends AbstractComponent 33 { 34 private static final String ATTRIBUTE_NAME = "org.apache.tapestry.wml.Card"; 35 36 39 40 protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle) 41 { 42 if (cycle.getAttribute(ATTRIBUTE_NAME) != null) 43 throw new ApplicationRuntimeException(Tapestry.getMessage("Card.cards-may-not-nest"), 44 this, null, null); 45 46 cycle.setAttribute(ATTRIBUTE_NAME, this); 47 48 writer.begin("card"); 49 50 String title = getTitle(); 51 if (HiveMind.isNonBlank(title)) 52 writer.attribute("title", title); 53 54 renderInformalParameters(writer, cycle); 55 56 IMarkupWriter nestedWriter = writer.getNestedWriter(); 57 58 renderBody(nestedWriter, cycle); 59 60 nestedWriter.close(); 61 62 writer.end(); 63 64 cycle.removeAttribute(ATTRIBUTE_NAME); 65 } 66 67 public abstract String getTitle(); 68 } | Popular Tags |