org.riotfamily.forms.element.select
Class AbstractChooser

java.lang.Object
  extended by org.riotfamily.forms.AbstractElement
      extended by org.riotfamily.forms.AbstractEditorBase
          extended by org.riotfamily.forms.element.select.AbstractChooser
All Implemented Interfaces:
ContentElement, DHTMLElement, Editor, Element, JavaScriptEventAdapter, ResourceElement
Direct Known Subclasses:
ObjectChooser

public abstract class AbstractChooser
extends AbstractEditorBase
implements Editor, DHTMLElement, JavaScriptEventAdapter, ResourceElement, ContentElement

Abstract base class for elements that let the user choose a reference to to another object.

Author:
Felix Gnass [fgnass at neteye dot de]

Field Summary
 
Fields inherited from class org.riotfamily.forms.AbstractElement
log
 
Constructor Summary
AbstractChooser()
           
 
Method Summary
protected abstract  String getChooserUrl()
           
 String getEventTriggerId()
           
 int getEventTypes()
          Returns a bitmask describing which client-side events should be propagated to the server.
 String getInitScript()
          Returns a JavaScript that is evaluated in order to initialize the element, or null if no initialization is needed.
protected abstract  String getPathUrl()
           
 FormResource getResource()
           
 Object getValue()
          Returns the value.
 void handleContentRequest(HttpServletRequest request, HttpServletResponse response)
           
 void handleJavaScriptEvent(JavaScriptEvent event)
           
protected abstract  Object loadBean(String objectId)
           
protected abstract  Object mergeBean(Object bean)
           
 void processRequest(FormRequest request)
          Subclasses may override this method to change their internal state according the given request.
protected  void renderInternal(PrintWriter writer)
           
protected abstract  void renderLabel(Object object, PrintWriter writer)
           
protected  void setObjectId(String objectId)
           
 void setValue(Object value)
          Sets the (initial) value, typically retrieved from a backing object.
protected  void validate()
           
 
Methods inherited from class org.riotfamily.forms.AbstractEditorBase
addChangeListener, afterBindingSet, 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, getSystemStyleClass, 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.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
 
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
 

Constructor Detail

AbstractChooser

public AbstractChooser()
Method Detail

getEventTriggerId

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

renderInternal

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

renderLabel

protected abstract void renderLabel(Object object,
                                    PrintWriter writer)

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

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

validate

protected void validate()

handleJavaScriptEvent

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

getResource

public FormResource getResource()
Specified by:
getResource in interface ResourceElement

getInitScript

public String getInitScript()
Description copied from interface: DHTMLElement
Returns a JavaScript that is evaluated in order to initialize the element, or null if no initialization is needed.

Specified by:
getInitScript in interface DHTMLElement

loadBean

protected abstract Object loadBean(String objectId)

mergeBean

protected abstract Object mergeBean(Object bean)

setObjectId

protected void setObjectId(String objectId)

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

getValue

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

Specified by:
getValue in interface Editor

handleContentRequest

public void handleContentRequest(HttpServletRequest request,
                                 HttpServletResponse response)
                          throws IOException
Specified by:
handleContentRequest in interface ContentElement
Throws:
IOException

getChooserUrl

protected abstract String getChooserUrl()

getPathUrl

protected abstract String getPathUrl()