包 | mx.data.messages |
类 | public class DataMessage |
继承 | DataMessage AsyncMessage AbstractMessage Object |
子类 | UpdateCollectionMessage |
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
属性 | 由以下参数定义 | ||
---|---|---|---|
body : Object
消息正文包含需要传递到远程目标的特定数据。 | AbstractMessage | ||
clientId : String
ClientId 指示发送消息的 MessageAgent。 | AbstractMessage | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
correlationId : String
提供对此消息的相关 ID 的访问权限。 | AsyncMessage | ||
destination : String
消息目标。 | AbstractMessage | ||
headers : Object
消息标头是一个关联数组,其中关键字为标头名称,而值为标头值。 | AbstractMessage | ||
identity : Object
提供对标识映射的访问,标识映射定义受此 DataMessage(与创建/更新/删除操作相关,但与填充操作无关)影响的项的唯一标识。 | DataMessage | ||
messageId : String
消息的唯一 ID。 | AbstractMessage | ||
operation : uint
提供对此 DataMessage 的操作/命令的访问。 | DataMessage | ||
timestamp : Number
提供对消息时间戳的访问权限。 | AbstractMessage | ||
timeToLive : Number
消息的生存时间值指示该消息应视为有效且可传送的时间。 | AbstractMessage |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | DataMessage | ||
[静态]
提供对指定操作的描述。 | DataMessage | ||
表示对象是否已经定义了指定的属性。 | Object | ||
如果为创建操作,则返回 true。 | DataMessage | ||
如果此消息是一个更新并且其属性名称列表的长度为零,则返回 true。 | DataMessage | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回消息的字符串表示形式。 | AbstractMessage | ||
返回指定对象的原始值。 | Object |
常量 | 由以下参数定义 | ||
---|---|---|---|
BATCHED_OPERATION : uint = 5 [静态]
此操作表示作为一个整体执行的一组批处理操作。 | DataMessage | ||
COUNT_OPERATION : uint = 9 [静态]
此操作请求对远程目标调用已配置的 <count-method>。 | DataMessage | ||
CREATE_AND_SEQUENCE_OPERATION : uint = 11 [静态]
此操作请求从远程目标创建指定的项。 | DataMessage | ||
CREATE_OPERATION : uint = 0 [静态]
表示创建操作。 | DataMessage | ||
DELETE_OPERATION : uint = 4 [静态]
此操作指示应该删除指定的项。 | DataMessage | ||
FILL_OPERATION : uint = 1 [静态]
此操作请求远程目标使用远程目标的适配器创建序列。 | DataMessage | ||
FIND_ITEM_OPERATION : uint = 21 [静态]
类似于 FILL_OPERATION,但可以确保在响应数组中仅返回单个项。 | DataMessage | ||
GET_OPERATION : uint = 2 [静态]
此操作请求远程目标根据特定托管对象的唯一标识来获得特定托管对象。 | DataMessage | ||
GET_OR_CREATE_OPERATION : uint = 10 [静态]
此操作请求从远程目标获得具有指定标识的项。 | DataMessage | ||
GET_SEQUENCE_ID_OPERATION : uint = 12 [静态]
此操作请求一组 fill 参数的序列标识。 | DataMessage | ||
MULTI_BATCH_OPERATION : uint = 6 [静态]
此操作表示要作为一个整体执行的一组操作,但是其中可能包含多批处理的创建、更新或删除操作,这些操作涉及多个目标,即多个远程适配器。 | DataMessage | ||
PAGE_ITEMS_OPERATION : uint = 20 [静态]
此操作指示对通过标识指定的整页项目的请求。 | DataMessage | ||
PAGE_OPERATION : uint = 8 [静态]
此操作用于检索跨多个消息(而不是单个消息)提供的有序内容页。 | DataMessage | ||
RELEASE_COLLECTION_OPERATION : uint = 18 [静态]
此操作指示客户端不想再接收对指定集合执行的操作的通知。 | DataMessage | ||
RELEASE_ITEM_OPERATION : uint = 19 [静态]
此操作指示客户端不想再接收对指定项执行操作的通知。 | DataMessage | ||
REMOTE_ALIAS : String = "flex.data.messages.DataMessage" [静态]
远程别名,用于指定与此类相对应的完全限定的服务器端类。 | DataMessage | ||
SYNCHRONIZE_FILL_OPERATION : uint = 13 [静态]
此操作请求远程目标使用远程目标的适配器创建序列。 | DataMessage | ||
TRANSACTED_OPERATION : uint = 7 [静态]
除服务器应该在事务内封装多批消息外,此操作在其它方面都类似于 MULTI_BATCH_OPERATION。 | DataMessage | ||
UNKNOWN_OPERATION : uint = 1000 [静态]
未知操作类型的代码。 | DataMessage | ||
UPDATE_BODY_CHANGES : uint = 0 [静态]
此常量用于访问已更改的属性名称列表。 | DataMessage | ||
UPDATE_BODY_NEW : uint = 2 [静态]
此常量用于访问更改项的新值。 | DataMessage | ||
UPDATE_BODY_PREV : uint = 1 [静态]
此常量用于访问更改项先前的值。 | DataMessage | ||
UPDATE_COLLECTION_OPERATION : uint = 17 [静态]
在使用插入或删除操作修改本地或远程序列后,将发送此操作。 | DataMessage | ||
UPDATE_OPERATION : uint = 3 [静态]
此操作指示已执行对数据对象的更新。 | DataMessage |
identity | 属性 |
public var identity:Object
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
提供对标识映射的访问,标识映射定义受此 DataMessage(与创建/更新/删除操作相关,但与填充操作无关)影响的项的唯一标识。
operation | 属性 |
public var operation:uint
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
提供对此 DataMessage 的操作/命令的访问。这些操作指示远程目标应该如何处理此消息。要显示操作类型的说明,请使用 getOperationAsString
方法。
相关 API 元素
DataMessage | () | 构造函数 |
public function DataMessage()
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
getOperationAsString | () | 方法 |
public static function getOperationAsString(op:uint):String
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
提供对指定操作的描述。使用此方法对该消息进行 toString()
操作。
参数
op:uint — 操作。
|
String — 操作的字符串表示形式,如果未定义操作,则为“unknown”。
|
示例 ( 如何使用本示例 )
var msg:DataMessage = DataMessage(event.message); trace("Current operation -'"+ DataMessage.getOperationAsString(msg.operation)+ "'.");
isCreate | () | 方法 |
isEmptyUpdate | () | 方法 |
BATCHED_OPERATION | 常量 |
public static const BATCHED_OPERATION:uint = 5
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作表示作为一个整体执行的一组批处理操作。当调用 DataManager.commit()
时,客户端将发送一个批处理操作。批处理操作中的所有消息都指向同一个目标。body
属性包含属于该批处理操作的所有消息。
COUNT_OPERATION | 常量 |
public static const COUNT_OPERATION:uint = 9
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作请求对远程目标调用已配置的 <count-method>。消息的 body
属性将包含在调用此方法时应该传递到远程目标的参数。调用 DataManager.count()
方法时,客户端将发送此操作。
相关 API 元素
CREATE_AND_SEQUENCE_OPERATION | 常量 |
public static const CREATE_AND_SEQUENCE_OPERATION:uint = 11
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作请求从远程目标创建指定的项。调用 DataManager.createItem()
方法时,客户端将发送此操作。body
属性包含应该创建的项。
相关 API 元素
CREATE_OPERATION | 常量 |
public static const CREATE_OPERATION:uint = 0
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
表示创建操作。body
属性将包含要创建的新项。如果操作在关联的外部执行,则传递对应的 UpdateCollectionMessage,用于表示应该添加项的位置/索引。当受 DataService 管理的集合使用 IList.addItemAt()
、IList.addItem()
或 IViewCursor.insert()
方法时,客户端将发送此操作。
相关 API 元素
DELETE_OPERATION | 常量 |
public static const DELETE_OPERATION:uint = 4
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作指示应该删除指定的项。删除项时,客户端将接收并发送此操作。当使用 DataManager.deleteItem()
或受数据管理器管理的集合使用 IList.removeItemAt()
或 IViewCursor.remove()
方法时,客户端将发送此操作。
相关 API 元素
FILL_OPERATION | 常量 |
public static const FILL_OPERATION:uint = 1
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作请求远程目标使用远程目标的适配器创建序列。消息的 body
属性将包含创建远程序列时应该使用的 fill 参数。
FIND_ITEM_OPERATION | 常量 |
public static const FIND_ITEM_OPERATION:uint = 21
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
类似于 FILL_OPERATION,但可以确保在响应数组中仅返回单个项。
GET_OPERATION | 常量 |
public static const GET_OPERATION:uint = 2
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作请求远程目标根据特定托管对象的唯一标识来获得特定托管对象。identity
属性包含所需对象的标识。
相关 API 元素
GET_OR_CREATE_OPERATION | 常量 |
public static const GET_OR_CREATE_OPERATION:uint = 10
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作请求从远程目标获得具有指定标识的项。如果不存在具有该标识的项,则执行创建操作。当使用该项的非空默认值调用 DataManager.getItem()
方法时,客户端将发送此操作。如果需要创建该项,则 body
属性将包含该项的默认值。
相关 API 元素
GET_SEQUENCE_ID_OPERATION | 常量 |
public static const GET_SEQUENCE_ID_OPERATION:uint = 12
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作请求一组 fill 参数的序列标识。如果存在此序列,则不会重新创建。如果不存在此序列,则会远程重新创建。当重新连接到远程目标或故障转移到群集中的新节点时,客户端将发送此操作。只有在远程目标的配置 XML 文件中的 <reconnect> 标签的 fetch
属性设置为 IDENTITY 时,才使用此操作。
相关 API 元素
MULTI_BATCH_OPERATION | 常量 |
public static const MULTI_BATCH_OPERATION:uint = 6
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作表示要作为一个整体执行的一组操作,但是其中可能包含多批处理的创建、更新或删除操作,这些操作涉及多个目标,即多个远程适配器。当调用 DataManager.commit()
并且存在为该目标配置的关联时,客户端将发送一个多批处理操作。此批处理操作中的消息将发送到多个目标。
PAGE_ITEMS_OPERATION | 常量 |
public static const PAGE_ITEMS_OPERATION:uint = 20
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作指示对通过标识指定的整页项目的请求。此操作类似于 PAGE_OPERATION
,只是不需要页面索引。当访存使用一对多和多对多关系配置的关联的松散加载项时,客户端将发送此操作。
PAGE_OPERATION | 常量 |
public static const PAGE_OPERATION:uint = 8
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作用于检索跨多个消息(而不是单个消息)提供的有序内容页。它表示对远程序列的一部分的请求。当请求的项或属性不在本地时,客户端将发送此操作。只有在 <network> 标记下的 <paging> 标记将其 enabled
属性设置为 true
并且 pageSize
属性为非零值,或者关联的 lazy
属性设置为 true
时,才执行此操作。
RELEASE_COLLECTION_OPERATION | 常量 |
public static const RELEASE_COLLECTION_OPERATION:uint = 18
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作指示客户端不想再接收对指定集合执行的操作的通知。客户端将在以下情况下发送此操作:调用 DataManager.releaseCollection()
;使用以前用不同参数填充的 ArrayCollection 调用 DataManager.fill()
;释放一对多关联的拥有项。
相关 API 元素
RELEASE_ITEM_OPERATION | 常量 |
public static const RELEASE_ITEM_OPERATION:uint = 19
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作指示客户端不想再接收对指定项执行操作的通知。当调用 DataService.releaseItem()
或 ItemReference.releaseItem()
时,客户端将发送此操作。
相关 API 元素
REMOTE_ALIAS | 常量 |
public static const REMOTE_ALIAS:String = "flex.data.messages.DataMessage"
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
远程别名,用于指定与此类相对应的完全限定的服务器端类。
SYNCHRONIZE_FILL_OPERATION | 常量 |
public static const SYNCHRONIZE_FILL_OPERATION:uint = 13
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.0 |
此操作请求远程目标使用远程目标的适配器创建序列。消息的 body
属性将包含创建远程序列时应该使用的 fill 参数。
TRANSACTED_OPERATION | 常量 |
public static const TRANSACTED_OPERATION:uint = 7
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
除服务器应该在事务内封装多批消息外,此操作在其它方面都类似于 MULTI_BATCH_OPERATION。只有在远程目标的目标配置 xml 中将 <properties> 标记下的 <use-transactions>
标记值设置为 true
,才执行此操作。
UNKNOWN_OPERATION | 常量 |
public static const UNKNOWN_OPERATION:uint = 1000
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
未知操作类型的代码。
UPDATE_BODY_CHANGES | 常量 |
public static const UPDATE_BODY_CHANGES:uint = 0
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此常量用于访问已更改的属性名称列表。在 operation
为 UPDATE_OPERATION
的情况下使用此属性时,请对消息的 body
属性使用方括号。
相关 API 元素
示例 ( 如何使用本示例 )
var msg:DataMessage = DataMessage(event.message); if (msg.operation == DataMessage.UPDATE_OPERATION) { // look at each change and display the old and new values var propertyNames:Array = msg.body[DataMessage.UPDATE_BODY_CHANGES]; var newValues:Object = msg.body[DataMessage.UPDATE_BODY_NEW]; var oldValues:Object = msg.body[DataMessage.UPDATE_BODY_PREV]; var propertyName:String; for (var i:int=0; i<propertyNames.length; i++) { propertyName = propertyNames[i]; trace("Property '"+ propertyName + "' was changed from '" + oldValues[propertyName] + "' to '"+ newValues[propertyName] + "'."); } }
UPDATE_BODY_NEW | 常量 |
public static const UPDATE_BODY_NEW:uint = 2
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此常量用于访问更改项的新值。在 operation
为 UPDATE_OPERATION
的情况下使用此属性时,请对消息的 body
属性使用方括号。
相关 API 元素
示例 ( 如何使用本示例 )
var msg:DataMessage = DataMessage(event.message); if (msg.operation == DataMessage.UPDATE_OPERATION) { // look at each change and display the old and new values var propertyNames:Array = msg.body[DataMessage.UPDATE_BODY_CHANGES]; var newValues:Object = msg.body[DataMessage.UPDATE_BODY_NEW]; var oldValues:Object = msg.body[DataMessage.UPDATE_BODY_PREV]; var propertyName:String; for (var i:int=0; i<propertyNames.length; i++) { propertyName = propertyNames[i]; trace("Property '"+ propertyName + "' was changed from '" + oldValues[propertyName] + "' to '"+ newValues[propertyName] + "'."); } }
UPDATE_BODY_PREV | 常量 |
public static const UPDATE_BODY_PREV:uint = 1
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此常量用于访问更改项先前的值。在 operation
为 UPDATE_OPERATION
的情况下使用此属性时,请对消息的 body
属性使用方括号。
相关 API 元素
示例 ( 如何使用本示例 )
var msg:DataMessage = DataMessage(event.message); if (msg.operation == DataMessage.UPDATE_OPERATION) { // look at each change and display the old and new values var propertyNames:Array = msg.body[DataMessage.UPDATE_BODY_CHANGES]; var newValues:Object = msg.body[DataMessage.UPDATE_BODY_NEW]; var oldValues:Object = msg.body[DataMessage.UPDATE_BODY_PREV]; var propertyName:String; for (var i:int=0; i<propertyNames.length; i++) { propertyName = propertyNames[i]; trace("Property '"+ propertyName + "' was changed from '" + oldValues[propertyName] + "' to '"+ newValues[propertyName] + "'."); } }
UPDATE_COLLECTION_OPERATION | 常量 |
public static const UPDATE_COLLECTION_OPERATION:uint = 17
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
在使用插入或删除操作修改本地或远程序列后,将发送此操作。此操作提供关于所有插入和删除操作的位置的信息,以便可以复原集合顺序的状态。
body
包含一个 UpdateCollectionRange 数组,用于指示删除和添加的项。按顺序应用更新集合范围将使指定集合内的项具有一致的顺序。
UPDATE_OPERATION | 常量 |
public static const UPDATE_OPERATION:uint = 3
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此操作指示已执行对数据对象的更新。更新项时,客户端将接收并发送此操作。
消息的 body
属性是包含有关所发生更新的特定信息的数组。该数组内的 DataMessage.UPDATE_BODY_CHANGES
位置包含在更新期间更改的属性名称的数组。
该数组内的 DataMessage.UPDATE_BODY_NEW
位置包含处于新修改状态的对象。该数组内的 DataMessage.UPDATE_BODY_PREV
位置包含处于更新前的状态的对象。
示例 ( 如何使用本示例 )
var msg:DataMessage = DataMessage(event.message); if (msg.operation == DataMessage.UPDATE_OPERATION) { // look at each change and display the old and new values var propertyNames:Array = msg.body[DataMessage.UPDATE_BODY_CHANGES]; var newValues:Object = msg.body[DataMessage.UPDATE_BODY_NEW]; var oldValues:Object = msg.body[DataMessage.UPDATE_BODY_PREV]; var propertyName:String; for (var i:int=0; i<propertyNames.length; i++) { propertyName = propertyNames[i]; trace("Property '"+ propertyName + "' was changed from '" + oldValues[propertyName] + "' to '"+ newValues[propertyName] + "'."); } }
Tue Jun 12 2018, 11:04 AM Z