net.sf.tacos.ajax.components
Class PartialForBean

java.lang.Object
  extended by org.apache.hivemind.impl.BaseLocatable
      extended by org.apache.tapestry.AbstractComponent
          extended by org.apache.tapestry.form.AbstractFormComponent
              extended by net.sf.tacos.ajax.components.PartialForBean
All Implemented Interfaces:
Locatable, LocationHolder, org.apache.tapestry.form.IFormComponent, org.apache.tapestry.IComponent, org.apache.tapestry.IRender

public abstract class PartialForBean
extends org.apache.tapestry.form.AbstractFormComponent

Author:
mb

Nested Class Summary
protected  class PartialForBean.CompleteRepSource
          An implementation of RepSource that provides the string representation of the given value using all methods.
protected  class PartialForBean.KeyExpressionRepSource
          An implementation of RepSource that provides the string representation of the given value using just the 'keyExpression' parameter.
protected static interface PartialForBean.RepSource
          An interface that provides the string representation of a given value
 
Constructor Summary
PartialForBean()
           
 
Method Summary
protected  Object findValueWithStringRep(String rep, PartialForBean.RepSource repSource)
          Attempt to find a value in 'source' or 'fullSource' that generates the provided string representation.
protected  Object findValueWithStringRepInIterator(String rep, PartialForBean.RepSource repSource, Iterator it)
          Attempt to find a value in the provided collection that generates the required string representation.
abstract  AjaxWebRequest getAjaxWebRequest()
          Injected ajax request
protected  boolean getCanTakeFocus()
          For component can not take focus.
 String getClientId()
           
abstract  org.apache.tapestry.components.IPrimaryKeyConverter getConverter()
           
protected  Object getConverterFromValue(Object value)
          Uses the 'converter' parameter to determine the primary key of the given value
abstract  org.apache.tapestry.services.DataSqueezer getDataSqueezer()
           
abstract  Object getDefaultValue()
           
 String getDisplayName()
           
abstract  String getElement()
           
abstract  org.apache.tapestry.bean.EvenOdd getEvenOdd()
           
abstract  org.apache.tapestry.services.ExpressionEvaluator getExpressionEvaluator()
           
abstract  Object getFullSource()
           
abstract  Iterator getFullSourceIterator()
           
protected  Iterator getFullSourceIteratorValue()
          Returns the cached 'fullSource' iterator.
 int getIndex()
          The index number, within the source, of the the current value.
abstract  String getKeyExpression()
           
protected  Object getKeyExpressionFromValue(Object value)
          Uses the 'keyExpression' parameter to determine the primary key of the given value
protected  String getKeyId(Object value)
          Gets the key id in the form of a string
abstract  IKeyProvider getKeyProvider()
           
abstract  boolean getMatch()
           
abstract  PartialRenderBlock getPartialBlock()
          Optional render block that will provide IMarkupWriter instances for logic not handled by traditional Part/PartialService semantics.
protected  Object getPrimaryKeyFromValue(Object value)
          Returns the primary key of the given value.
abstract  Map getRepToValueMap()
           
abstract  Object getSource()
           
abstract  Iterator getSourceIterator()
           
protected  Iterator getSourceIteratorValue()
          Returns the cached 'source' iterator.
protected  Iterator getStoredData(org.apache.tapestry.IRequestCycle cycle, String name)
          Returns a list of the values stored as Hidden fields in the form.
protected  String getStringRepFromValue(Object value)
          Returns the string representation of the value.
 Object getValue()
          Returns the most recent value extracted from the source parameter.
abstract  org.apache.tapestry.coerce.ValueConverter getValueConverter()
           
protected  Object getValueFromStringRep(String rep)
          Determines the value that corresponds to the given string representation.
abstract  boolean getVolatile()
           
 boolean isDisabled()
           
protected  void renderComponent(org.apache.tapestry.IMarkupWriter writer, org.apache.tapestry.IRequestCycle cycle)
          Gets the source binding and iterates through its values.
protected  void renderFormComponent(org.apache.tapestry.IMarkupWriter writer, org.apache.tapestry.IRequestCycle cycle)
           
protected  void rewindFormComponent(org.apache.tapestry.IMarkupWriter writer, org.apache.tapestry.IRequestCycle cycle)
           
abstract  void setFullSourceIterator(Iterator fullSourceIterator)
           
abstract  void setRepToValueMap(Map repToValue)
           
abstract  void setSourceIterator(Iterator sourceIterator)
           
