|
NextApp Echo2 v2.1.1 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnextapp.echo2.webcontainer.syncpeer.GridPeer
public class GridPeer
Synchronization peer for nextapp.echo2.app.Grid
components.
This class should not be extended or used by classes outside of the Echo framework.
Constructor Summary | |
---|---|
GridPeer()
|
Method Summary | |
---|---|
java.lang.String |
getContainerId(nextapp.echo2.app.Component child)
Returns the id of the HTML element in which the specified component should be rendered. |
nextapp.echo2.app.ImageReference |
getImage(nextapp.echo2.app.Component component,
java.lang.String imageId)
Retrieves the image identified by the given imageId value
for the given Component . |
void |
renderAdd(RenderContext rc,
nextapp.echo2.app.update.ServerComponentUpdate update,
java.lang.String targetId,
nextapp.echo2.app.Component component)
Renders a client update which adds an HTML representation of the provided component to the client DOM as a child of the HTML element identified by targetId . |
void |
renderDispose(RenderContext rc,
nextapp.echo2.app.update.ServerComponentUpdate update,
nextapp.echo2.app.Component component)
Renders a client update to dispose of resources/listeners created for the specified component on the client. |
void |
renderHtml(RenderContext rc,
nextapp.echo2.app.update.ServerComponentUpdate update,
org.w3c.dom.Node parentNode,
nextapp.echo2.app.Component component)
Renders the component in its entirety as a child of the provided parent Element . |
boolean |
renderUpdate(RenderContext rc,
nextapp.echo2.app.update.ServerComponentUpdate update,
java.lang.String targetId)
Renders the specified ServerComponentUpdate by adding and
removing children and updating properties of the specified
component . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public GridPeer()
Method Detail |
---|
public java.lang.String getContainerId(nextapp.echo2.app.Component child)
ComponentSynchronizePeer
component
should be rendered. The specified
component
must be an immediate child of
an instance of the class of component that this peer supports.
A child component's renderer may invoke this method to
determine where it should place its rendered content.
getContainerId
in interface ComponentSynchronizePeer
child
- a Component
whose parent is of the type
synchronized by this peer object.
ComponentSynchronizePeer.getContainerId(nextapp.echo2.app.Component)
public nextapp.echo2.app.ImageReference getImage(nextapp.echo2.app.Component component, java.lang.String imageId)
ImageRenderSupport
imageId
value
for the given Component
.
Note: A reference to any images to be rendered must be
maintained throughout the rendering process, due to the fact that the
image rendering subsystem creates a weak-keyed cache of images to be
rendered. This method therefore may not simply return a new,
otherwise-unreferenced image. In the event that this presents a problem,
the recommended workaround is to simply store such otherwise unreferenced
ImageReference
s using a RenderState
object.
getImage
in interface ImageRenderSupport
component
- the componentimageId
- the id of the image
ImageRenderSupport.getImage(nextapp.echo2.app.Component, java.lang.String)
public void renderAdd(RenderContext rc, nextapp.echo2.app.update.ServerComponentUpdate update, java.lang.String targetId, nextapp.echo2.app.Component component)
ComponentSynchronizePeer
targetId
.
renderAdd
in interface ComponentSynchronizePeer
rc
- the relevant RenderContext
update
- the ServerComponentUpdate
for which this
operation is being performedtargetId
- the id of the HTML element in which the component's
HTML output should be renderedcomponent
- the component to be rendered (this component must
be of a type supported by this synchronization peer).ComponentSynchronizePeer.renderAdd(nextapp.echo2.webcontainer.RenderContext,
nextapp.echo2.app.update.ServerComponentUpdate, java.lang.String, nextapp.echo2.app.Component)
public void renderDispose(RenderContext rc, nextapp.echo2.app.update.ServerComponentUpdate update, nextapp.echo2.app.Component component)
ComponentSynchronizePeer
renderUpdate()
method being invoked, and thus
implementations SHOULD NOT redundantly attempt
to remove the HTML in this method.
Implementations must handle the condition where the component to be
disposed is not present in the client DOM, as this method may be invoked
under such a condition.
renderDispose
in interface ComponentSynchronizePeer
rc
- the relevant RenderContext
update
- the ServerComponentUpdate
for which this
operation is being performedComponentSynchronizePeer.renderDispose(nextapp.echo2.webcontainer.RenderContext,
nextapp.echo2.app.update.ServerComponentUpdate, nextapp.echo2.app.Component)
public void renderHtml(RenderContext rc, nextapp.echo2.app.update.ServerComponentUpdate update, org.w3c.dom.Node parentNode, nextapp.echo2.app.Component component)
DomUpdateSupport
Element
. The implementation should additionally
render any child components, either by invoking their
renderHtml()
methods if their peers also implement
DomUpdateSupport
or by invoking their
ComponentSynchronizePeer.renderAdd()
methods if they do
not.
The implementation must also perform any non-HTML-rendering operations
which are performed in the ComponentSynchronizePeer.renderAdd()
method, e.g., adding message parts that registering event listeners on
the client.
renderHtml
in interface DomUpdateSupport
rc
- the relevant RenderContext
update
- the ServerComponentUpdate
for which this
rendering is being performedparentNode
- the parent DOM node to which this child should
add HTML codecomponent
- the Component
to be renderedDomUpdateSupport.renderHtml(nextapp.echo2.webcontainer.RenderContext,
nextapp.echo2.app.update.ServerComponentUpdate, org.w3c.dom.Node, nextapp.echo2.app.Component)
public boolean renderUpdate(RenderContext rc, nextapp.echo2.app.update.ServerComponentUpdate update, java.lang.String targetId)
ComponentSynchronizePeer
ServerComponentUpdate
by adding and
removing children and updating properties of the specified
component
.
If the component is not a container, the implementation only needs to
analyze the updated properties of the component. If the component is
a container, the implementation should additionally query
update
for information about added children, removed
children, and children with updated LayoutData
states.
The implementation is responsible for rendering added children by
obtaining their ComponentSynchronizePeer
s and invoking their
renderAdd()
methods. Alternatively, if a child's
ComponentSynchronizePeer
implements the
DomUpdateSupport
interface, the implementation may invoke
the child peer's renderHtml()
method instead.
This method should return true if, in the course of its rendering operation, it has re-rendered the entire component hierarchy beneath the parent component of the update. Returning true will ensure that updates to descendants are NOT rendered. The method should return false in all cases if the component is not a container.
renderUpdate
in interface ComponentSynchronizePeer
rc
- the relevant RenderContext
update
- the ServerComponentUpdate
for which this
operation is being performedtargetId
- the id of the HTML element inside of which the
components HTML code should be rendered.
ComponentSynchronizePeer.renderUpdate(nextapp.echo2.webcontainer.RenderContext,
nextapp.echo2.app.update.ServerComponentUpdate, java.lang.String)
|
NextApp Echo2 v2.1.1 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |