Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "RAP/AdapterRegistry"
(→Adapter API) |
(→Overview) |
||
Line 1: | Line 1: | ||
= Overview = | = Overview = | ||
− | The <code>rwt.protocol.AdapterRegistry</code> object stores all protocol adapters known to the client. | + | The <code>rwt.protocol.AdapterRegistry</code> object stores all protocol adapters known to the client. For all types of targets used in a [[RAP/Protocol#Protocol_Format|RAP protocol message]] a matching protocol adapter is required. It is used to translate the API of the [[RAP/WebClient#Communication|'virtual' protocol object]] to the API of the actual client object. If a message contains a [[RAP/Protocol#Create|create operation]] for an unkown type (no matching adapter registered), the client will crash. |
''Note: The follwing describes only the API required to write additional widgets. Any undocumented functions and features should '''never''' be used outside the web client core.'' | ''Note: The follwing describes only the API required to write additional widgets. Any undocumented functions and features should '''never''' be used outside the web client core.'' | ||
Line 12: | Line 12: | ||
| <code><b>add( string key, Adapter adapter )</b></code><br> stores the given adapter. The key has to match the type string used in a RAP protocol [[RAP/Protocol#Create|create operation]]. | | <code><b>add( string key, Adapter adapter )</b></code><br> stores the given adapter. The key has to match the type string used in a RAP protocol [[RAP/Protocol#Create|create operation]]. | ||
|} | |} | ||
− | |||
= Adapter API = | = Adapter API = |
Revision as of 12:35, 24 October 2012
Overview
The rwt.protocol.AdapterRegistry
object stores all protocol adapters known to the client. For all types of targets used in a RAP protocol message a matching protocol adapter is required. It is used to translate the API of the 'virtual' protocol object to the API of the actual client object. If a message contains a create operation for an unkown type (no matching adapter registered), the client will crash.
Note: The follwing describes only the API required to write additional widgets. Any undocumented functions and features should never be used outside the web client core.
Function Summary | |
---|---|
undefined
|
add( string key, Adapter adapter ) stores the given adapter. The key has to match the type string used in a RAP protocol create operation. |
Adapter API
An adapter is a plain JavaScript object that has to implement a specific API. Some of it is optional, as the processer will fall back on a default behavior when missing. However, that default behavior has to be supported by the actual client object. The adapter is not validated on registration. If a required field is missing or has the wrong type, the client will crash when the adapter is used by the message processor.
Protocol Adapter Fields | |||
---|---|---|---|
Name | Format | Description | Required? |
factory
|
Function
|
TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC | for all create operations |
destructor
|
Function
|
TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC | optional |
properties
|
[ string * ]
|
TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC | for all set operations |
propertyHandler
|
{ string : function * }
|
TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC | optional |
listener
|
[ string * ]
|
TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC | for all listen operations |
listenerHandler
|
{ string : function * }
|
TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC | optional |
methods
|
[ string * ]
|
TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC | for all call operations |
methodHandler
|
{ string : function * }
|
TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC TODOC | optional |