protected  Iterator storeSourceData(org.apache.tapestry.IForm form, String name)
          Stores the provided data in the form and then returns the data as an iterator.
protected  void updateOutputParameters()
          Updates the index and value output parameters if bound.
protected  void updatePrimaryKeysParameter(String[] stringReps)
          Updates the primaryKeys parameter if bound.
 
Methods inherited from class org.apache.tapestry.form.AbstractFormComponent
getAlwaysRenderBodyOnRewind, getForm, getIdParameter, getName, isRequired, renderDelegateAttributes, renderDelegatePrefix, renderDelegateSuffix, renderIdAttribute, setClientId, setForm, setName, setName
 
Methods inherited from class org.apache.tapestry.AbstractComponent
addAsset, addBody, addComponent, checkActiveLock, cleanupAfterRender, enterActiveState, finishLoad, finishLoad, format, format, format, format, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getBody, getBodyCount, getComponent, getComponents, getContainedComponent, getContainer, getExtendedId, getId, getIdPath, getListeners, getMessage, getMessages, getNamespace, getPage, getProperty, getSpecification, isInActiveState, isParameterBound, isRendering, pageEndRender, prepareForRender, render, renderBody, renderInformalParameters, setBinding, setContainedComponent, setContainer, setId, setNamespace, setPage, setProperty, toString
 
Methods inherited from class org.apache.hivemind.impl.BaseLocatable
getLocation, setLocation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.tapestry.IComponent
addAsset, addBody, addComponent, enterActiveState, finishLoad, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getComponent, getComponents, getContainedComponent, getContainer, getExtendedId, getId, getIdPath, getListeners, getMessage, getMessages, getNamespace, getPage, getProperty, getSpecification, isRendering, renderBody, setBinding, setContainedComponent, setContainer, setId, setNamespace, setPage, setProperty
 
Methods inherited from interface org.apache.tapestry.IRender
render
 
Methods inherited from interface org.apache.hivemind.LocationHolder
setLocation
 
Methods inherited from interface org.apache.hivemind.Locatable
getLocation
 

Constructor Detail

PartialForBean

public PartialForBean()
Method Detail

getSource

public abstract Object getSource()

getFullSource

public abstract Object getFullSource()

getElement

public abstract String getElement()

getKeyExpression

public abstract String getKeyExpression()

getConverter

public abstract org.apache.tapestry.components.IPrimaryKeyConverter getConverter()

getDefaultValue

public abstract Object getDefaultValue()

getMatch

public abstract boolean getMatch()

getVolatile

public abstract boolean getVolatile()

getSourceIterator

public abstract Iterator getSourceIterator()

setSourceIterator

public abstract void setSourceIterator(Iterator sourceIterator)

getFullSourceIterator

public abstract Iterator getFullSourceIterator()

setFullSourceIterator

public abstract void setFullSourceIterator(Iterator fullSourceIterator)

getRepToValueMap

public abstract Map getRepToValueMap()

setRepToValueMap

public abstract void setRepToValueMap(Map repToValue)

getEvenOdd

public abstract org.apache.tapestry.bean.EvenOdd getEvenOdd()

getKeyProvider

public abstract IKeyProvider getKeyProvider()

getDataSqueezer

public abstract org.apache.tapestry.services.DataSqueezer getDataSqueezer()

getValueConverter

public abstract org.apache.tapestry.coerce.ValueConverter getValueConverter()

getExpressionEvaluator

public abstract org.apache.tapestry.services.ExpressionEvaluator getExpressionEvaluator()

getAjaxWebRequest

public abstract AjaxWebRequest getAjaxWebRequest()
Injected ajax request


getPartialBlock

public abstract PartialRenderBlock getPartialBlock()
Optional render block that will provide IMarkupWriter instances for logic not handled by traditional Part/PartialService semantics.

Returns:

renderComponent

protected void renderComponent(org.apache.tapestry.IMarkupWriter writer,
                               org.apache.tapestry.IRequestCycle cycle)
Gets the source binding and iterates through its values. For each, it updates the value binding and render's its wrapped elements.

Overrides:
renderComponent in class org.apache.tapestry.form.AbstractFormComponent

getKeyId

protected String getKeyId(Object value)
Gets the key id in the form of a string

Parameters:
value -
Returns:

getValue

public final Object getValue()
Returns the most recent value extracted from the source parameter.


getIndex

public int getIndex()
The index number, within the source, of the the current value.


isDisabled

public boolean isDisabled()

updateOutputParameters

protected void updateOutputParameters()
Updates the index and value output parameters if bound.


