View Javadoc
1   // ---------- Attention: Generated code, please do not modify! -----------
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one or more
5    * contributor license agreements.  See the NOTICE file distributed with
6    * this work for additional information regarding copyright ownership.
7    * The ASF licenses this file to You under the Apache License, Version 2.0
8    * (the "License"); you may not use this file except in compliance with
9    * the License.  You may obtain a copy of the License at
10   *
11   *      http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   */
19  
20  package org.apache.myfaces.tobago.component;
21  
22  import javax.faces.context.FacesContext;
23  import org.apache.myfaces.tobago.context.Markup;
24  import org.apache.myfaces.tobago.internal.component.AbstractUIPage;
25  import org.apache.myfaces.tobago.renderkit.css.CustomClass;
26  import org.apache.myfaces.tobago.internal.util.ArrayUtils;
27  import org.apache.myfaces.tobago.internal.util.StringUtils;
28  import org.apache.myfaces.tobago.internal.util.Deprecation;
29  import org.apache.myfaces.tobago.component.Tags;
30  import javax.annotation.Generated;
31  import javax.el.ELException;
32  import javax.faces.FacesException;
33  import java.util.Arrays;
34  import java.util.ArrayList;
35  import java.util.Collection;
36  import java.util.List;
37  import javax.el.MethodExpression;
38  import javax.el.ValueExpression;
39  
40  /**
41   <p>
42    Renders a page element.
43    </p>
44    <p>
45    The markup {
46    * UIComponent class, generated from template {@code component.stg} with class
47    * {@link org.apache.myfaces.tobago.internal.taglib.component.PageTagDeclaration}.
48   */
49  @Generated("component.stg")
50  public class UIPage
51      extends AbstractUIPage  {
52  
53    public static final String COMPONENT_TYPE = Tags.page.componentType();
54  
55    public static final String COMPONENT_FAMILY = "javax.faces.Form";
56  
57    private static final Collection<String> EVENT_NAMES = Arrays.asList("click", "dblclick", "load", "resize");
58  
59    @Override
60    public Collection<String> getEventNames() {
61      return EVENT_NAMES;
62    }
63  
64    @Override
65    public String getDefaultEventName() {
66      return "click";
67    }
68  
69  
70    enum PropertyKeys {
71      markup,
72      customClass,
73      label,
74      focusId,
75    }
76  
77    public String getFamily() {
78      return COMPONENT_FAMILY;
79    }
80  
81  
82    public org.apache.myfaces.tobago.context.Markup getMarkup() {
83      Object object = getStateHelper().eval(PropertyKeys.markup);
84      if (object != null) {
85        return Markup.valueOf(object);
86      }
87      return null;
88    }
89  
90    public void setMarkup(org.apache.myfaces.tobago.context.Markup markup) {
91      getStateHelper().put(PropertyKeys.markup, markup);
92    }
93  
94    /**
95    Sets a CSS class in its parent, if the parent supports it.
96  
97     Which this feature it is possible to put a CSS class name into a component with the &lt;tc:style&gt; tag. Example:
98  
99     <pre>
100    &lt;tc:in&gt;
101      &lt;tc:style customClass="my-emphasized"/&gt;
102    &lt;/tc:in&gt;
103    </pre>
104 
105    One capability is, to used external CSS libs.
106    <br>
107    This feature should not be used imprudent.
108    Because it might be unstable against changes in the renderered HTML code.
109 
110   */
111   public org.apache.myfaces.tobago.renderkit.css.CustomClass getCustomClass() {
112     return (org.apache.myfaces.tobago.renderkit.css.CustomClass) getStateHelper().eval(PropertyKeys.customClass);
113   }
114 
115   public void setCustomClass(org.apache.myfaces.tobago.renderkit.css.CustomClass customClass) {
116     getStateHelper().put(PropertyKeys.customClass, customClass);
117   }
118 
119   /**
120   A localized user presentable label for this component.
121 
122   */
123   public java.lang.String getLabel() {
124     return (java.lang.String) getStateHelper().eval(PropertyKeys.label);
125   }
126 
127   public void setLabel(java.lang.String label) {
128     getStateHelper().put(PropertyKeys.label, label);
129   }
130 
131   /**
132   Contains the id of the component which should have the focus after
133    loading the page.
134    Set to empty string for disabling setting of focus.
135    Default (null) enables the "auto focus" feature.
136 
137   */
138   public java.lang.String getFocusId() {
139     return (java.lang.String) getStateHelper().eval(PropertyKeys.focusId);
140   }
141 
142   public void setFocusId(java.lang.String focusId) {
143     getStateHelper().put(PropertyKeys.focusId, focusId);
144   }
145 
146 
147   @Override
148   public void restoreState(FacesContext context, Object state) {
149     // FIXME HACK for mojarra SystemEventListener state restoring bug
150     pushComponentToEL(context, this);
151     super.restoreState(context, state);
152     popComponentFromEL(context);
153   }
154 
155 }