This page was saved using jaction on 2006-09-04 8:33:36.
Address: http://flexdocs.kr/docs/flex2/langref/mx/data/messages/DataMessage.html
Title: mx.data.messages.DataMessage (Flex™ 2 레퍼런스 가이드)  •  Size: 75528
(Flex Data Services 전용)
Packagemx.data.messages
Classpublic class DataMessage
InheritanceDataMessage Inheritance AsyncMessage Inheritance AbstractMessage Inheritance Object
SubclassesDataAssociationMessage , UpdateCollectionMessage

이 메세지는, 관리 대상의 object 또는 콜렉션으로 발생한 조작을 전달할 경우에 사용됩니다. 이 클래스의 메세지는, 클러스터 내부의 서버 노드간 뿐만이 아니라, 리모트 행선지에 예약(subscribe) 한 클라이언트간이라도 전송 됩니다. 이 메세지의 유료 하중은, 어느 조작에 있어서의 관련하는 모든 상세를 나타냅니다. 이러한 정보는, 갱신의 복제와 경합의 검출에 사용됩니다. 메세지의 본문에는, 조작의 설정에 응해 다양한 데이터가 포함됩니다.



Public property
 property정의
 Inheritedbody : Object
메세지의 본문에는, 리모트 행선지에 전달할 필요가 있는 특정의 데이터가 포함됩니다.
AbstractMessage
 InheritedclientId : String
clientId 는, 메세지를 송신한 MessageAgent 를 나타냅니다.
AbstractMessage
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
 InheritedcorrelationId : String
메세지의 상관 ID 에의 액세스를 제공합니다.
AsyncMessage
 Inheriteddestination : String
메세지의 행선지.
AbstractMessage
 Inheritedheaders : Object
메세지의 헤더는, 키가 헤더명, 값이 헤더치로서 포함되는 결합 배열입니다.
AbstractMessage
  identity : Object
DataMessage 에 의해 영향을 받는 아이템의 고유 ID 를 정의하는 ID MAP에의 액세스를 제공합니다. 이 ID MAP는 작성, 갱신, 삭제 조작에 관련합니다만, 데이터 입력 조작에는 관련하지 않습니다.
DataMessage
 InheritedmessageId : String
메세지 고유의 ID.
AbstractMessage
  operation : uint
이 DataMessage 의 조작 또는 커멘드에의 액세스를 제공합니다.
DataMessage
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
 Inheritedtimestamp : Number
메세지의 일시 스탬프에의 액세스를 제공합니다.
AbstractMessage
 InheritedtimeToLive : Number
메세지의 유효기간의 값은, 메세지가 유효해 전달 가능하다라고 보여지는 기간을 나타냅니다.
AbstractMessage
Public Methods
 Methods정의
  DataMessage ()
empty의 DataMessage 의 새로운 인스턴스를 작성합니다.
DataMessage
  getOperationAsString (op:uint ):String
[static] 지정한 조작의 설명을 설정합니다.
DataMessage
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
  isCreate ():Boolean
이 조작이 작성 조작이면,true 를 돌려줍니다.
DataMessage
  isEmptyUpdate ():Boolean
이 메세지가 갱신 메세지이며, 게다가 메세지의 property명 리스트의 길이가 0 이면,true 를 돌려줍니다.
DataMessage
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
 InheritedtoString ():String
메세지의 string 표현을 돌려줍니다.
AbstractMessage
 InheritedvalueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
Object
Public 정수
 정수정의
  ASSOCIATION_ADD_OPERATION : uint = 13
[static] 이 조작은, 리모트 행선지에 대해, 지정된 인스턴스간에 새로운 관련짓고를 추가하도록(듯이) 요구합니다.
DataMessage
  ASSOCIATION_REMOVE_OPERATION : uint = 14
[static] 이 조작은, 리모트 행선지에 대해, 지정된 인스턴스간이 관련짓고를 삭제하도록(듯이) 요구합니다.
DataMessage
  BATCHED_OPERATION : uint = 5
