org.apache.cocoon.forms.binding
Class JavaScriptJXPathBindingBuilder

java.lang.Object
  extended by org.apache.cocoon.forms.binding.JXPathBindingBuilderBase
      extended by org.apache.cocoon.forms.binding.JavaScriptJXPathBindingBuilder
All Implemented Interfaces:
Contextualizable, LogEnabled

public class JavaScriptJXPathBindingBuilder
extends JXPathBindingBuilderBase
implements Contextualizable

Builds a Binding based on two JavaScript snippets, respectively for loading and saving the form. This binding also optionally accepts named child bindings, which are useful when the bound widget is a container.

The syntax for this binding is as follows:

   <fb:javascript id="foo" path="@foo">
     <fb:load-form>
       var appValue = jxpathPointer.getValue();
       var formValue = doLoadConversion(appValue);
       widget.setValue(formValue);
       childBindings["foo"].loadFormFromModel(widget, jxpathContext);
     </fb:load-form>
     <fb:save-form>
       var formValue = widget.getValue();
       var appValue = doSaveConversion(formValue);
       jxpathPointer.setValue(appValue);
       childBindings["foo"].saveFormToModel(widget, jxpathContext);
     </fb:save-form>
     <fb:child-binding name="foo">
       <fb:value id="bar" path="baz"/>
     </fb:child-binding>
   </fb:javascript>
 
This example is rather trivial and could be replaced by a simple <fb:value>, but it shows the available variables in the script: Notes:

Version:
$Id: JavaScriptJXPathBindingBuilder.html 1304258 2012-03-23 10:09:27Z ilgrosso $

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.cocoon.forms.binding.JXPathBindingBuilderBase
JXPathBindingBuilderBase.CommonAttributes
 
Constructor Summary
JavaScriptJXPathBindingBuilder()
           
 
Method Summary
 JXPathBindingBase buildBinding(Element element, JXPathBindingManager.Assistant assistant)
          Builds a configured binding object based on the configuration as described in the bindingElement.
 void contextualize(Context context)
           
 
Methods inherited from class org.apache.cocoon.forms.binding.JXPathBindingBuilderBase
enableLogging, getCommonAttributes, getLogger, mergeCommonAttributes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaScriptJXPathBindingBuilder

public JavaScriptJXPathBindingBuilder()
Method Detail

contextualize

public void contextualize(Context context)
                   throws ContextException
Specified by:
contextualize in interface Contextualizable
Throws:
ContextException

buildBinding

public JXPathBindingBase buildBinding(Element element,
                                      JXPathBindingManager.Assistant assistant)
                               throws BindingException
Description copied from class: JXPathBindingBuilderBase
Builds a configured binding object based on the configuration as described in the bindingElement. The BuilderMap can be used to find appropriate builders for possible subBinders.

Specified by:
buildBinding in class JXPathBindingBuilderBase
Returns:
JXPathBindingBase
Throws:
BindingException


Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.