net.sf.jzeno.echo.components
Class AsyncComponent

java.lang.Object
  extended by nextapp.echo.AbstractComponent
      extended by net.sf.jzeno.echo.components.CustomComponent
          extended by net.sf.jzeno.echo.components.AsyncComponent
All Implemented Interfaces:
java.io.Serializable, BindingTarget, PropertyComponent, RebindableComponent, EventSink, EventSource, Component, FastComponent, FastComponentContainer
Direct Known Subclasses:
AsyncIntegerEditor, AsyncIntegerViewer, AsyncStringViewer

public abstract class AsyncComponent
extends CustomComponent

See Also:
Serialized Form

Nested Class Summary
static class AsyncComponent.AsyncService
           
static class AsyncComponent.PropertyChangeDetector
           
 
Field Summary
 
Fields inherited from interface nextapp.echo.Component
BACKGROUND_CHANGED_PROPERTY, CHILDREN_CHANGED_PROPERTY, ENABLED_CHANGED_PROPERTY, FONT_CHANGED_PROPERTY, FOREGROUND_CHANGED_PROPERTY, IDENTIFIER_CHANGED_PROPERTY, LOCALE_CHANGED_PROPERTY, MODEL_CHANGED_PROPERTY, SELECTABLE_CHANGED_PROPERTY, STYLE_BACKGROUND, STYLE_FONT, STYLE_FOREGROUND, UPDATE_PROPERTY, VISIBLE_CHANGED_PROPERTY
 
Constructor Summary
AsyncComponent()
           
AsyncComponent(java.lang.Class beanClass, java.lang.String property, java.lang.String constructionHints)
           
 
Method Summary
protected  java.lang.String createUpdateScript(java.lang.String valueScript, boolean immediate)
           
protected abstract  void renderHtml(java.io.PrintWriter out)
           Render your component into HTML here.
protected abstract  void renderJavascript(java.io.PrintWriter out)
           Return some javascript that you which to execute for the current rendering of your component.
protected abstract  void renderJavascriptLibrary(java.io.PrintWriter out)
           If you whish to use some javascript functions/libraries you can return those in this method.
protected abstract  void update(java.lang.String input)
           If you want to send information from you client back to the server to update state there, you can use the createUpdateScript function to generate a javascript function-call that will trigger an update.
 
Methods inherited from class net.sf.jzeno.echo.components.CustomComponent
addValidator, fireActionEvent, fireActionEvent, fireActionEvent, getActionCommand, getBean, getBeanClass, getDecorator, getNullObject, getProperty, getValidationErrors, getValidators, getValue, isBound, isMarkedInvalid, isReadOnly, isRequired, isValid, markInvalid, markValid, preRender, rebind, removeValidator, setActionCommand, setBean, setBeanClass, setDecorator, setNullObject, setProperty, setReadOnly, setRequired, setValue, traceValue, validate
 
Methods inherited from class nextapp.echo.AbstractComponent
add, add, addHierarchyListener, addPropertyChangeListener, applyStyle, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getClientId, getComponent, getComponentCount, getComponents, getEchoInstance, getFont, getForeground, getIdentifier, getListenerList, getLocale, getParent, indexOf, init, isAncestorOf, isDifferent, isEnabled, isFocused, isRecursivelyVisible, isRegistered, isSelectableForScriptRecorder, isShowing, isVisible, processHierarchyEvent, remove, remove, removeAll, removeHierarchyListener, removePropertyChangeListener, setBackground, setClientId, setEnabled, setFocused, setFont, setForeground, setIdentifier, setLocale, setParent, setRegistered, setSelectableForScriptRecorder, setVisible, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AsyncComponent

public AsyncComponent()

AsyncComponent

public AsyncComponent(java.lang.Class beanClass,
                      java.lang.String property,
                      java.lang.String constructionHints)
Method Detail

createUpdateScript

protected java.lang.String createUpdateScript(java.lang.String valueScript,
                                              boolean immediate)

renderHtml

protected abstract void renderHtml(java.io.PrintWriter out)

Render your component into HTML here.


renderJavascriptLibrary

protected abstract void renderJavascriptLibrary(java.io.PrintWriter out)

If you whish to use some javascript functions/libraries you can return those in this method. If you return null, no javascript will be available to you rendered HTML. The implementation could take the form of returning a string constant, or it could load a .js file from disk, and return the content, or it could load a JavaScript library as a resource from you application classpath, etc...


update

protected abstract void update(java.lang.String input)

If you want to send information from you client back to the server to update state there, you can use the createUpdateScript function to generate a javascript function-call that will trigger an update.

Parameters:
input -

renderJavascript

protected abstract void renderJavascript(java.io.PrintWriter out)

Return some javascript that you which to execute for the current rendering of your component.