[static] 이 조작은, 배치 조작세트를 1 개의 단위로서 실행하도록(듯이) 요구합니다.
DataMessage
  COUNT_OPERATION : uint = 9
[static] 이 조작은, 설정 끝난 <count-method> 를 리모트 행선지상에서 호출하도록(듯이) 요구합니다.
DataMessage
  CREATE_AND_SEQUENCE_OPERATION : uint = 11
[static] 이 조작은, 리모트 행선지에 대해, 지정된 아이템의 작성을 요구합니다.
DataMessage
  CREATE_OPERATION : uint = 0
[static] 작성 조작을 나타냅니다.
DataMessage
  DELETE_OPERATION : uint = 4
[static] 이 조작은, 지정된 아이템이 삭제된 것을 나타냅니다.
DataMessage
 InheritedDESTINATION_CLIENT_ID_HEADER : String = "DSDstClientId"
[static] 서버로부터 푸쉬 된 메세지가 배치로서 도착했을 때, 그 배치내의 메세지가 복수의 다른 컨슈머(consumer) 인스턴스를 타겟으로 하고 있을 가능성이 있습니다.
AbstractMessage
 InheritedENDPOINT_HEADER : String = "DSEndpoint"
[static] 메세지에는, 메세지가 송신되는 채널의 엔드 포인트 ID 의 태그가 부여됩니다.
AbstractMessage
  FILL_OPERATION : uint = 1
[static] 이 조작은, 리모트 행선지에 대해, 리모트 행선지의 어댑터를 사용해 순차 순서를 작성하도록(듯이) 요구합니다.
DataMessage
  GET_OPERATION : uint = 2
[static] 이 조작은, 리모트 행선지에 대해서, 특정의 관리 대상 데이터 object를 그 object에 고유의 ID 에 근거해 취득하도록(듯이) 요구합니다.
DataMessage
  GET_OR_CREATE_OPERATION : uint = 10
[static] 이 조작은, 리모트 행선지에 대해, 지정된 ID 를 가지는 아이템을 요구합니다.
DataMessage
  GET_SEQUENCE_ID_OPERATION : uint = 12
[static] 이 조작은, 일련의 fill Parameters의 순차 순서 ID 를 요구합니다.
DataMessage
  MULTI_BATCH_OPERATION : uint = 6
[static] 이 조작은, 1 개의 단위로서 실행되지만, 복수의 작성, 갱신, 또는 삭제의 배치 조작이 포함되어 복수의 행선지, 즉 복수의 리모트 어댑터가 관계하는 일련의 조작을 나타냅니다.
DataMessage
  PAGE_ITEMS_OPERATION : uint = 20
[static] 이 조작은, ID 로 지정된 아이템의 페이지가 요구되고 있는 것을 나타냅니다.
DataMessage
  PAGE_OPERATION : uint = 8
[static] 이 조작은, 단일의 메세지에 정리하는 대신에, 복수의 메세지로 전달되는 순차 순서화 된 컨텐츠의 페이지를 취득하기 위해서 사용합니다.
DataMessage
  RELEASE_COLLECTION_OPERATION : uint = 18
[static] 이 조작은, 지정된 콜렉션에 대해서 실행된 조작의 통지를 클라이언트가 이제 받으려고 없는 것을 나타냅니다.
DataMessage
  RELEASE_ITEM_OPERATION : uint = 19
[static] 이 조작은, 지정된 아이템에 대해서 실행된 조작의 통지를 클라이언트가 이제 받으려고 없는 것을 나타냅니다.
DataMessage
 InheritedREMOTE_CREDENTIALS_HEADER : String = "DSRemoteCredentials"
[static] 행선지의 리모트 증명서를 설정할 필요가 있는 메세지는, 이 헤더내에 Base64 encode 된 자격 정보를 보관 유지합니다.
AbstractMessage
 InheritedREQUEST_TIMEOUT_HEADER : String = "DSRequestTimeout"
