001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041: package com.sun.rave.web.ui.component;
042:
043: import java.io.IOException;
044: import javax.faces.component.UIComponent;
045: import javax.faces.context.FacesContext;
046: import javax.faces.el.MethodBinding;
047: import javax.faces.el.ValueBinding;
048:
049: /**
050: * <span style="text-decoration: line-through;"></span><span
051: * style="color: rgb(0, 0, 0);">Use the </span><code
052: * style="color: rgb(0, 0, 0);">ui:meta</code><span
053: * style="color: rgb(0, 0, 0);"> tag to create an
054: * HTML </span><code
055: * style="color: rgb(0, 0, 0);"><meta></code><span
056: * style="color: rgb(0, 0, 0);"> element in the
057: * rendered HTML page.
058: * The </span><code
059: * style="color: rgb(0, 0, 0);"><meta></code><span
060: * style="color: rgb(0, 0, 0);">
061: * element
062: * provides meta-information about your page, such as descriptions and
063: * keywords for search engines and refresh rates. The </span><code
064: * style="color: rgb(0, 0, 0);">ui:meta</code><span
065: * style="color: rgb(0, 0, 0);">
066: * tag must
067: * be inside a </span><code
068: * style="color: rgb(0, 0, 0);"><a
069: * href="http://smpt.east/%7Esmorgan/lockhart/tlddoc/ui/head.html">ui:head</a></code><span
070: * style="color: rgb(0, 0, 0);">
071: * tag.
072: * </span><br
073: * style="color: rgb(0, 0, 0);">
074: * <span style="color: rgb(0, 0, 0);"> </span><br
075: * style="color: rgb(0, 0, 0);">
076: * <h3 style="color: rgb(0, 0, 0);">HTML
077: * Elements and Layout
078: * </h3>
079: * <span
080: * style="text-decoration: line-through; color: rgb(0, 0, 0);"></span><span
081: * style="color: rgb(0, 0, 0);">The rendered HTML
082: * page
083: * contains an
084: * HTML </span><code
085: * style="color: rgb(0, 0, 0);"><meta></code><span
086: * style="color: rgb(0, 0, 0);"> tag and its
087: * associated attributes.</span>
088: * <h3 style="color: rgb(0, 0, 0);">Theme
089: * Identifiers</h3>
090: * <span style="color: rgb(0, 0, 0);">None.</span><br>
091: * <h3>Client Side Javascript
092: * Functions</h3>
093: * None. <span style="color: rgb(255, 153, 0);"></span>
094: * <h3>Example</h3>
095: * <b>Example 1: Create a Meta tag<br>
096: * <br>
097: * <span style="color: rgb(255, 153, 0);"></span></b>
098: * <div style="margin-left: 40px;"><code>....<br>
099: * <ui:head title="meta example" ><br>
100: * </code><code>
101: * <ui:meta httpEquiv="refresh"
102: * content="5" />
103: * <br>
104: * </ui:head><br>
105: * ....</code><br>
106: * </div>
107: * <p>Auto-generated component class.
108: * Do <strong>NOT</strong> modify; all changes
109: * <strong>will</strong> be lost!</p>
110: */
111:
112: public abstract class MetaBase extends
113: javax.faces.component.UIComponentBase {
114:
115: /**
116: * <p>Construct a new <code>MetaBase</code>.</p>
117: */
118: public MetaBase() {
119: super ();
120: setRendererType("com.sun.rave.web.ui.Meta");
121: }
122:
123: /**
124: * <p>Return the identifier of the component family to which this
125: * component belongs. This identifier, in conjunction with the value
126: * of the <code>rendererType</code> property, may be used to select
127: * the appropriate {@link Renderer} for this component instance.</p>
128: */
129: public String getFamily() {
130: return "com.sun.rave.web.ui.Meta";
131: }
132:
133: // content
134: private String content = null;
135:
136: /**
137: * <p>The content attribute is used to specify the data to associate with a
138: * name attribute or httpEquiv attribute in the ui:meta tag.</p>
139: */
140: public String getContent() {
141: if (this .content != null) {
142: return this .content;
143: }
144: ValueBinding _vb = getValueBinding("content");
145: if (_vb != null) {
146: return (String) _vb.getValue(getFacesContext());
147: }
148: return null;
149: }
150:
151: /**
152: * <p>The content attribute is used to specify the data to associate with a
153: * name attribute or httpEquiv attribute in the ui:meta tag.</p>
154: * @see #getContent()
155: */
156: public void setContent(String content) {
157: this .content = content;
158: }
159:
160: // httpEquiv
161: private String httpEquiv = null;
162:
163: /**
164: * <p>The httpEquiv attribute is used to specify a value for the http-equiv
165: * attribute of an HTML Meta element. The http-equiv attribute specifies
166: * HTTP properties that the web server can use in the HTTP response header.</p>
167: */
168: public String getHttpEquiv() {
169: if (this .httpEquiv != null) {
170: return this .httpEquiv;
171: }
172: ValueBinding _vb = getValueBinding("httpEquiv");
173: if (_vb != null) {
174: return (String) _vb.getValue(getFacesContext());
175: }
176: return null;
177: }
178:
179: /**
180: * <p>The httpEquiv attribute is used to specify a value for the http-equiv
181: * attribute of an HTML Meta element. The http-equiv attribute specifies
182: * HTTP properties that the web server can use in the HTTP response header.</p>
183: * @see #getHttpEquiv()
184: */
185: public void setHttpEquiv(String httpEquiv) {
186: this .httpEquiv = httpEquiv;
187: }
188:
189: // name
190: private String name = null;
191:
192: /**
193: * <p>The identifier that is assigned to a property in the meta element.
194: * The content attribute provides the actual content of the property that
195: * is identified by the name attribute.</p>
196: */
197: public String getName() {
198: if (this .name != null) {
199: return this .name;
200: }
201: ValueBinding _vb = getValueBinding("name");
202: if (_vb != null) {
203: return (String) _vb.getValue(getFacesContext());
204: }
205: return null;
206: }
207:
208: /**
209: * <p>The identifier that is assigned to a property in the meta element.
210: * The content attribute provides the actual content of the property that
211: * is identified by the name attribute.</p>
212: * @see #getName()
213: */
214: public void setName(String name) {
215: this .name = name;
216: }
217:
218: // scheme
219: private String scheme = null;
220:
221: /**
222: * <p>Defines a format to be used to interpret the value of the content
223: * attribute.</p>
224: */
225: public String getScheme() {
226: if (this .scheme != null) {
227: return this .scheme;
228: }
229: ValueBinding _vb = getValueBinding("scheme");
230: if (_vb != null) {
231: return (String) _vb.getValue(getFacesContext());
232: }
233: return null;
234: }
235:
236: /**
237: * <p>Defines a format to be used to interpret the value of the content
238: * attribute.</p>
239: * @see #getScheme()
240: */
241: public void setScheme(String scheme) {
242: this .scheme = scheme;
243: }
244:
245: /**
246: * <p>Restore the state of this component.</p>
247: */
248: public void restoreState(FacesContext _context, Object _state) {
249: Object _values[] = (Object[]) _state;
250: super .restoreState(_context, _values[0]);
251: this .content = (String) _values[1];
252: this .httpEquiv = (String) _values[2];
253: this .name = (String) _values[3];
254: this .scheme = (String) _values[4];
255: }
256:
257: /**
258: * <p>Save the state of this component.</p>
259: */
260: public Object saveState(FacesContext _context) {
261: Object _values[] = new Object[5];
262: _values[0] = super .saveState(_context);
263: _values[1] = this .content;
264: _values[2] = this .httpEquiv;
265: _values[3] = this .name;
266: _values[4] = this.scheme;
267: return _values;
268: }
269:
270: }
|