org.apache.cocoon.forms.binding
Class RepeaterJXPathBinding

java.lang.Object
  extended byorg.apache.cocoon.forms.binding.JXPathBindingBase
      extended byorg.apache.cocoon.forms.binding.RepeaterJXPathBinding
All Implemented Interfaces:
Binding, LogEnabled

public class RepeaterJXPathBinding
extends JXPathBindingBase

RepeaterJXPathBinding provides an implementation of a Binding that allows for bidirectional binding of a repeater-widget to/from repeating structures in the back-end object model.

Version:
$Id: RepeaterJXPathBinding.java 290473 2005-09-20 15:30:48Z sylvain $

Field Summary
 
Fields inherited from class org.apache.cocoon.forms.binding.JXPathBindingBase
classes, parent
 
Constructor Summary
RepeaterJXPathBinding(JXPathBindingBuilderBase.CommonAttributes commonAtts, String repeaterId, String repeaterPath, String rowPath, String rowPathForInsert, JXPathBindingBase[] childBindings, JXPathBindingBase insertBinding, JXPathBindingBase[] deleteBindings, JXPathBindingBase[] identityBindings)
          Constructs RepeaterJXPathBinding
 
Method Summary
 void doLoad(Widget frmModel, org.apache.commons.jxpath.JXPathContext jxpc)
          Binds the unique-id of the repeated rows, and narrows the context on objectModelContext and Repeater to the repeated rows before handing over to the actual binding-children.
 void doSave(Widget frmModel, org.apache.commons.jxpath.JXPathContext jxpc)
          Uses the mapped identity of each row to detect if rows have been updated, inserted or removed.
 void enableLogging(Logger logger)
          Receives the Avalon logger to use.
 ComposedJXPathBindingBase getDeleteRowBinding()
           
 String getId()
          Returns binding definition id.
 ComposedJXPathBindingBase getIdentityBinding()
           
 JXPathBindingBase getInsertRowBinding()
           
 String getInsertRowPath()
           
 String getRepeaterPath()
           
 ComposedJXPathBindingBase getRowBinding()
           
 String getRowPath()
           
 String toString()
           
 
Methods inherited from class org.apache.cocoon.forms.binding.JXPathBindingBase
getClass, getCommonAtts, getLocalLibrary, getLocation, getLogger, isValid, loadFormFromModel, loadFormFromModel, saveFormToModel, saveFormToModel, selectWidget, setLocalLibary, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RepeaterJXPathBinding

public RepeaterJXPathBinding(JXPathBindingBuilderBase.CommonAttributes commonAtts,
                             String repeaterId,
                             String repeaterPath,
                             String rowPath,
                             String rowPathForInsert,
                             JXPathBindingBase[] childBindings,
                             JXPathBindingBase insertBinding,
                             JXPathBindingBase[] deleteBindings,
                             JXPathBindingBase[] identityBindings)
Constructs RepeaterJXPathBinding

Method Detail

getId

public String getId()
Description copied from class: JXPathBindingBase
Returns binding definition id.

Specified by:
getId in interface Binding
Overrides:
getId in class JXPathBindingBase

getRepeaterPath

public String getRepeaterPath()

getRowPath

public String getRowPath()

getInsertRowPath

public String getInsertRowPath()

getRowBinding

public ComposedJXPathBindingBase getRowBinding()

getDeleteRowBinding

public ComposedJXPathBindingBase getDeleteRowBinding()

getIdentityBinding

public ComposedJXPathBindingBase getIdentityBinding()

getInsertRowBinding

public JXPathBindingBase getInsertRowBinding()

doLoad

public void doLoad(Widget frmModel,
                   org.apache.commons.jxpath.JXPathContext jxpc)
            throws BindingException
Binds the unique-id of the repeated rows, and narrows the context on objectModelContext and Repeater to the repeated rows before handing over to the actual binding-children.

Specified by:
doLoad in class JXPathBindingBase
Throws:
BindingException

doSave

public void doSave(Widget frmModel,
                   org.apache.commons.jxpath.JXPathContext jxpc)
            throws BindingException
Uses the mapped identity of each row to detect if rows have been updated, inserted or removed. Depending on what happened the appropriate child-bindings are allowed to visit the narrowed contexts.

Specified by:
doSave in class JXPathBindingBase
Throws:
BindingException

toString

public String toString()

enableLogging

public void enableLogging(Logger logger)
Description copied from class: JXPathBindingBase
Receives the Avalon logger to use. Subclasses should always start with super.enableLogging(logger) in possible overriding versions.

Specified by:
enableLogging in interface LogEnabled
Overrides:
enableLogging in class JXPathBindingBase


Copyright ? 1999-2005 The Apache Software Foundation. All Rights Reserved.