[static] 이 헤더는, 요구 타임 아웃을 정의해 송신되는 메세지에 사용됩니다.
AbstractMessage
 InheritedSUBTOPIC_HEADER : String = "DSSubtopic"
[static] subtopic property가 정의된 MessageAgent 로부터 송신된 메세지에서는, 메세지의 타겟이 되는 서브 주제가 이 헤더내에 나타납니다.
AsyncMessage
  TRANSACTED_OPERATION : uint = 7
[static] 이 조작은 MULTI_BATCH_OPERATION 와 닮아 있습니다만, 한층 더 서버는 복수의 메세지 배치를 1 개의 트랜잭션(transaction)내에서 캡슐화할 필요가 있습니다.
DataMessage
  UNKNOWN_OPERATION : uint = 1000
[static] 불명의 조작 타입의 코드입니다.
DataMessage
  UPDATE_BODY_CHANGES : uint = 0
[static] 이 정수를 사용하면, 변경된 property명의 리스트에 액세스 할 수 있습니다.
DataMessage
  UPDATE_BODY_NEW : uint = 2
[static] 이 정수를 사용하면, 변경된 아이템의 변경 후의 값에 액세스 할 수 있습니다.
DataMessage
  UPDATE_BODY_PREV : uint = 1
[static] 이 정수를 사용하면, 변경된 아이템의 변경전의 값에 액세스 할 수 있습니다.
DataMessage
  UPDATE_COLLECTION_OPERATION : uint = 17
[static] 이 조작은, 로컬 순차 순서 또는 리모트 순차 순서가 삽입 또는 삭제에 의해 변경되었을 때에 송신됩니다.
DataMessage
  UPDATE_OPERATION : uint = 3
[static] 이 조작은, 데이터 object에의 갱신이 실행된 것을 나타냅니다.
DataMessage
property의 상세
identityproperty
public var identity:Object

DataMessage 에 의해 영향을 받는 아이템의 고유 ID 를 정의하는 ID MAP에의 액세스를 제공합니다. 이 ID MAP는 작성, 갱신, 삭제 조작에 관련합니다만, 데이터 입력 조작에는 관련하지 않습니다.

operationproperty 
public var operation:uint

이 DataMessage 의 조작 또는 커멘드에의 액세스를 제공합니다. 조작은, 리모트 행선지에서의 이 메세지의 처리 방법을 나타냅니다. 조작 타입의 설명을 표시하려면 ,getOperationAsString Methods를 사용합니다.

See also

constructor    의 상세
DataMessage()constructor   
public 함수 DataMessage()

empty의 DataMessage 의 새로운 인스턴스를 작성합니다.

Methods의 상세
getOperationAsString()Methods
public static function getOperationAsString(op:uint ):String

지정한 조작의 설명을 설정합니다. 이 Methods는, 이 메세지에 대한 toString() 조작으로 사용됩니다.

Parameters
op:uint

반환값
String

Example
         var msg:DataMessage = DataMessage(event.message);
         trace("Current operation -'"+
                DataMessage.getOperationAsString(msg.operation)+ "'. ");
      

isCreate()Methods 
public function isCreate():Boolean

이 조작이 작성 조작이면,true 를 돌려줍니다.

반환값
Boolean — 이 조작이 작성 조작인가 어떤가를 나타내는 불리언 값입니다.

See also

isEmptyUpdate()Methods 
public function isEmptyUpdate():Boolean

이 메세지가 갱신 메세지이며, 게다가 메세지의 property명 리스트의 길이가 0 이면,true 를 돌려줍니다.

반환값
Boolean
정수의 상세
ASSOCIATION_ADD_OPERATION정수
public static const ASSOCIATION_ADD_OPERATION:uint = 13

