Package | com.lightstreamer.as_client |
Class | public class VisualTable |
Inheritance | VisualTable mx.collections.ArrayCollection |
Implements | Table |
A data table that will be fed with real-time data delivered by Lightstreamer Server and that can be set as the "dataProvider" property to any instance of mx.controls.listClasses.ListBase (or subclasses). The class contains the subscription details and event handlers that can be used to furtherly process the real-time data.
This data table can also be used as a non-visual object, (that is, with no association with a mx.controls.listClasses.ListBase instance), as an alternative to NonVisualTable, in order to take advantage of the features of the underlying mx.collections.ArrayCollection, such as caching of the current values.
Default MXML Propertysource
See also
Property | Defined By | ||
---|---|---|---|
binary : Boolean [read-only]
The requested encoding for the field values. | VisualTable | ||
dataAdapter : String
The name of the Data Adapter (within the Adapter Set used by the current session)
that supplies all the items in the Group. | VisualTable | ||
groupString : String [read-only]
The subscribed group of items, as requested to the Server. | VisualTable | ||
mode : String [read-only]
The subscription mode for the items. | VisualTable | ||
requestedBufferSize : *
The length of Lightstreamer Server's buffer for the internal queueing of
updates for each item in the data table.
A queueing buffer is used by the Server to accumulate a burst of updates for an item,
so that they can all be sent to the Client, despite bandwidth or frequency limits. | VisualTable | ||
requestedMaxFrequency : *
The maximum update frequency to be requested to Lightstreamer Server for all the items in the data table. | VisualTable | ||
schemaString : String [read-only]
The subscription schema for the items, as requested to the Server. | VisualTable | ||
selector : String
The selector name for all the items in the data table, or null if no selector is needed.
The selector is a filter on the updates received. | VisualTable | ||
snapshotRequired : *
Setter method that enables/disables snapshot delivery request
Indicates whether or not to request snapshot delivery for the items in the data table. | VisualTable |
Method | Defined By | ||
---|---|---|---|
VisualTable(group:*, schema:*, mode:String, binary:Boolean = false)
Creates an object to be used to describe a data table whose values should be displayed into ListBase controls throug a dataProvider assignment. | VisualTable | ||
getRangeEnd():uint
Recalls the final index, if a range of items has been set. | VisualTable | ||
getRangeStart():uint
Recalls the starting index, if a range of items has been set. | VisualTable | ||
setItemRange(start:uint, end:uint):void
Setter method that sets a range of items within the specified group. | VisualTable | ||
setKeyPolicy(type:*, commandFieldOrLimit:* = null):void
Setter method that sets the policy in use on the model during update receipt. | VisualTable | ||
setMultiMetapush(underlyingSchema:*, underlyingDataAdapter:String, underlyingBinary:Boolean = false):void
Only effective if "COMMAND logic" behaviour has been configured
in setKeyPolicy(). | VisualTable |
Event | Summary | Defined By | ||
---|---|---|---|---|
Notification of an update of the values for an item in the table. | VisualTable | |||
Notification that no more snapshot events are coming for an item. | VisualTable | |||
Notification of one or more updates that were suppressed in the Server because of internal memory limitations. | VisualTable | |||
Notification of a Server error in response to a subscription request. | VisualTable | |||
Notification of the accomplished subscription of all the items in the table. | VisualTable | |||
Notification of the unsubscription of all the items in the table. | VisualTable |
Constant | Defined By | ||
---|---|---|---|
ITEM_IS_KEY : int = -1 [static]
Constant that can be used with the setKeyPolicy method
| VisualTable | ||
UPDATE_IS_KEY : int = -2 [static]
Constant that can be used with the setKeyPolicy method
| VisualTable |
binary | property |
binary:Boolean
[read-only] The requested encoding for the field values. It can be defined only at object creation.
public function get binary():Boolean
dataAdapter | property |
dataAdapter:String
The name of the Data Adapter (within the Adapter Set used by the current session) that supplies all the items in the Group. If not set, the "DEFAULT" name is used.
The Data Adapter name is configured on the server side through the "name" attribute of the "data_provider" element, in the "adapters.xml" file which defines the Adapter Set. Omitting the attribute configures the "DEFAULT" name.
Note: If more than one Data Adapter is needed to supply all the items in a set of items, then it is not possible to group all the items of the set in a single Table. Multiple tables have to be defined.
public function get dataAdapter():String
public function set dataAdapter(value:String):void
groupString | property |
groupString:String
[read-only] The subscribed group of items, as requested to the Server. The group can be defined only at object creation, as either an Array of item names or a String group identifier.
public function get groupString():String
mode | property |
mode:String
[read-only] The subscription mode for the items. It can be defined only at object creation.
public function get mode():String
requestedBufferSize | property |
requestedBufferSize:*
The length of Lightstreamer Server's buffer for the internal queueing of updates for each item in the data table.
A queueing buffer is used by the Server to accumulate a burst of updates for an item, so that they can all be sent to the Client, despite bandwidth or frequency limits. It can be used only when the subscription mode is MERGE or DISTINCT and unfiltered dispatching has not been requested.
Note that the Server may pose an upper limit on the size of its internal buffers. If a 0 value or the string "unlimited" is set, then the buffer length is decided by the Server.
public function get requestedBufferSize():*
public function set requestedBufferSize(value:any):void
ConfigurationError — An invalid parameter is being set.
|
requestedMaxFrequency | property |
requestedMaxFrequency:*
The maximum update frequency to be requested to Lightstreamer Server for all the items in the data table. It can be used only if the subscription mode is MERGE, DISTINCT or COMMAND (in the latter case, the frequency limitation applies to the UPDATE events for each single key). Note that frequency limits on the items can also be set on the server side and this request can only be issued in order to further reduce the frequency, not to rise it beyond these limits.
This property can also be used to request unfiltered dispatching for the items in the data table, if the string "unfiltered" is set. However, unfiltered dispatching requests may be refused if any frequency limit is posed on the server side for some item. If a 0 value or the string "unlimited" is set, then the update frequency is decided by the Server.
Edition Note: A further global frequency limit is also imposed by the Server, if it is running in Presto edition; this specific limit also applies to RAW mode and to unfiltered dispatching.
Edition Note: A further global frequency limit is also imposed by the Server, if it is running in Allegro edition; this specific limit also applies to RAW mode and to unfiltered dispatching.
Edition Note: A further global frequency limit is also imposed by the Server, if it is running in Moderato edition; this specific limit also applies to RAW mode and to unfiltered dispatching.
public function get requestedMaxFrequency():*
public function set requestedMaxFrequency(value:any):void
ConfigurationError — An invalid parameter is being set.
|
schemaString | property |
schemaString:String
[read-only] The subscription schema for the items, as requested to the Server. The schema can be defined only at object creation, as either an Array of field names or a String schema identifier.
public function get schemaString():String
selector | property |
selector:String
The selector name for all the items in the data table, or null if no selector is needed.
The selector is a filter on the updates received. It is executed on the Server and implemented by the Metadata Adapter.
public function get selector():String
public function set selector(value:String):void
snapshotRequired | property |
snapshotRequired:*
Setter method that enables/disables snapshot delivery request Indicates whether or not to request snapshot delivery for the items in the data table. The snapshot can be requested only if the subscription mode is MERGE, DISTINCT or COMMAND.
If the subscription mode is DISTINCT, instead of true, it is also possible to supply a number, to specify the requested length (depth) of the snapshot (though the length of the received snapshot may be less than requested, because of insufficient data or server side limits); specifying true means that the snapshot length should be determined only by the Server.
public function get snapshotRequired():*
public function set snapshotRequired(value:any):void
ConfigurationError — An invalid parameter is being set.
|
VisualTable | () | Constructor |
public function VisualTable(group:*, schema:*, mode:String, binary:Boolean = false)
Creates an object to be used to describe a data table whose values should be displayed into ListBase controls throug a dataProvider assignment. The object can be supplied to LSClient.subscribeTable() and LSClient.unsubscribeTable(), in order to subscribe/unsubscribe it to the server.
Parametersgroup:* — An Array of item names or a String group identifier.
In the first case items can be accessed by name during event dispatching;
however, a LiteralBasedProvider or equivalent Metadata Adapter is needed
on the Server in order to understand the subscription request. Note
that item names can't be empty or null and can't contain spaces.
| |
schema:* — An Array of field names or a String schema identifier.
In the first case fields can be accessed by name during event dispatching
and, if associated with a control field, names should be used to pair field
and "column". On the contrary, if group name is specified, the pairing
should be done with field indexes. However, in the first case,
a LiteralBasedProvider or equivalent Metadata Adapter is needed
on the Server in order to understand the subscription request. Note
that field names can't be empty or null and can't contain spaces.
| |
mode:String — the subscription mode for the items, required by Lightstreamer Server.
It could be one of the following: "MERGE", "DISTINCT", "COMMAND", "RAW".
| |
binary:Boolean (default = false ) — If true, the values received for all the subscribed fields
are interpreted as binary AMF representations of objects;
they have to be supplied in that form by the Data Adapter, for all the
subscribed items.
The objects obtained through the deserialization of the received
AMF representations are inserted in the underlying ArrayCollection.
Only in case mode is "COMMAND", the special "key" and "command" fields
(which can only be supplied as strings by the Data Adapter) are managed
as text values.
Note that items suitable for subscription in binary form are not suitable for subscription in non-binary (i.e. text) form and vice-versa. The parameter is optional and the default value is false, which means that all fields are managed as text values. |
ConfigurationError — An invalid parameter was given
|
See also
getRangeEnd | () | method |
public function getRangeEnd():uint
Recalls the final index, if a range of items has been set.
Returnsuint — a 1-based index or 0 if no range has been set.
|
getRangeStart | () | method |
public function getRangeStart():uint
Recalls the starting index, if a range of items has been set.
Returnsuint — a 1-based index or 0 if no range has been set.
|
setItemRange | () | method |
public function setItemRange(start:uint, end:uint):void
Setter method that sets a range of items within the specified group. Items outside of this range are not subscribed to. The support for ranges allows the front-end to use generic group identifiers as group descriptors, yet being able to subscribe to subsets of such groups or even to single items from such groups, without the need to introduce more specific group identifiers.
Moreover, this method allows for continually resubscribing different item subsets without the need for creating different data table objects.
Parameters
start:uint — 1-based index of the first item in the group that has to be subscribed to.
| |
end:uint — 1-based index of the last item in the group that has to be subscribed to.
|
ConfigurationError — An invalid parameter was specified.
|
setKeyPolicy | () | method |
public function setKeyPolicy(type:*, commandFieldOrLimit:* = null):void
Setter method that sets the policy in use on the model during update receipt.
Parameters
type:* — The policy type:
If ITEM_IS_KEY is specified, then each update pertaining to an item will override the update previously received for the same item (if any) except for unchanged fields. The first update per each item will add a new row to the model. This is the default policy if MERGE or RAW was specified on the constructor. If UPDATE_IS_KEY is specified, then each new update, regardless the pertaining item, will occupy a new row on the model. This is the default policy if DISTINCT was specified on the constructor. If none of the previous was specified this parameter should represent the field name or index for the key field on the table. In this case, the rows are managed according to ADD, UPDATE and DELETE commands received as pushed values, which instruct the table to add a row, just modify values on a row or delete a row, where each row is identified by the value of the key field. We call this a "COMMAND logic" behaviour. This is the default policy if COMMAND was specified on the constructor (in such case the used value is "key" if an array of items was given in the constructor, 1 otherwise). | |
commandFieldOrLimit:* (default = null ) — Help param for some policy types.
If UPDATE_IS_KEY was used as policy type, then this parameter represent the max number of rows the model can contain. When the limit is reached oldest values are discarded. Use null or a 0 value to set no limits. Default is 0. If none of ITEM_IS_KEY and UPDATE_IS_KEY was used as policy type, then this field represent the command field for this table. The default value is "command" if an array of items was given in the constructor, 2 otherwise. |
ConfigurationError — An invalid parameter was given
|
See also
setMultiMetapush | () | method |
public function setMultiMetapush(underlyingSchema:*, underlyingDataAdapter:String, underlyingBinary:Boolean = false):void
Only effective if "COMMAND logic" behaviour has been configured in setKeyPolicy(). It enables a two-level extension of this behaviour, in which the values for each row are provided:
In synthesis, each time a new row is created, an underlying data table is also created and subscribed automatically to feed fields not handled by the first-level updates. This table is a mono-item table, where the item name that is used is the key value associated to the row. The item is subscribed to in "MERGE" mode, with snapshot request and with the same maximum frequency setting as for the first-level items (including the "unfiltered" case). All other subscription properties are left as the default. When the row is deleted, the underlying data table is also removed.
We call this a "MultiMetapush logic" behaviour.
Parameters
underlyingSchema:* — An Array of field names or a String schema identifier,
which identifies the fields provided by the second-level items.
In the first case, a LiteralBasedProvider or equivalent Metadata Adapter is needed
on the Server in order to understand the subscription request.
If field names are specified, fields can be accessed by name during event dispatching and, if associated with a control field, names should be used to pair field and "column". The second-level field names should better be different from the first-level field names, so that no name conflict can arise. In case of name conflicts, a "$" character must be preponed to the second-level field name. On the contrary, if group name is specified, the pairing should be done with field indexes. In this case, the field position indexes to be used should start from the highest position of the first-level schema + 1. Note that the first-level and second-level schemas must be declared in the same way, i.e. both through an Array of field names of both through a schema identifier. | |
underlyingDataAdapter:String — the name of a Data Adapter (within the
Adapter Set used by the current session), which identifies the
underlying Data Adapter, which supplies all the second-level items;
the parameter is optional and the default is the "DEFAULT" name. All the possible second-level
items should be supplied in "MERGE" mode with snapshot available.
The Data Adapter name is configured on the server side through the "name" attribute of the "data_provider" element, in the "adapters.xml" file that defines the Adapter Set (a missing attribute configures the "DEFAULT" name). | |
underlyingBinary:Boolean (default = false ) — If true, the values received for all the
second-level subscribed fields are interpreted as binary AMF
representations of objects; they have to be supplied in that form
by the Data Adapter, for all the possible second-level items.
The objects obtained through the deserialization of the received
AMF representations are inserted in the underlying ArrayCollection.
Note that items suitable for subscription in binary form are not suitable for subscription in non-binary (i.e. text) form and vice-versa. The parameter is optional and the default value is false, which means that all fields are managed as text values. |
See also
CollectionEvent | Event |
mx.events.CollectionEvent
mx.events.CollectionEvent.COLLECTION_CHANGE
Notification of an update of the values for an item in the table.
See also
EndOfSnapshotEvent | Event |
com.lightstreamer.as_client.events.EndOfSnapshotEvent
com.lightstreamer.as_client.events.EndOfSnapshotEvent.END_OF_SNAPSHOT
Notification that no more snapshot events are coming for an item. This notification is always received once, when the item is subscribed in DISTINCT or COMMAND mode and the snapshot is requested.
Define the value of the type property of a EndOfSnapshot event object.LostUpdatesEvent | Event |
com.lightstreamer.as_client.events.LostUpdatesEvent
com.lightstreamer.as_client.events.LostUpdatesEvent.LOST_UPDATES
Notification of one or more updates that were suppressed in the Server because of internal memory limitations. The notification can be sent if the subscription mode is RAW or COMMAND. It can also be sent if the subscription mode is MERGE or DISTINCT and unfiltered dispatching has been requested. In all these cases, an update loss may be unacceptable for the client (in filtered COMMAND mode, this applies to "add" and "delete" events only).
Define the value of the type property of a LostUpdates event object.SubscriptionErrorEvent | Event |
com.lightstreamer.as_client.events.SubscriptionErrorEvent
com.lightstreamer.as_client.events.SubscriptionErrorEvent.SUBSCRIPTION_ERROR
Notification of a Server error in response to a subscription request.
Define the value of the type property of a SubscriptionError event object.SubscriptionEvent | Event |
com.lightstreamer.as_client.events.SubscriptionEvent
com.lightstreamer.as_client.events.SubscriptionEvent.SUBSCRIPTION
Notification of the accomplished subscription of all the items in the table. The notification is sent before any notification related with the updates.
Define the value of the type property of a Subscription event object.UnsubscriptionEvent | Event |
com.lightstreamer.as_client.events.UnsubscriptionEvent
com.lightstreamer.as_client.events.UnsubscriptionEvent.UNSUBSCRIPTION
Notification of the unsubscription of all the items in the table. The unsubscription may be subsequent to an unsubscribeTable call or to the closure of the connection.
Define the value of the type property of a Unsubscription event object.ITEM_IS_KEY | Constant |
public static const ITEM_IS_KEY:int = -1
Constant that can be used with the setKeyPolicy method
See also
UPDATE_IS_KEY | Constant |
public static const UPDATE_IS_KEY:int = -2
Constant that can be used with the setKeyPolicy method
See also