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.woody.binding;
18:
19: import org.apache.cocoon.woody.formmodel.Widget;
20: import org.apache.commons.jxpath.JXPathContext;
21:
22: /**
23: * SetAttributeJXPathBinding provides an implementation of a {@link Binding}
24: * that sets a particular attribute to a fixed value upon save.
25: * <p>
26: * NOTES: <ol>
27: * <li>This Binding does not perform any actions when loading.</li>
28: * </ol>
29: *
30: * @version CVS $Id: SetAttributeJXPathBinding.java 433543 2006-08-22 06:22:54Z crossley $
31: */
32: public class SetAttributeJXPathBinding extends JXPathBindingBase {
33:
34: private final String name;
35: private final String value;
36:
37: /**
38: * Constructs SetAttributeJXPathBinding
39: */
40: public SetAttributeJXPathBinding(
41: JXPathBindingBuilderBase.CommonAttributes commonAtts,
42: String attName, String attValue) {
43: super (commonAtts);
44: this .name = attName;
45: this .value = attValue;
46: }
47:
48: /**
49: * Do-Nothing implementation.
50: */
51: public void doLoad(Widget frmModel, JXPathContext jxpc) {
52: //this does nothing in the loading of things
53: }
54:
55: /**
56: * Sets the attribute value on the passed JXPathContext
57: */
58: public void doSave(Widget frmModel, JXPathContext jxpc) {
59: jxpc.setValue("@" + this .name, this .value);
60: if (getLogger().isDebugEnabled())
61: getLogger().debug("done saving " + toString());
62: }
63:
64: public String toString() {
65: return "SetAttributeJXPathBinding [attName=" + this .name
66: + ", attValue=" + this .value + "]";
67: }
68: }
|