updatePrimaryKeysParameter

protected void updatePrimaryKeysParameter(String[] stringReps)
Updates the primaryKeys parameter if bound.


renderFormComponent

protected void renderFormComponent(org.apache.tapestry.IMarkupWriter writer,
                                   org.apache.tapestry.IRequestCycle cycle)
Specified by:
renderFormComponent in class org.apache.tapestry.form.AbstractFormComponent

rewindFormComponent

protected void rewindFormComponent(org.apache.tapestry.IMarkupWriter writer,
                                   org.apache.tapestry.IRequestCycle cycle)
Specified by:
rewindFormComponent in class org.apache.tapestry.form.AbstractFormComponent

getStoredData

protected Iterator getStoredData(org.apache.tapestry.IRequestCycle cycle,
                                 String name)
Returns a list of the values stored as Hidden fields in the form. A conversion is performed if the primary key of the value is stored.

Parameters:
cycle - The current request cycle
name - The name of the HTTP parameter whether the values
Returns:
an iterator with the values stored in the provided Hidden fields

storeSourceData

protected Iterator storeSourceData(org.apache.tapestry.IForm form,
                                   String name)
Stores the provided data in the form and then returns the data as an iterator. If the primary key of the value can be determined, then that primary key is saved instead.

Parameters:
form - The form where the data will be stored
name - The name under which the data will be stored
Returns:
an iterator with the bound values stored in the form

getStringRepFromValue

protected String getStringRepFromValue(Object value)
Returns the string representation of the value. The first letter of the string representation shows whether a value or a primary key is being described.

Parameters:
value -
Returns:

getPrimaryKeyFromValue

protected Object getPrimaryKeyFromValue(Object value)
Returns the primary key of the given value. Uses the 'keyExpression' or the 'converter' (if either is provided).

Parameters:
value - The value from which the primary key should be extracted
Returns:
The primary key of the value, or null if such cannot be extracted.

getKeyExpressionFromValue

protected Object getKeyExpressionFromValue(Object value)
Uses the 'keyExpression' parameter to determine the primary key of the given value

Parameters:
value - The value from which the primary key should be extracted
Returns:
The primary key of the value as defined by 'keyExpression', or null if such cannot be extracted.

getConverterFromValue

protected Object getConverterFromValue(Object value)
Uses the 'converter' parameter to determine the primary key of the given value

Parameters:
value - The value from which the primary key should be extracted
Returns:
The primary key of the value as provided by the converter, or null if such cannot be extracted.

getValueFromStringRep

protected Object getValueFromStringRep(String rep)
Determines the value that corresponds to the given string representation. If the 'match' parameter is true, attempt to find a value in 'source' or 'fullSource' that generates the same string representation. Otherwise, create a new value from the string representation.

Parameters:
rep - the string representation for which a value should be returned
Returns:
the value that corresponds to the provided string representation

findValueWithStringRep

protected Object findValueWithStringRep(String rep,
                                        PartialForBean.RepSource repSource)
Attempt to find a value in 'source' or 'fullSource' that generates the provided string representation. Use the RepSource interface to determine what the string representation of a particular value is.

Parameters:
rep - the string representation for which a value should be returned
repSource - an interface providing the string representation of a given value
Returns:
the value in 'source' or 'fullSource' that corresponds to the provided string representation

findValueWithStringRepInIterator

protected Object findValueWithStringRepInIterator(String rep,
                                                  PartialForBean.RepSource repSource,
                                                  Iterator it)
Attempt to find a value in the provided collection that generates the required string representation. Use the RepSource interface to determine what the string representation of a particular value is.

Parameters:
rep - the string representation for which a value should be returned
repSource - an interface providing the string representation of a given value
it - the iterator of the collection in which a value should be searched
Returns:
the value in the provided collection that corresponds to the required string representation

getSourceIteratorValue

protected Iterator getSourceIteratorValue()
Returns the cached 'source' iterator. The value is initialized with the iterator provided by the 'source' parameter

Returns:
the cached 'source' iterator

getFullSourceIteratorValue

protected Iterator getFullSourceIteratorValue()
Returns the cached 'fullSource' iterator. The value is initialized with the iterator provided by the 'fullSource' parameter

Returns:
the cached 'fullSource' iterator

getCanTakeFocus

protected boolean getCanTakeFocus()
For component can not take focus.

Overrides:
getCanTakeFocus in class org.apache.tapestry.form.AbstractFormComponent

getClientId

public String getClientId()

getDisplayName

public String getDisplayName()