org.eclipse.rwt.lifecycle
Class AbstractWidgetLCA
java.lang.Object
org.eclipse.rwt.lifecycle.AbstractWidgetLCA
-
All Implemented Interfaces:
-
ILifeCycleAdapter,
IWidgetLifeCycleAdapter
- public abstract class AbstractWidgetLCA
- extends
Object
- implements
IWidgetLifeCycleAdapter
Abstract implementation of a widget life cycle adapter.
All widget LCAs should inherit from this class.
-
Since:
- 1.0
Method Summary
|
Rectangle
|
adjustCoordinates
(
Widget widget,
Rectangle bounds)
Translates the bounds of a widget that is enclosed in the widget handled by
this LCA. |
void
|
createResetHandlerCalls
(
String typePoolId)
Writes JavaScript code to the response that resets the client-side state of
a disposed widget in order to make it ready for later reuse. |
void
|
doRedrawFake
(
Control control)
As a side effect to redraw calls some native widgets trigger events like
resize for example. |
String
|
getTypePoolId
(
Widget widget)
Returns an id that is used to identify the type of a widget in the
client-side widget pool. |
abstract void
|
preserveValues
(
Widget widget)
Preserves the current state of the widget in order to be able to keep track
of changes. |
void
|
render
(
Widget widget)
Writes JavaScript code to the response that renders the changes that has
been made to the widget. |
abstract void
|
renderChanges
(
Widget widget)
Writes JavaScript code to the response that applies the state changes of
the widget to the client. |
abstract void
|
renderDispose
(
Widget widget)
Writes JavaScript code to the response that renders the disposal of the
widget. |
abstract void
|
renderInitialization
(
Widget widget)
Writes JavaScript code to the response that creates a new widget instance
and initializes it. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
AbstractWidgetLCA
public AbstractWidgetLCA()
render
public final void render(
Widget widget)
throws
IOException
-
Description copied from interface:
IWidgetLifeCycleAdapter
- Writes JavaScript code to the response that renders the changes that has
been made to the widget.
-
-
Specified by:
-
render
in interface
IWidgetLifeCycleAdapter
-
-
Parameters:
-
widget
- the widget to render changes for
-
Throws:
-
IOException
adjustCoordinates
public
Rectangle adjustCoordinates(
Widget widget,
Rectangle bounds)
- Translates the bounds of a widget that is enclosed in the widget handled by
this LCA. The default implementation does not modify the given bounds.
Subclasses may override.
-
-
-
Parameters:
-
widget
- the enclosed widget whose bounds to adjust -
bounds
- the actual bounds of the enclosed widget
-
Returns:
- the adjusted bounds
preserveValues
public abstract void preserveValues(
Widget widget)
-
Description copied from interface:
IWidgetLifeCycleAdapter
- Preserves the current state of the widget in order to be able to keep track
of changes. This method is called after the Read Data phase but
before the Process Action phase of the request life cycle. Thus,
the client and server state is in sync. By preserving the current state of
the widget, it is later possible to identify the properties that have been
modified during the processing of the request.
Implementors can use the method
IWidgetAdapter.preserve(String, Object)
. As a rule of thumb, every
property that is written in render
must be preserved in this
method.
-
-
Specified by:
-
preserveValues
in interface
IWidgetLifeCycleAdapter
-
-
Parameters:
-
widget
- the widget, the properties of which are preserved
renderInitialization
public abstract void renderInitialization(
Widget widget)
throws
IOException
- Writes JavaScript code to the response that creates a new widget instance
and initializes it. This method is called only once for every widget,
before
renderChanges
is called for the first time.
-
-
-
Parameters:
-
widget
- the widget to initialize
-
Throws:
-
IOException
renderChanges
public abstract void renderChanges(
Widget widget)
throws
IOException
- Writes JavaScript code to the response that applies the state changes of
the widget to the client. Implementations must only render those properties
that have been changed during the processing of the current request.
-
-
-
Parameters:
-
widget
- the widget to render changes for
-
Throws:
-
IOException
renderDispose
public abstract void renderDispose(
Widget widget)
throws
IOException
- Writes JavaScript code to the response that renders the disposal of the
widget.
-
-
-
Parameters:
-
widget
- the widget to dispose
-
Throws:
-
IOException
createResetHandlerCalls
public void createResetHandlerCalls(
String typePoolId)
throws
IOException
-
Writes JavaScript code to the response that resets the client-side state of
a disposed widget in order to make it ready for later reuse. After this
code has been processed the client-side widget should be in a state that is
equivalent to a newly created widget.
Subclasses should override this method if pooling is supported by the
widget type this LCA belongs to. To activate pooling override
getTypePoolId(Widget)
.
-
-
-
Parameters:
-
typePoolId
- the type pool id of the widget to reset
-
Throws:
-
IOException
-
See Also:
-
getTypePoolId(Widget)
getTypePoolId
public
String getTypePoolId(
Widget widget)
- Returns an id that is used to identify the type of a widget in the
client-side widget pool.
The widget pool is used to store disposed widget instances on the client
for later reuse. This is necessary to improve performance and to save
client memory. Only widgets with the same type pool id can be reused.
Usually, the fully qualified class name is a suitable return value. In case
different sub-types of widget instances should be distinguished, this
method must return a different string for every type, e.g. by appending a
suffix. If this method returns null
, the widget will not be
stored in the widget pool and cannot be reused.
Subclasses may override to activate pooling. In case pooling is activated
the method
createResetHandlerCalls(String)
should also be
overridden.
-
-
-
Parameters:
-
widget
- the widget to store in the pool
-
Returns:
- the type pool id or
null
if the widget should not be
pooled -
See Also:
-
createResetHandlerCalls(String)
doRedrawFake
public void doRedrawFake(
Control control)
-
As a side effect to redraw calls some native widgets trigger events like
resize for example. To simulate this behaviour subclasses may override
this method. The method takes as parameter type Control
,
since the redraw methods are only available at the Control
subclasses of Widgets
.
Note that the redraw fake takes place between the process action and
the render phase.
-
-
-
Parameters:
-
control
- the control on which redraw was called.
Copyright (c) Innoopract Informationssysteme GmbH and others 2002, 2008. All rights reserved.