이 조작은, 리모트 행선지에 대해, 지정된 인스턴스간에 새로운 관련짓고를 추가하도록(듯이) 요구합니다. body property에는, 추가되는 아이템에의 참조가 포함됩니다. 클라이언트는, 1 대 다 또는 다대 다가 관련짓고의 다측에, 추가되는 아이템이 있을 때, 이 조작을 송신합니다. 관련짓고의 다측은 DataService 의 관리하에 있는 콜렉션에 의해 나타내져IList.addItemAt(),IList.addItem(), 또는 IViewCursor.insert() Methods의 호출에 의해 이 조작이 생성됩니다.

See also

ASSOCIATION_REMOVE_OPERATION정수 
public static const ASSOCIATION_REMOVE_OPERATION:uint = 14

이 조작은, 리모트 행선지에 대해, 지정된 인스턴스간이 관련짓고를 삭제하도록(듯이) 요구합니다. body property에는, 삭제되는 아이템에의 참조가 포함됩니다. 클라이언트는, 1 대 다 또는 다대 다가 관련짓고의 다측에, 삭제되는 아이템이 있을 때, 이 조작을 송신합니다. 관련짓고의 다측은 DataService 의 관리하에 있는 콜렉션에 의해 나타내져IList.removeItemAt() 또는 IViewCursor.remove() Methods의 호출에 의해 이 조작이 생성됩니다.

See also

BATCHED_OPERATION정수 
public static const BATCHED_OPERATION:uint = 5

이 조작은, 배치 조작세트를 1 개의 단위로서 실행하도록(듯이) 요구합니다. 클라이언트는,DataService.commit() 가 불려 갔을 때에 배치를 송신합니다. 배치내의 메세지는 모두, 같은 행선지를 대상으로 하고 합니다. body property에는, 이 배치안에 속하는 모든 메세지가 포함됩니다.

COUNT_OPERATION정수 
public static const COUNT_OPERATION:uint = 9

이 조작은, 설정 끝난 <count-method> 를 리모트 행선지상에서 호출하도록(듯이) 요구합니다. 메세지의 body property에는, Methods의 호출시에 리모트 행선지에게 건네지는 인수가 포함됩니다. DataService.count() Methods가 불려 가면, 이 조작이 클라이언트로부터 송신됩니다.

See also

CREATE_AND_SEQUENCE_OPERATION정수 
public static const CREATE_AND_SEQUENCE_OPERATION:uint = 11

이 조작은, 리모트 행선지에 대해, 지정된 아이템의 작성을 요구합니다. DataService.createItem() Methods가 불려 가면, 이 조작이 클라이언트로부터 송신됩니다. body property에는, 작성되는 아이템이 포함됩니다.

See also

CREATE_OPERATION정수 
public static const CREATE_OPERATION:uint = 0

작성 조작을 나타냅니다. body property에는, 작성되는 새로운 아이템이 포함됩니다. 조작이 관련짓고의 외부에서 실행되었을 경우는, 대응하는 UpdateCollectionMessage 가 전달되어 아이템에 추가되는 위치 또는 인덱스를 나타냅니다. 클라이언트는, DataService 의 관리하에 있는 콜렉션으로 IList.addItemAt(),IList.addItem(), 또는 IViewCursor.insert() Methods가 사용될 때, 이 조작을 송신합니다.

See also

DELETE_OPERATION정수 
public static const DELETE_OPERATION:uint = 4

이 조작은, 지정된 아이템이 삭제된 것을 나타냅니다. 클라이언트는, 아이템이 삭제되었을 때에 이 조작을 송수신 합니다. 클라이언트는,DataService.deleteItem() 때, 또는 DataService 의 관리하에 있는 콜렉션으로 IList.removeItemAt() 또는 IViewCursor.remove() Methods가 사용될 때, 이 조작을 송신합니다.

See also

FILL_OPERATION정수 
public static const FILL_OPERATION:uint = 1

이 조작은, 리모트 행선지에 대해, 리모트 행선지의 어댑터를 사용해 순차 순서를 작성하도록(듯이) 요구합니다. 메세지의 body property에는, 리모트 순차 순서의 작성시에 사용되는 fill 인수가 포함됩니다.

