org.apache.tapestry.form
Class PropertySelection

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 org.apache.tapestry.form.PropertySelection
All Implemented Interfaces:
org.apache.hivemind.Locatable, org.apache.hivemind.LocationHolder, IFormComponent, ValidatableField, IComponent, IRender

public abstract class PropertySelection
extends AbstractFormComponent
implements ValidatableField

A component used to render a drop-down list of options that the user may select. [ Component Reference ]

Earlier versions of PropertySelection (through release 2.2) were more flexible, they included a renderer property that controlled how the selection was rendered. Ultimately, this proved of little value and this portion of functionality was deprecated in 2.3 and will be removed in 2.3.

Typically, the values available to be selected are defined using an org.apache.commons.lang.enum.Enum. A PropertySelection is dependent on an IPropertySelectionModel to provide the list of possible values.

Often, this is used to select a particular org.apache.commons.lang.enum.Enum to assign to a property; the EnumPropertySelectionModel class simplifies this.

Often, a drop-down list will contain an initial option that serves both as a label and to represent that nothing is selected. This can behavior can easily be achieved by decorating an existing IPropertySelectionModel with a LabeledPropertySelectionModel.

As of 4.0, this component can be validated.

Author:
Howard Lewis Ship, Paul Ferraro

Constructor Summary
PropertySelection()
           
 
Method Summary
abstract  IPropertySelectionModel getModel()
           
abstract  boolean getSubmitOnChange()
           
abstract  ValidatableFieldSupport getValidatableFieldSupport()
          Injected.
abstract  java.lang.Object getValue()
           
 boolean isRequired()
          Returns false.
protected  void renderFormComponent(IMarkupWriter writer, IRequestCycle cycle)
           
protected  void rewindFormComponent(IMarkupWriter writer, IRequestCycle cycle)
           
abstract  void setValue(java.lang.Object value)
           
 
Methods inherited from class org.apache.tapestry.form.AbstractFormComponent
getAlwaysRenderBodyOnRewind, getCanTakeFocus, getForm, getIdParameter, getName, renderComponent, 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.form.ValidatableField
getValidators
 
Methods inherited from interface org.apache.tapestry.form.IFormComponent
getClientId, getDisplayName, getForm, getName, isDisabled, setName
 
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

PropertySelection

public PropertySelection()
Method Detail

renderFormComponent

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

rewindFormComponent

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

getModel

public abstract IPropertySelectionModel getModel()

getSubmitOnChange

public abstract boolean getSubmitOnChange()
Since:
2.2 *

getValue

public abstract java.lang.Object getValue()
Since:
2.2 *

setValue

public abstract void setValue(java.lang.Object value)
Since:
2.2 *

getValidatableFieldSupport

public abstract ValidatableFieldSupport getValidatableFieldSupport()
Injected.


isRequired

public boolean isRequired()
Description copied from class: AbstractFormComponent
Returns false. Subclasses that might be required must override this method. Typically, this involves checking against the component's validators.

Specified by:
isRequired in interface IFormComponent
Overrides:
isRequired in class AbstractFormComponent
See Also:
AbstractFormComponent.isRequired()