org.apache.cocoon.woody.binding
Class RepeaterJXPathBinding

java.lang.Object
  extended by org.apache.cocoon.woody.binding.JXPathBindingBase
      extended by org.apache.cocoon.woody.binding.RepeaterJXPathBinding
All Implemented Interfaces:
LogEnabled, Binding

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:
CVS $Id: RepeaterJXPathBinding.html 1304258 2012-03-23 10:09:27Z ilgrosso $

Field Summary
 
Fields inherited from class org.apache.cocoon.woody.binding.JXPathBindingBase
classes, parent
 
Constructor Summary
RepeaterJXPathBinding(org.apache.cocoon.woody.binding.JXPathBindingBuilderBase.CommonAttributes commonAtts, String repeaterId, String repeaterPath, String rowPath, String rowPathForInsert, String uniqueRowId, String uniqueRowPath, Convertor convertor, Locale convertorLocale, JXPathBindingBase[] childBindings, JXPathBindingBase insertBinding, JXPathBindingBase[] deleteBindings, JXPathBindingBase[] uniqueBindings)
          Constructs RepeaterJXPathBinding
RepeaterJXPathBinding(org.apache.cocoon.woody.binding.JXPathBindingBuilderBase.CommonAttributes commonAtts, String repeaterId, String repeaterPath, String rowPath, String rowPathForInsert, String uniqueRowId, String uniqueRowPath, JXPathBindingBase[] childBindings, JXPathBindingBase insertBinding, JXPathBindingBase[] deleteBindings, JXPathBindingBase[] uniqueBindings)
          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 unique-id of each row to detect if rows have been updated, inserted or removed.
 void enableLogging(Logger logger)
          Receives the Avalon logger to use.
 String toString()
           
 
Methods inherited from class org.apache.cocoon.woody.binding.JXPathBindingBase
getClass, getId, getLogger, getWidget, loadFormFromModel, loadFormFromModel, saveFormToModel, saveFormToModel, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RepeaterJXPathBinding

public RepeaterJXPathBinding(org.apache.cocoon.woody.binding.JXPathBindingBuilderBase.CommonAttributes commonAtts,
                             String repeaterId,
                             String repeaterPath,
                             String rowPath,
                             String rowPathForInsert,
                             String uniqueRowId,
                             String uniqueRowPath,
                             JXPathBindingBase[] childBindings,
                             JXPathBindingBase insertBinding,
                             JXPathBindingBase[] deleteBindings,
                             JXPathBindingBase[] uniqueBindings)
Constructs RepeaterJXPathBinding


RepeaterJXPathBinding

public RepeaterJXPathBinding(org.apache.cocoon.woody.binding.JXPathBindingBuilderBase.CommonAttributes commonAtts,
                             String repeaterId,
                             String repeaterPath,
                             String rowPath,
                             String rowPathForInsert,
                             String uniqueRowId,
                             String uniqueRowPath,
                             Convertor convertor,
                             Locale convertorLocale,
                             JXPathBindingBase[] childBindings,
                             JXPathBindingBase insertBinding,
                             JXPathBindingBase[] deleteBindings,
                             JXPathBindingBase[] uniqueBindings)
Constructs RepeaterJXPathBinding

Method Detail

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 unique-id of each row to detect if rows have been updated, inserted or removed. Depending on what happened the appropriate child-bindings are alowed to visit the narrowed contexts.

Specified by:
doSave in class JXPathBindingBase
Throws:
BindingException

toString

public String toString()
Overrides:
toString in class Object

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-2010 The Apache Software Foundation. All Rights Reserved.