GET_OPERATION정수 
public static const GET_OPERATION:uint = 2

이 조작은, 리모트 행선지에 대해서, 특정의 관리 대상 데이터 object를 그 object에 고유의 ID 에 근거해 취득하도록(듯이) 요구합니다. identity property에는 목적의 object의 ID 가 포함됩니다.

See also

GET_OR_CREATE_OPERATION정수 
public static const GET_OR_CREATE_OPERATION:uint = 10

이 조작은, 리모트 행선지에 대해, 지정된 ID 를 가지는 아이템을 요구합니다. ID 를 가지는 아이템이 존재하지 않는 경우는, 작성 조작이 실행됩니다. 클라이언트는, 아이템에 대해서 null 이외의 디폴트치로 DataService.getItem() Methods가 불려 갈 때, 이 조작을 송신합니다. body property에는, 작성할 필요가 있는 아이템의 디폴트치가 포함됩니다.

See also

GET_SEQUENCE_ID_OPERATION정수 
public static const GET_SEQUENCE_ID_OPERATION:uint = 12

이 조작은, 일련의 fill Parameters의 순차 순서 ID 를 요구합니다. 순차 순서가 존재하는 경우, 순차 순서 ID 는 재작성되지 않습니다. 존재하지 않는 경우는, 리모트로 재작성됩니다. 클라이언트는, 리모트 행선지에의 재접속시, 또는 클러스터내의 새로운 노드에의 페이르오바시에, 이 조작을 송신합니다. 이 조작은, 리모트 행선지의 설정 xml 파일로 <reconnect> 태그의 fetch 속성이 IDENTITY 로 설정되어 있는 경우에게만, 사용됩니다.

See also

MULTI_BATCH_OPERATION정수 
public static const MULTI_BATCH_OPERATION:uint = 6

이 조작은, 1 개의 단위로서 실행되지만, 복수의 작성, 갱신, 또는 삭제의 배치 조작이 포함되어 복수의 행선지, 즉 복수의 리모트 어댑터가 관계하는 일련의 조작을 나타냅니다. 클라이언트는,DataService.commit() 가 불려 가 그 행선지에 대해서 관련짓고가 복수 설정되어 있을 때, 복수의 배치를 송신합니다. 이 배치내의 메세지는 복수의 행선지에 송신됩니다.

PAGE_ITEMS_OPERATION정수 
public static const PAGE_ITEMS_OPERATION:uint = 20

이 조작은, ID 로 지정된 아이템의 페이지가 요구되고 있는 것을 나타냅니다. 이 조작은, 페이지 인덱스가 불필요한 점 이외는 PAGE_OPERATION 와 같습니다. 클라이언트는, 1 대 다 및 다대 다를 사용해 설정된 관련지어에 대한 지연 로드 아이템을 취득할 경우에, 이 조작을 송신합니다.

PAGE_OPERATION정수 
public static const PAGE_OPERATION:uint = 8

이 조작은, 단일의 메세지에 정리하는 대신에, 복수의 메세지로 전달되는 순차 순서화 된 컨텐츠의 페이지를 취득하기 위해서 사용합니다. 이것은 부분적인 리모트 순차 순서에 대한 요구를 나타냅니다. 클라이언트는, 로컬에 존재하고 있지 않는 아이템 또는 property가 요구되었을 때에 이 조작을 송신합니다. 이 조작은, <network> 부하의 <paging> 태그의 enabled 속성이 0 이외의 pageSize 속성에 의해 true 로 설정되어 있는 경우인가, 또는 lazy 속성이 true 로 설정된 상태로 관련짓고가 설정되어 있는 경우에게만, 실행됩니다.

RELEASE_COLLECTION_OPERATION정수 
public static const RELEASE_COLLECTION_OPERATION:uint = 18

