org.riotfamily.forms.element
Class AbstractTextElement

java.lang.Object
  extended by org.riotfamily.forms.AbstractElement
      extended by org.riotfamily.forms.AbstractEditorBase
          extended by org.riotfamily.forms.element.AbstractTextElement
All Implemented Interfaces:
Editor, Element, JavaScriptEventAdapter
Direct Known Subclasses:
AutocompleteTextField, Calendar, ColorPicker, Textarea, TextField, TinyMCE

public abstract class AbstractTextElement
extends AbstractEditorBase
implements Editor, JavaScriptEventAdapter

Abstract base class for elements that handle textual input from a single HTTP parameter. Optionally a PropertyEditor can be set to convert the text into an arbitrary object.

See Also:
EditorBinder.bind(Editor, String)

Field Summary
 
Fields inherited from class org.riotfamily.forms.AbstractElement
log
 
Constructor Summary
AbstractTextElement()
           
AbstractTextElement(String type)
           
 
Method Summary
protected  void afterBindingSet()
           
 String getDefaultText()
           
 Object getDefaultValue()
           
 String getEventTriggerId()
           
 int getEventTypes()
          Returns a bitmask describing which client-side events should be propagated to the server.
 Integer getMaxLength()
           
protected  PropertyEditor getPropertyEditor()
           
protected  String getSystemStyleClass()
           
 String getText()
           
 String getType()
           
 Object getValue()
          Returns the value.
 void handleJavaScriptEvent(JavaScriptEvent event)
           
protected  void initPropertyEditor()
           
 void processRequest(FormRequest request)
          Subclasses may override this method to change their internal state according the given request.
 void renderInternal(PrintWriter writer)
           
 void setAllowAutocomplete(boolean allowAutocomplete)
          Sets whether browsers are allowed to perform autocompletion.
 void setDefaultText(String defaultText)
           
 void setMaxLength(Integer maxLength)
          Sets the maximum string length.
 void setPropertyEditor(PropertyEditor propertyEditor)
           
 void setText(String text)
          Sets the element's text value.
protected  void setTextFromValue()
           
 void setTrim(boolean trim)
          Sets whether the user input should be trimmed.
 void setType(String type)
           
 void setValidateOnChange(boolean validateOnChange)
          Sets whether the element should be validated as soon as a change event is received.
 void setValue(Object value)
          Sets the (initial) value, typically retrieved from a backing object.
protected  void setValueFromText()
           
protected  void validate()
           
protected  void validateSyntax()
           
 
Methods inherited from class org.riotfamily.forms.AbstractEditorBase
addChangeListener, fireChangeEvent, getEditorBinding, getFieldName, getHint, getLabel, getParamName, hasListeners, setEditorBinding, setFieldName, setParamName
 
Methods inherited from class org.riotfamily.forms.AbstractElement
afterFormContextSet, afterFormSet, focus, getForm, getFormContext, getFormListener, getId, getParent, getStyleClass, getWrapperStyleClass, isCompositeElement, isEnabled, isRequired, isVisible, render, render, setEnabled, setForm, setFormContext, setHint, setId, setInline, setLabel, setParent, setReadOnly, setRequired, setStyleClass, setVisible, setWrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.riotfamily.forms.Editor
addChangeListener, getEditorBinding, getFieldName, getLabel, setEditorBinding, setFieldName
 
Methods inherited from interface org.riotfamily.forms.Element
focus, getForm, getFormContext, getId, getParent, getStyleClass, isCompositeElement, isEnabled, isRequired, isVisible, render, setEnabled, setForm, setFormContext, setId, setParent, setRequired
 
Methods inherited from interface org.riotfamily.forms.event.JavaScriptEventAdapter
getId
 

Constructor Detail

AbstractTextElement

public AbstractTextElement()

AbstractTextElement

public AbstractTextElement(String type)
Method Detail

getType

public String getType()

setType

public void setType(String type)

getEventTriggerId

public String getEventTriggerId()
Specified by:
getEventTriggerId in interface Element
Specified by:
getEventTriggerId in interface JavaScriptEventAdapter
Overrides:
getEventTriggerId in class AbstractElement

getSystemStyleClass

protected String getSystemStyleClass()
Overrides:
getSystemStyleClass in class AbstractElement

getMaxLength

public Integer getMaxLength()

setMaxLength

public void setMaxLength(Integer maxLength)
Sets the maximum string length.


setTrim

public void setTrim(boolean trim)
Sets whether the user input should be trimmed.


setAllowAutocomplete

public void setAllowAutocomplete(boolean allowAutocomplete)
Sets whether browsers are allowed to perform autocompletion.


setValidateOnChange

public void setValidateOnChange(boolean validateOnChange)
Sets whether the element should be validated as soon as a change event is received.


setPropertyEditor

public final void setPropertyEditor(PropertyEditor propertyEditor)

getPropertyEditor

protected final PropertyEditor getPropertyEditor()

initPropertyEditor

protected void initPropertyEditor()

afterBindingSet

protected void afterBindingSet()
Overrides:
afterBindingSet in class AbstractEditorBase

getDefaultValue

public Object getDefaultValue()

getDefaultText

public String getDefaultText()

setDefaultText

public void setDefaultText(String defaultText)

getText

public final String getText()

setText

public void setText(String text)
Sets the element's text value. If setTrim(boolean) is set to true, leading and trailing whitespaces are stripped.


getValue

public final Object getValue()
Description copied from interface: Editor
Returns the value.

Specified by:
getValue in interface Editor

setValue

public void setValue(Object value)
Description copied from interface: Editor
Sets the (initial) value, typically retrieved from a backing object.

Specified by:
setValue in interface Editor

setTextFromValue

protected void setTextFromValue()

processRequest

public void processRequest(FormRequest request)
Description copied from class: AbstractElement
Subclasses may override this method to change their internal state according the given request.

Specified by:
processRequest in interface Element
Overrides:
processRequest in class AbstractElement

handleJavaScriptEvent

public void handleJavaScriptEvent(JavaScriptEvent event)
Specified by:
handleJavaScriptEvent in interface JavaScriptEventAdapter

setValueFromText

protected void setValueFromText()

validate

protected void validate()

validateSyntax

protected void validateSyntax()

renderInternal

public void renderInternal(PrintWriter writer)
Specified by:
renderInternal in class AbstractElement

getEventTypes

public int getEventTypes()
Description copied from interface: JavaScriptEventAdapter
Returns a bitmask describing which client-side events should be propagated to the server.

Specified by:
getEventTypes in interface JavaScriptEventAdapter