echopointng.ui.syncpeer
Class DateChooserPeer

java.lang.Object
  extended by echopointng.ui.syncpeer.AbstractEchoPointPeer
      extended by echopointng.ui.syncpeer.DateChooserPeer
All Implemented Interfaces:
ActionProcessor, ComponentSynchronizePeer, DomUpdateSupport, PropertyUpdateProcessor

public class DateChooserPeer
extends AbstractEchoPointPeer
implements ActionProcessor, PropertyUpdateProcessor

DateChooserPeer


Field Summary
static Service DATECHOOSER_SERVICE
          Service to provide supporting JavaScript library.
 
Fields inherited from class echopointng.ui.syncpeer.AbstractEchoPointPeer
DEFAULT_CONTAINER_TAG, partialUpdateManager
 
Fields inherited from interface nextapp.echo2.webcontainer.ActionProcessor
ACTION_NAME, ACTION_VALUE
 
Fields inherited from interface nextapp.echo2.webcontainer.PropertyUpdateProcessor
PROPERTY_NAME, PROPERTY_VALUE
 
Constructor Summary
DateChooserPeer()
           
 
Method Summary
protected  void createDisposeDirective(ServerMessage serverMessage, Component component)
           
protected  void createInitDirective(RenderingContext rc, Component component, org.w3c.dom.Element itemXML)
           
protected  org.w3c.dom.Element createInitDirectiveItem(RenderingContext rc, Component component, Style fallbackStyle)
           
protected  java.util.Calendar getDisplayedDate(DateChooser dateChooser)
          Returns a copy/clone of the selected date using standard semantics.
 void processAction(ContainerInstance ci, Component component, org.w3c.dom.Element actionElement)
          Notifies the ComponentSynchronizePeer that a client action has occurred.
 void processPropertyUpdate(ContainerInstance ci, Component component, org.w3c.dom.Element propertyElement)
          Notifies the ComponentSynchronizePeer that a client property update has occurred.
 void renderDispose(RenderContext rc, ServerComponentUpdate update, Component component)
          Removes any render state that is associated with the component.
 void renderHtml(RenderingContext rc, org.w3c.dom.Node parent, Component component)
          This is the rendering method you must implement if you are to use AbstractEchoPointPeer.
 boolean renderUpdate(RenderContext rc, ServerComponentUpdate update, java.lang.String targetId)
          This method ends up calling renderUpdateBaseImpl(rc, update, targetId, fullReplace) method with fullReplace as true.
 
Methods inherited from class echopointng.ui.syncpeer.AbstractEchoPointPeer
disposeRenderState, getContainerId, renderAdd, renderHtml, renderReplaceableChild, renderUpdateAddChildren, renderUpdateBaseImpl, renderUpdateRemoveChildren, retreiveRenderState, storeRenderState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DATECHOOSER_SERVICE

public static final Service DATECHOOSER_SERVICE
Service to provide supporting JavaScript library.

Constructor Detail

DateChooserPeer

public DateChooserPeer()
Method Detail

processAction

public void processAction(ContainerInstance ci,
                          Component component,
                          org.w3c.dom.Element actionElement)
Description copied from interface: ActionProcessor
Notifies the ComponentSynchronizePeer that a client action has occurred.

Specified by:
processAction in interface ActionProcessor
Parameters:
ci - the relevant ContainerInstance
component - the target Component
actionElement - the XML element describing the action (the name and value of the action may be obtained by querying the ACTION_NAME and ACTION_VALUE attribute values.
See Also:
ActionProcessor.processAction(nextapp.echo2.webcontainer.ContainerInstance, nextapp.echo2.app.Component, org.w3c.dom.Element)

processPropertyUpdate

public void processPropertyUpdate(ContainerInstance ci,
                                  Component component,
                                  org.w3c.dom.Element propertyElement)
Description copied from interface: PropertyUpdateProcessor
Notifies the ComponentSynchronizePeer that a client property update has occurred.

Specified by:
processPropertyUpdate in interface PropertyUpdateProcessor
Parameters:
ci - the relevant ContainerInstance
component - the target Component
propertyElement - the XML element describing the property update (the name and value of the changed property may be obtained by querying the PROPERTY_NAME and PROPERTY_VALUE attribute values.
See Also:
PropertyUpdateProcessor.processPropertyUpdate(nextapp.echo2.webcontainer.ContainerInstance, nextapp.echo2.app.Component, org.w3c.dom.Element)

renderHtml

public void renderHtml(RenderingContext rc,
                       org.w3c.dom.Node parent,
                       Component component)
Description copied from class: AbstractEchoPointPeer
This is the rendering method you must implement if you are to use AbstractEchoPointPeer.

Its a simpler wrapper for the standard one but provides some neato setup services that would otherwise be repeated over and over again.

Note the use of RenderingContext object instead of the standard Echo RenderContext as this provides more rich code facilities.

Specified by:
renderHtml in class AbstractEchoPointPeer
Parameters:
rc - - the RenderingContext to use
parent - - the parent Node to put content into
component - - the component in question
See Also:
AbstractEchoPointPeer.renderHtml(echopointng.ui.util.RenderingContext, Node, nextapp.echo2.app.Component)

createInitDirective

protected void createInitDirective(RenderingContext rc,
                                   Component component,
                                   org.w3c.dom.Element itemXML)

renderUpdate

public boolean renderUpdate(RenderContext rc,
                            ServerComponentUpdate update,
                            java.lang.String targetId)
Description copied from class: AbstractEchoPointPeer
This method ends up calling renderUpdateBaseImpl(rc, update, targetId, fullReplace) method with fullReplace as true. In other words by default it does coarse grain replacement of children.

Specified by:
renderUpdate in interface ComponentSynchronizePeer
Overrides:
renderUpdate in class AbstractEchoPointPeer
Parameters:
rc - the relevant RenderContext
update - the ServerComponentUpdate for which this operation is being performed
targetId - the id of the HTML element inside of which the components HTML code should be rendered.
Returns:
true if updates to descendants should NOT be performed
See Also:
AbstractEchoPointPeer.renderUpdate(nextapp.echo2.webcontainer.RenderContext, nextapp.echo2.app.update.ServerComponentUpdate, java.lang.String)

renderDispose

public void renderDispose(RenderContext rc,
                          ServerComponentUpdate update,
                          Component component)
Description copied from class: AbstractEchoPointPeer
Removes any render state that is associated with the component.

Remember to call super.renderDispose() if you overrride this method.

Specified by:
renderDispose in interface ComponentSynchronizePeer
Overrides:
renderDispose in class AbstractEchoPointPeer
Parameters:
rc - the relevant RenderContext
update - the ServerComponentUpdate for which this operation is being performed
See Also:
AbstractEchoPointPeer.renderDispose(nextapp.echo2.webcontainer.RenderContext, nextapp.echo2.app.update.ServerComponentUpdate, nextapp.echo2.app.Component)

createDisposeDirective

protected void createDisposeDirective(ServerMessage serverMessage,
                                      Component component)

createInitDirectiveItem

protected org.w3c.dom.Element createInitDirectiveItem(RenderingContext rc,
                                                      Component component,
                                                      Style fallbackStyle)

getDisplayedDate

protected java.util.Calendar getDisplayedDate(DateChooser dateChooser)
Returns a copy/clone of the selected date using standard semantics.