이 조작은, 지정된 콜렉션에 대해서 실행된 조작의 통지를 클라이언트가 이제 받으려고 없는 것을 나타냅니다. 클라이언트는,DataService.releaseCollection() 가 불려 갔을 때, 또는 이전에 다른 Parameters로 설정된 ArrayCollection 으로 DataService.fill() 가 불려 갔을 경우, 혹은 1 대 다가 관련짓고의 소유측 아이템이 해방되었을 경우에, 이 조작을 송신합니다.

See also

RELEASE_ITEM_OPERATION정수 
public static const RELEASE_ITEM_OPERATION:uint = 19

이 조작은, 지정된 아이템에 대해서 실행된 조작의 통지를 클라이언트가 이제 받으려고 없는 것을 나타냅니다. DataService.releaseItem() 또는 ItemReference.releaseItem() Methods가 불려 가면, 이 조작이 클라이언트로부터 송신됩니다.

See also

TRANSACTED_OPERATION정수 
public static const TRANSACTED_OPERATION:uint = 7

이 조작은 MULTI_BATCH_OPERATION 와 닮아 있습니다만, 한층 더 서버는 복수의 메세지 배치를 1 개의 트랜잭션(transaction)내에서 캡슐화할 필요가 있습니다. 이 조작은, 리모트 행선지의 설정 xml 중(안)에서 <properties> 태그 부하의<use-transactions> 태그의 값이 true 로 설정되어 있는 경우에게만, 실행됩니다.

UNKNOWN_OPERATION정수 
public static const UNKNOWN_OPERATION:uint = 1000

불명의 조작 타입의 코드입니다.

UPDATE_BODY_CHANGES정수 
public static const UPDATE_BODY_CHANGES:uint = 0

이 정수를 사용하면, 변경된 property명의 리스트에 액세스 할 수 있습니다. 이 property는,UPDATE_OPERATIONoperation 를 가지는 메세지의 body property에 대해서, 꺽쇄묶음 기법으로 사용합니다.

See also


Example
         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

이 정수를 사용하면, 변경된 아이템의 변경 후의 값에 액세스 할 수 있습니다. 이 property는,UPDATE_OPERATIONoperation 를 가지는 메세지의 body property에 대해서, 꺽쇄묶음 기법으로 사용합니다.

See also


Example
         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

이 정수를 사용하면, 변경된 아이템의 변경전의 값에 액세스 할 수 있습니다. 이 property는,UPDATE_OPERATIONoperation 를 가지는 메세지의 body property에 대해서, 꺽쇄묶음 기법으로 사용합니다.

See also


Example
         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

이 조작은, 로컬 순차 순서 또는 리모트 순차 순서가 삽입 또는 삭제에 의해 변경되었을 때에 송신됩니다. 이 조작은, 콜렉션 순서 상태를 복원할 수 있도록(듯이), 모든 삽입 및 삭제의 위치에 관한 정보를 제공합니다. body 에는, 아이템이 삭제 및 추가된 것을 나타내는 UpdateCollectionRange 의 배열이 포함됩니다. 콜렉션의 갱신 범위를 순서에 적용하면, 지정한 콜렉션 중(안)에서 아이템의 순서부의 일관성이 확립됩니다.

UPDATE_OPERATION정수 
public static const UPDATE_OPERATION:uint = 3

이 조작은, 데이터 object에의 갱신이 실행된 것을 나타냅니다. 클라이언트는, 아이템이 갱신되었을 때에 이 조작을 송수신 합니다. 메세지의 body property는, 발생한 갱신에 관한 특정의 정보를 포함하고 있는 배열입니다. 배열중의 DataMessage.UPDATE_BODY_CHANGES 위치에는, 갱신중으로 변경된 property명의 배열이 포함됩니다. 배열중의 DataMessage.UPDATE_BODY_NEW 위치에는, 새롭게 변경된 상태의 object가 포함됩니다. 배열중의 DataMessage.UPDATE_BODY_PREV 위치에는, 갱신전 상태의 object가 포함됩니다.


Example
         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] +
                      "'. ");
            }
         }
      







 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/mx/data/messages/DataMessage.html