1 /*
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3 *
4 * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
5 *
6 * The contents of this file are subject to the terms of either the GNU
7 * General Public License Version 2 only ("GPL") or the Common Development
8 * and Distribution License("CDDL") (collectively, the "License"). You
9 * may not use this file except in compliance with the License. You can obtain
10 * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
11 * or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
12 * language governing permissions and limitations under the License.
13 *
14 * When distributing the software, include this License Header Notice in each
15 * file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
16 * Sun designates this particular file as subject to the "Classpath" exception
17 * as provided by Sun in the GPL Version 2 section of the License file that
18 * accompanied this code. If applicable, add the following below the License
19 * Header, with the fields enclosed by brackets [] replaced by your own
20 * identifying information: "Portions Copyrighted [year]
21 * [name of copyright owner]"
22 *
23 * Contributor(s):
24 *
25 * If you wish your version of this file to be governed by only the CDDL or
26 * only the GPL Version 2, indicate your decision by adding "[Contributor]
27 * elects to include this software in this distribution under the [CDDL or GPL
28 * Version 2] license." If you don't indicate a single choice of license, a
29 * recipient has the option to distribute your version of this file under
30 * either the CDDL, the GPL Version 2 or to extend the choice of license to
31 * its licensees as provided above. However, if you add GPL Version 2 code
32 * and therefore, elected the GPL Version 2 license, then the option applies
33 * only if the new code is made subject to such option by the copyright
34 * holder.
35 */
36 package javax.faces.component.html;
37
38 import java.io.IOException;
39 import java.util.List;
40 import java.util.ArrayList;
41 import java.util.Arrays;
42
43 import javax.faces.context.FacesContext;
44 import javax.el.MethodExpression;
45 import javax.el.ValueExpression;
46
47
48 /*
49 * ******* GENERATED CODE - DO NOT EDIT *******
50 */
51
52
53 /**
54 * <p>Represents an HTML <code>input</code> element
55 * of type <code>hidden</code>.</p>
56 * <p>By default, the <code>rendererType</code> property must be set to "<code>javax.faces.Hidden</code>".
57 * This value can be changed by calling the <code>setRendererType()</code> method.</p>
58 */
59 public class HtmlInputHidden extends javax.faces.component.UIInput {
60
61
62
63 private static final String[] OPTIMIZED_PACKAGES = {
64 "javax.faces.component",
65 "javax.faces.component.html"
66 };
67
68 public HtmlInputHidden() {
69 super();
70 setRendererType("javax.faces.Hidden");
71 }
72
73
74 /**
75 * <p>The standard component type for this component.</p>
76 */
77 public static final String COMPONENT_TYPE = "javax.faces.HtmlInputHidden";
78
79
80 private Object[] _values;
81
82 public Object saveState(FacesContext _context) {
83 if (_values == null) {
84 _values = new Object[1];
85 }
86 _values[0] = super.saveState(_context);
87 return _values;
88 }
89
90
91 public void restoreState(FacesContext _context, Object _state) {
92 _values = (Object[]) _state;
93 super.restoreState(_context, _values[0]);
94 }
95
96
97 private void handleAttribute(String name, Object value) {
98 List<String> setAttributes = null;
99 String pkg = this.getClass().getPackage().getName();
100 if (Arrays.binarySearch(OPTIMIZED_PACKAGES, pkg) >= 0) {
101 setAttributes = (List<String>) this.getAttributes().get("javax.faces.component.UIComponentBase.attributesThatAreSet");
102 if (setAttributes == null) {
103 setAttributes = new ArrayList<String>(6);
104 this.getAttributes().put("javax.faces.component.UIComponentBase.attributesThatAreSet", setAttributes);
105 }
106 if (value == null) {
107 setAttributes.remove(name);
108 } else if (!setAttributes.contains(name)) {
109 setAttributes.add(name);
110 }
111 }
112 }
113
114 }