01: /*
02: * $Id: ConstantMethodBinding.java 53793 2004-10-05 13:47:48Z vgritsenko $
03: */
04:
05: /*
06: * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
07: *
08: * Redistribution and use in source and binary forms, with or
09: * without modification, are permitted provided that the following
10: * conditions are met:
11: *
12: * - Redistributions of source code must retain the above copyright
13: * notice, this list of conditions and the following disclaimer.
14: *
15: * - Redistribution in binary form must reproduce the above
16: * copyright notice, this list of conditions and the following
17: * disclaimer in the documentation and/or other materials
18: * provided with the distribution.
19: *
20: * Neither the name of Sun Microsystems, Inc. or the names of
21: * contributors may be used to endorse or promote products derived
22: * from this software without specific prior written permission.
23: *
24: * This software is provided "AS IS," without a warranty of any
25: * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
26: * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
27: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
28: * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY
29: * DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR
30: * RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE OR
31: * ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE
32: * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT,
33: * SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
34: * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF
35: * THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS
36: * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
37: *
38: * You acknowledge that this software is not designed, licensed or
39: * intended for use in the design, construction, operation or
40: * maintenance of any nuclear facility.
41: */
42:
43: // BuildComponentFromTagImpl.java
44: package org.apache.cocoon.faces.samples.components.renderkit;
45:
46: import javax.faces.component.StateHolder;
47: import javax.faces.context.FacesContext;
48: import javax.faces.el.MethodBinding;
49:
50: public class ConstantMethodBinding extends MethodBinding implements
51: StateHolder {
52:
53: private String outcome = null;
54:
55: public ConstantMethodBinding() {
56: }
57:
58: public ConstantMethodBinding(String yourOutcome) {
59: outcome = yourOutcome;
60: }
61:
62: public Object invoke(FacesContext context, Object params[]) {
63: return outcome;
64: }
65:
66: public Class getType(FacesContext context) {
67: return String.class;
68: }
69:
70: // ----------------------------------------------------- StateHolder Methods
71:
72: public Object saveState(FacesContext context) {
73: return outcome;
74: }
75:
76: public void restoreState(FacesContext context, Object state) {
77: outcome = (String) state;
78: }
79:
80: private boolean transientFlag = false;
81:
82: public boolean isTransient() {
83: return (this .transientFlag);
84: }
85:
86: public void setTransient(boolean transientFlag) {
87: this.transientFlag = transientFlag;
88: }
89: }
|