Source code: org/apache/tapestry/wml/PropertySelection.java
1 /* $$ Clover has instrumented this file $$ */// Copyright 2004 The Apache Software Foundation
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 package org.apache.tapestry.wml;
16
17 import org.apache.tapestry.AbstractComponent;
18 import org.apache.tapestry.IMarkupWriter;
19 import org.apache.tapestry.IRequestCycle;
20 import org.apache.tapestry.form.IPropertySelectionModel;
21
22 /**
23 * A high level component used to render a drop-down list of options that the user may select.
24 *
25 * Informal parameters are applied to the <select> tag. To have greater control over the <option> tags, you must use
26 * a Select and Option or a concrete class of {@link org.apache.tapestry.link.ILinkRenderer} with the
27 * {@link OptionRenderer}.
28 *
29 * @author David Solis
30 */
31
32 public abstract class PropertySelection extends AbstractComponent
33 {public static com.cortexeb.tools.clover.d __CLOVER_476_0 = com.cortexeb.tools.clover.aq.getRecorder(new char[] {67,58,92,119,111,114,107,115,112,97,99,101,92,106,97,107,97,114,116,97,45,116,97,112,101,115,116,114,121,92,102,114,97,109,101,119,111,114,107,92,116,97,114,103,101,116,92,99,108,111,118,101,114,45,100,98},1096998272901L);
34 /**
35 * @see AbstractComponent#renderComponent(IMarkupWriter, IRequestCycle)
36 **/
37
38 protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle)
39 {try { __CLOVER_476_0.M[2628]++;
40 __CLOVER_476_0.S[10610]++;boolean render = !cycle.isRewinding();
41
42 __CLOVER_476_0.S[10611]++;if ((((render) && (++__CLOVER_476_0.CT[1825] != 0)) || (++__CLOVER_476_0.CF[1825] == 0))){
43 {
44 __CLOVER_476_0.S[10612]++;IPropertySelectionModel model = getModel();
45
46 __CLOVER_476_0.S[10613]++;writer.begin("select");
47
48 __CLOVER_476_0.S[10614]++;writer.attribute("name", getName());
49
50 __CLOVER_476_0.S[10615]++;renderInformalParameters(writer, cycle);
51
52 __CLOVER_476_0.S[10616]++;writer.println();
53
54 __CLOVER_476_0.S[10617]++;int count = model.getOptionCount();
55
56 __CLOVER_476_0.S[10618]++;for (int i = 0; (((i < count) && (++__CLOVER_476_0.CT[1826] != 0)) || (++__CLOVER_476_0.CF[1826] == 0)); i++){
57 {
58
59 __CLOVER_476_0.S[10619]++;writer.begin("option");
60 __CLOVER_476_0.S[10620]++;writer.attribute("value", model.getValue(i));
61
62 __CLOVER_476_0.S[10621]++;writer.print(model.getLabel(i));
63
64 __CLOVER_476_0.S[10622]++;writer.end();
65 __CLOVER_476_0.S[10623]++;writer.println();
66 }}
67
68 __CLOVER_476_0.S[10624]++;writer.end();
69 }}
70 } finally { }}
71
72 public abstract IPropertySelectionModel getModel();
73
74 public abstract String getName();
75 }