1 15 package org.apache.tapestry.components; 16 17 import java.text.Format ; 18 19 import org.apache.hivemind.ApplicationRuntimeException; 20 import org.apache.tapestry.AbstractComponent; 21 import org.apache.tapestry.IMarkupWriter; 22 import org.apache.tapestry.IRequestCycle; 23 24 30 31 public abstract class Insert extends AbstractComponent 32 { 33 36 37 protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle) 38 { 39 if (cycle.isRewinding()) 40 return; 41 42 Object value = getValue(); 43 44 if (value == null) 45 return; 46 47 String insert = null; 48 49 Format format = getFormat(); 50 51 if (format == null) 52 { 53 insert = value.toString(); 54 } 55 else 56 { 57 try 58 { 59 insert = format.format(value); 60 } 61 catch (Exception ex) 62 { 63 throw new ApplicationRuntimeException(ComponentMessages.unableToFormat( 64 this, 65 value, 66 ex), this, getBinding("format").getLocation(), ex); 67 } 68 } 69 70 String styleClass = getStyleClass(); 71 72 if (styleClass != null) 73 { 74 writer.begin("span"); 75 writer.attribute("class", styleClass); 76 77 renderInformalParameters(writer, cycle); 78 } 79 80 writer.print(insert, getRaw()); 81 82 if (styleClass != null) 83 writer.end(); } 85 86 public abstract Object getValue(); 87 88 public abstract Format getFormat(); 89 90 public abstract String getStyleClass(); 91 92 public abstract boolean getRaw(); 93 94 } | Popular Tags |