1 // WARNING: This file was automatically generated. Do not edit it directly,
2 // or you will lose your changes.
3
4 /*
5 * Licensed to the Apache Software Foundation (ASF) under one
6 * or more contributor license agreements. See the NOTICE file
7 * distributed with this work for additional information
8 * regarding copyright ownership. The ASF licenses this file
9 * to you under the Apache License, Version 2.0 (the
10 * "License"); you may not use this file except in compliance
11 * with the License. You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing,
16 * software distributed under the License is distributed on an
17 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18 * KIND, either express or implied. See the License for the
19 * specific language governing permissions and limitations
20 * under the License.
21 */
22 package org.apache.myfaces.trinidad.component.core;
23
24 import org.apache.myfaces.trinidad.bean.FacesBean;
25 import org.apache.myfaces.trinidad.component.UIXSubform;
26
27 /**
28 *
29 * <html:p>
30 * The CoreSubform represents an independently submittable
31 * region of a page. The contents of a subform will only be validated
32 * (or otherwise processed) if a component inside of the subform is
33 * responsible for submitting the page or if the default attribute is set to true. This allows for comparatively
34 * fine-grained control of which components will be validated and pushed
35 * into the model without the compromises of using entirely separate form
36 * elements.
37 * </html:p>
38 *
39 * <html:p>
40 * We strongly recommend the use of a single <tr:form> per page, and
41 * using <tr:subform> where you might otherwise be tempted to use multiple
42 * forms. Multiple forms require multiple copies of page state, and user
43 * edits in forms that aren't submitted are always lost. When a page using
44 * subforms is submitted, page state is only written once, and all
45 * user edits are preserved.
46 * </html:p>
47 * <html:p>
48 * See the UIXSubform Javadoc for more details on how subforms work.
49 * </html:p>
50 *
51 * <h4>Events:</h4>
52 * <table border="1" width="100%" cellpadding="3" summary="">
53 * <tr bgcolor="#CCCCFF" class="TableHeadingColor">
54 * <th align="left">Type</th>
55 * <th align="left">Phases</th>
56 * <th align="left">Description</th>
57 * </tr>
58 * <tr class="TableRowColor">
59 * <td valign="top"><code>org.apache.myfaces.trinidad.event.AttributeChangeEvent</code></td>
60 * <td valign="top" nowrap>Invoke<br>Application<br>Apply<br>Request<br>Values</td>
61 * <td valign="top">Event delivered to describe an attribute change. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change event might include the width of a column that supported client-side resizing.</td>
62 * </tr>
63 * </table>
64 */
65 public class CoreSubform extends UIXSubform
66 {
67 static public final FacesBean.Type TYPE = new FacesBean.Type(
68 UIXSubform.TYPE);
69
70 static public final String COMPONENT_FAMILY =
71 "org.apache.myfaces.trinidad.Subform";
72 static public final String COMPONENT_TYPE =
73 "org.apache.myfaces.trinidad.CoreSubform";
74
75 /**
76 * Construct an instance of the CoreSubform.
77 */
78 public CoreSubform()
79 {
80 super("org.apache.myfaces.trinidad.Subform");
81 }
82
83 @Override
84 public String getFamily()
85 {
86 return COMPONENT_FAMILY;
87 }
88
89 @Override
90 protected FacesBean.Type getBeanType()
91 {
92 return TYPE;
93 }
94
95 /**
96 * Construct an instance of the CoreSubform.
97 */
98 protected CoreSubform(
99 String rendererType
100 )
101 {
102 super(rendererType);
103 }
104
105 static
106 {
107 TYPE.lockAndRegister("org.apache.myfaces.trinidad.Subform","org.apache.myfaces.trinidad.Subform");
108 }
109 }