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.forms.binding;
18:
19: import org.apache.cocoon.forms.formmodel.Widget;
20:
21: import org.apache.commons.jxpath.JXPathContext;
22:
23: /**
24: * ClassJXPathBinding provides an implementation of a {@link Binding}
25: * which allows the specification of a class of reusable bindings.
26: * <p>NOTES:
27: * <ol>
28: * <li>This Binding uses the provided widget-id as the name for the class.</li>
29: * </ol>
30: *
31: * @version $Id: ClassJXPathBinding.java 450255 2006-09-26 23:48:43Z vgritsenko $
32: */
33: public class ClassJXPathBinding extends ComposedJXPathBindingBase {
34:
35: private final String widgetId;
36:
37: /**
38: * Constructs ClassJXPathBinding
39: * @param commonAtts
40: * @param widgetId
41: * @param childBindings
42: */
43: public ClassJXPathBinding(
44: JXPathBindingBuilderBase.CommonAttributes commonAtts,
45: String widgetId, JXPathBindingBase[] childBindings) {
46: super (commonAtts, childBindings);
47: this .widgetId = widgetId;
48: }
49:
50: /**
51: * Returns binding definition id.
52: */
53: public String getId() {
54: return widgetId;
55: }
56:
57: /**
58: * Narrows the scope on the form-model to the member widget-field, and
59: * narrows the scope on the object-model to the member xpath-context
60: * before continuing the binding over the child-bindings.
61: */
62: public void doLoad(Widget frmModel, JXPathContext jxpc) {
63: // Do nothing
64: }
65:
66: /**
67: * Narrows the scope on the form-model to the member widget-field, and
68: * narrows the scope on the object-model to the member xpath-context
69: * before continuing the binding over the child-bindings.
70: */
71: public void doSave(Widget frmModel, JXPathContext jxpc)
72: throws BindingException {
73: // Do nothing
74: }
75:
76: public String toString() {
77: return "ClassJXPathBinding [widget=" + this .widgetId + "]";
78: }
79: }
|