01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.apache.cocoon.faces.taglib;
18:
19: import org.apache.cocoon.faces.FacesUtils;
20:
21: import javax.faces.component.UIComponent;
22: import javax.faces.component.UIParameter;
23: import javax.faces.FacesException;
24:
25: /**
26: * @version CVS $Id: ParameterTag.java 433543 2006-08-22 06:22:54Z crossley $
27: */
28: public class ParameterTag extends UIComponentTag {
29:
30: private String name;
31: private String value;
32:
33: public void setName(String name) {
34: this .name = name;
35: }
36:
37: public void setValue(String value) {
38: this .value = value;
39: }
40:
41: protected String getComponentType() {
42: return "javax.faces.Parameter";
43: }
44:
45: protected String getRendererType() {
46: return null;
47: }
48:
49: protected void setProperties(UIComponent component) {
50: super .setProperties(component);
51:
52: UIParameter parameter;
53: try {
54: parameter = (UIParameter) component;
55: } catch (ClassCastException cce) {
56: throw new FacesException("Tag <" + getClass().getName()
57: + "> expected UIParameter. " + "Got <"
58: + component.getClass().getName() + ">");
59: }
60:
61: if (name != null) {
62: if (FacesUtils.isExpression(name)) {
63: parameter.setValueBinding("name",
64: createValueBinding(name));
65: } else {
66: parameter.setName(name);
67: }
68: }
69:
70: if (value != null) {
71: if (FacesUtils.isExpression(value)) {
72: parameter.setValueBinding("value",
73: createValueBinding(value));
74: } else {
75: parameter.setValue(value);
76: }
77: }
78: }
79:
80: public void recycle() {
81: super.recycle();
82: this.name = null;
83: this.value = null;
84: }
85: }
|