KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > appfuse > webapp > tapestry > FieldLabel


1 package org.appfuse.webapp.tapestry;
2
3 import org.apache.tapestry.BindingException;
4 import org.apache.tapestry.IForm;
5 import org.apache.tapestry.IMarkupWriter;
6 import org.apache.tapestry.IRequestCycle;
7 import org.apache.tapestry.Tapestry;
8 import org.apache.tapestry.TapestryUtils;
9 import org.apache.tapestry.form.IFormComponent;
10 import org.apache.tapestry.valid.IValidationDelegate;
11
12 /**
13  * This class overrides the default FieldLabel component from Tapestry
14  * to allow the labelPrefix and labelSuffix to be written out within
15  * the <label> tag.
16  */

17 public abstract class FieldLabel extends org.apache.tapestry.valid.FieldLabel {
18
19     protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle) {
20         IForm form = TapestryUtils.getForm(cycle, this);
21         IFormComponent field = getField();
22
23         if (field != null && isPrerender())
24             form.prerenderField(writer, field, getLocation());
25
26         if (cycle.isRewinding())
27             return;
28
29         String JavaDoc displayName = getDisplayName();
30
31         if (displayName == null) {
32             if (field == null)
33                 throw Tapestry.createRequiredParameterException(this, "field");
34
35             displayName = field.getDisplayName();
36
37             if (displayName == null)
38                 throw new BindingException(ValidMessages.noDisplayName(this, field), this, null,
39                         getBinding("field"), null);
40         }
41
42         IValidationDelegate delegate = form.getDelegate();
43         String JavaDoc id = field == null ? null : field.getClientId();
44
45         // delegate.writeLabelPrefix(field, writer, cycle);
46

47         writer.begin("label");
48         delegate.writeLabelPrefix(field, writer, cycle);
49
50         if (id != null) {
51             writer.attribute("for", id);
52         }
53
54         delegate.writeLabelAttributes(writer, cycle, field);
55         renderInformalParameters(writer, cycle);
56         writer.print(displayName, getRaw());
57
58         delegate.writeLabelSuffix(field, writer, cycle);
59
60         writer.end();
61
62         // delegate.writeLabelSuffix(field, writer, cycle);
63
}
64 }
Popular Tags