This page was saved using jaction on 2006-09-04 8:33:36.
Address: http://flexdocs.kr/docs/flex2/langref/mx/data/DataService.html
Title: mx.data.DataService (Flex™ 2 레퍼런스 가이드)  •  Size: 102909
(Flex Data Services 전용)
Packagemx.data
Classpublic class DataService
InheritanceDataService Inheritance Object
ImplementsIEventDispatcher
SubclassesDataService

DataService 는, Flex 2 에 대해 데이터 관리 서비스의 최상정도 기능을 제공합니다. DataService 는, 동기, 복제, 경우에 따라서는 접속해 이용하는 서비스를 제공합니다.

DataService 는, 필요한 행선지를 지정해 작성합니다. 행선지는 services-config.xml 파일로부터 설정합니다.

지정한 리모트 행선지로부터 데이터를 취득하는 Methods로서 2 개이 다른 Methods 세트가 있습니다. 1 개은 콜렉션을 관리하기 위한 object용으로, 이제(벌써) 1 개은 SMO (Single Managed Object) 용입니다.

콜렉션을 관리하기 위한 object에서는,DataService.fill() Methods를 사용합니다. 이 Methods는, 이 서비스가 관리하는 object를 ArrayCollection 로 설정합니다.

SMO 를 취득하려면 ,DataService.getItem()DataService.createItem() Methods를 사용합니다.

이전으로 설정한 ArrayCollection 이 불필요하게 되었을 때나, 그 콜렉션내의 아이템으로 갱신의 수신이나 작성을 하지 않게 되었을 때는,DataService.releaseCollection() Methods를 호출합니다.

이전에 DataService.getItem() 또는 DataService.createItem() 을 사용해 취득한 아이템이, 불필요하게 되었을 때나, 갱신의 수신이나 작성을 하지 않게 되었을 때는,DataService.releaseItem() Methods를 호출합니다. DataService.createItem()DataService.getItem() Methods는 ItemReference 를 돌려줍니다. 이 object를 사용해, SMO 의 특정의 인스턴스를 해방할 수 있습니다. DataService.releaseItem() Methods와는 달라,ItemReference.releaseItem() 를 호출하면 SMO 의 특정의 인스턴스가 해방됩니다. DataService.releaseItem() 에서는, 지정한 ID 와 같은 ID 를 가지는 SMO 가 데이터 서비스에 의해 검색되어 그 중 최초의 SMO 가 해방됩니다. 이 동작은,DataService.getItem()DataService.createItem() 의 호출의 수가 DataService.releaseItem() 의 호출의 수로 일치하고 있는 한, 정상적으로 처리됩니다.

리모트 행선지에의 접속은, 접속을 필요로 하는 임의의 Methods가 처음으로 불려 갈 때 자동적으로 작성됩니다. 예를 들어, 완료하고 있지 않는 갱신이 있을 때 DataService.fill() Methods나 DataService.commit() 조작을 호출하면, 리모트 행선지에의 접속의 확립이 시도됩니다. DataService 로 절단을 강제하려면 ,DataService.disconnect() Methods를 사용합니다. 이 Methods를 사용하면, 불필요하게 된 리모트 행선지의 리소스를 클린 업 할 수 있습니다. 다른 서비스가 같은 물리 접속을 사용하고 있을 가능성이 있기 (위해)때문에,DataService.disconnect() 를 호출하면 접속이 종료하는 일이 있습니다.

바인드 가능 property connected 는, 관련하는 DataService 접속의 현재 상태를 나타냅니다.

리모트 행선지에서 조작의 시큐러티 제한을 선언했을 경우는, 증명서를 제공할 필요가 있습니다. 증명서는 DataService.setCredentials() 호출로 설정합니다. 이 호출은, 리모트 행선지에서 로그인 커멘드로 바뀝니다. 증명서를 변경하는 경우나, 현재의 세션을 무효화하는 경우는,DataService.logout() 를 호출할 수가 있습니다. DataService.logout() Methods를 호출하면, 모든 로컬의 관리 대상 데이터가 해방됩니다. 이것은 DataService.release() 를 호출하는 것으로 등가입니다.

DataService 는 각각,mx.data.DataStore 형의 object를 돌려주는 dataStore property를 가지고 있습니다. 이 object에는, 1 개 또는 복수의 DataService object에 대한 미완료의 변경이 포함됩니다. 복수의 DataService 가 관리된 관련짓고 property를 가져, 같은 채널 세트를 공유하고 있는 경우, 디폴트에서는 DataService 는 같은 dataStore 를 다른 데이터 서비스와 공유합니다. DataStores 를 공유하고 있는 경우, 어느 DataService 에 대해서 commit() Methods를 호출하면, 그 데이터 스토어를 사용하고 있는 모든 DataService 의 변경이 완료합니다. 이것에 의해, 관련하는 DataService object내의 변경 끼리의 사이에 의존관계(dependencies)가 있는 경우에서도, 조작의 순서가 유지됩니다.

DataService 는, 리모트 호출을 필요로 하는 모든 조작에 대해서, result 이벤트와 fault 이벤트를 dispatch합니다.

DataService 에서는, 임의의 관리 대상 인스턴스의 property로 데이터 바인딩을 사용할 수 있습니다. 또, DataService 는, 임의의 관리 대상 object에 대해서 리모트 조작이 발생했을 때에 "message" 이벤트를 dispatch합니다. 예를 들어, 로컬의 관리 대상 아이템이 리모트 프로세스에 의해 갱신되면, 그 아이템을 계속해 관리하고 있는 모든 DataService 인스턴스에, 메세지가 푸쉬 됩니다. 이 메세지는 MessageEvent.MESSAGE 이벤트로서 dispatch됩니다.

리모트 행선지에서 DataService 에 의해 완료한 변경에 응답했을 때에, 또는, 로컬의 미완료의 변경과 경합 하는 변경이 푸쉬 되었기 때문에, 경합이 검출되면, conflict 이벤트가 dispatch됩니다. 이러한 conflict 이벤트는 DataConflictEvent.CONFLICT 를 릿슨 하는 것에 의해 처리할 수 있습니다. 데이터 바인딩을 이용해, UI 컨트롤을 DataService.conflicts.resolved property에 바인드 하는 것에 의해, UI 컨트롤을 갱신할 수 있습니다.

DataService 에서는, 이하의 데이터 동기 설정 모드가 지원(support)되고 있습니다.

DataService.revertChanges() Methods는, 특정의 아이템 또는 모든 아이템에 대한 변경을 취소하는 경우에 사용합니다. 리모트 행선지의 조작으로 에러가 발생했을 경우는, 데이터가 리모트 행선지의 데이터와 동기 한 채로 있도록(듯이), 완료한 변경이 미완료의 큐에 되돌려집니다. 변경이 에러가 되었을 경우는, 통상은 장해 핸들러 중(안)에서 DataService.revertChanges() Methods를 호출해, 이러한 변경을 취소합니다.

mx.data.mxml.DataService 클래스는 mx.data.DataService 의 MXML 고유의 서브 클래스에서, DataService 의 property에의 바인딩을 가능하게 합니다.

MXML 문장구조법expandedMXML 문장구조법의 비표시

<mx:DataService> 태그에서는, 이하의 태그 속성을 사용할 수 있습니다.

 <mx:DataService Properties autoCommit="true" autoSyncEnabled="true" autoMerge="true" conflictDetector="디폴트치 없음" dataStore="디폴트치 없음" destination="디폴트치 없음" pageSize="디폴트치 없음" id="디폴트치 없음"
 
event conflict="디폴트치 없음" fault="디폴트치 없음" message="디폴트치 없음" propertyChange="디폴트치 없음" result="디폴트치 없음" /> 

See also

mx.data.mxml.DataService
mx.data.Conflicts
mx.data.Conflict
mx.data.ItemReference
mx.data.IManaged
mx.data.utils.Managed
mx.data.IChangeObject
분산 데이터 어플리케이션의 작성


Public property
 property정의
  autoCommit : Boolean
버퍼에의 변경을 자동적으로 완료할지 어떨지를 나타냅니다.
DataService
  autoMerge : Boolean
false 로 설정하면, 리모트 행선지로부터 클라이언트로 변경이 푸쉬 되었을 때에 변경이 즉시에는 적용되지 않게 됩니다.
DataService
  autoSyncEnabled : Boolean
true 의 경우,fill(),createItem(),getItem() 의 각 요구는, 리모트 행선지로부터 이러한 아이템에 대해서 행해진 갱신을 릿슨 하는 아이템을 돌려줍니다.
DataService
  commitRequired : Boolean
[read-only] 완료하고 있지 않는 변경이 있어,commit() Methods를 호출할 필요가 있을지 어떨지를 나타냅니다.
DataService
  conflictDetector : ConflictDetector
이 DataService 에 푸쉬 된 리모트 조작의 경합을 검출하기 위해서 사용되고 있는, 현재의 Implements에 대한 액세스를 제공합니다.
DataService
  conflicts : Conflicts
[read-only] Conflict 인스턴스의 ArrayListConflicts object를 돌려줍니다.
DataService
  connected : Boolean
[read-only] DataService 가 리모트 행선지에 접속되고 있는지 어떤지를 나타냅니다.
DataService
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
  dataStore : DataStore
mx.data.DataStore 형의 object를 돌려줍니다.
DataService
  destination : String
[read-only] 이 서비스를 관련지을 수 있고 있는 리모트 행선지를 나타냅니다.
DataService
  mergeRequired : Boolean
[read-only] 결합이 필요한 보류중의 변경이 있을지 어떨지를 나타냅니다.
DataService
  pageSize : int
모든 콜렉션에 대한 현재의 페이지 크기 설정에의 액세스를 제공합니다.
DataService
  pagingEnabled : Boolean
[read-only] 리모트 행선지가 페이징 요구를 허가하도록(듯이) 설정되어 있는지 어떤지를 나타냅니다.
DataService
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
  requestTimeout : int
조작의 타임 아웃 시간 (초단위)에 대한 액세스를 제공합니다.
DataService
Public Methods
 Methods정의
  DataService (destination:String )
지정된 행선지를 가지는 DataService 의 인스턴스를 작성합니다.
DataService
  commit ():AsyncToken
현재 이 서비스로 관리 떠날 수 있어 모든 콜렉션으로 보류 상태의 변경을 모두 완료합니다.
DataService
  count (... args):AsyncToken
리모트 행선지에 대해서 count Methods를 호출합니다.
DataService
  createItem (item:Object ):ItemReference
지정한 아이템을 리모트 스토어에 작성하는 것을 요구합니다.
DataService
  deleteItem (item:Object ):AsyncToken
지정한 아이템을 리모트 스토어로부터 삭제하는 것을 요구합니다.
DataService
  disconnect ():void
DataService 의 네트워크 접속을 절단 합니다.
DataService
  fill (value:ListCollectionView , ... args):AsyncToken
관련지을 수 있고 있는 <fill-method> 요소에 근거해, 지정된 ListCollectionView 를 설정합니다.
DataService
  getItem (identity:Object , defaultValue:Object = null):ItemReference
지정한 ID 에 일치하는 아이템에 대해서 비동기 요구를 실시합니다.
DataService
  getPendingOperation (item:IManaged ):uint
지정된 아이템의 메세지 캐쉬중에 보류되고 있는 조작을 돌려줍니다.
DataService
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
  logout ():void
유저를 DataService 의 행선지로부터 로그아웃 합니다.
DataService
  merge ():void
보류중의 갱신을 관리 대상의 object 세트에 결합합니다.
DataService
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
  release ():void
DataService 의 모든 관리 대상 콜렉션과 아이템을 해방합니다.
DataService
  releaseCollection (view:ListCollectionView , clear:Boolean = false):void
지정한 콜렉션내의 모든 아이템을, 이 서비스에 의한 관리로부터 해방합니다.
DataService
  releaseItem (item:IManaged , allowCopy:Boolean = true):IManaged
지정된 아이템을 이 서비스에 의한 관리로부터 해방합니다.
DataService
  revertChanges (item:IManaged = null):Boolean
지정한 아이템에 대한 완료하고 있지 않는 변경을 모두 바탕으로 되돌립니다.
DataService
  setCredentials (username:String , password:String ):void
이 DataService 의 행선지에 대해서 자격 정보를 설정합니다.
DataService
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
  setRemoteCredentials (username:String , password:String ):void
이 DataService 의 행선지의 써드파티의 자격 정보를 설정합니다.
DataService
 InheritedtoString ():String
지정된 object의 string 표현을 돌려줍니다.
Object
 InheritedvalueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
Object
이벤트
 이벤트일람정의
  conflict DataConflictEvent.CONFLICT 이벤트가 dispatch되는 것은, 보류중의 로컬인 변경동안 또는 다른 클라이언트로부터 송신된 변경동안에 경합이 검출되었을 경우인가, 이 클라이언트로부터 송신된 변경이 리모트 행선지에서의 변경과 경합 하고 있는 경우입니다. DataService
  fault DataServiceFaultEvent.FAULT 이벤트는, 서비스 호출이 에러로 실패했을 경우에 dispatch됩니다. DataService
  message MessageEvent.MESSAGE 이벤트는, 리모트 행선지가 데이터 조작의 통지를 푸쉬 할 경우에 dispatch됩니다. DataService
  propertyChange PropertyChangeEvent.PROPERTY_CHANGE 이벤트는, 이 서비스의 property가 변경되었을 때에 dispatch됩니다. DataService
  result ResultEvent.RESULT 이벤트는, 서비스 호출이 정상적으로 돌아갈 때 dispatch됩니다. DataService
property의 상세
autoCommitproperty
autoCommit:Boolean   [read-write]

버퍼에의 변경을 자동적으로 완료할지 어떨지를 나타냅니다. 완료한 변경은, 곧바로 리모트 서비스에 송신됩니다.

Implements
    public function get autoCommit():Boolean
    public function set autoCommit(value:Boolean ):void
autoMergeproperty 
autoMerge:Boolean   [read-write]

false 로 설정하면, 리모트 행선지로부터 클라이언트로 변경이 푸쉬 되었을 때에 변경이 즉시에는 적용되지 않게 됩니다. 대신에,mergeRequired property에 true 가 설정됩니다. 이 property에 대해서 변경 이벤트를 릿슨하기 위한 event 핸들러를 등록하는 것으로, 결합을 적용할 필요가 있을 때 통지를 받을 수가 있습니다. 변경을 결합하려면 ,merge() Methods를 호출합니다. 이것에 의해, 모든 변경이 적용됩니다. 결합이 필요한 변경이 있으면, 미완료의 변경을 완료할 수 없습니다. 페이징이 유효하게 되어 있으면, 로컬이 아닌 아이템에 대한 모든 요구는,merge() 가 불려 갈 때까지 캐쉬됩니다. merge() 를 호출하면, 캐쉬되고 있던 요구가 처리됩니다.

Implements
    public function get autoMerge():Boolean
    public function set autoMerge(value:Boolean ):void
autoSyncEnabledproperty 
autoSyncEnabled:Boolean   [read-write]

true 의 경우,fill(),createItem(),getItem() 의 각 요구는, 리모트 행선지로부터 이러한 아이템에 대해서 행해진 갱신을 릿슨 하는 아이템을 돌려줍니다. 이 property치가 변경되면, 이러한 Methods에 대한 장래의 호출에 영향을 줍니다만, 기존의 콜렉션 또는 아이템에는 영향을 주지 않습니다. 또,autoSyncEnabled 를 사용해 취득된 콜렉션과 autoSyncEnabled 를 사용하지 않고 로 설정된 콜렉션이 혼재하는 경우에서도, 양쪽 모두의 콜렉션에 출현하는 임의의 아이템으로 갱신 이벤트를 수신합니다.

Implements
    public function get autoSyncEnabled():Boolean
    public function set autoSyncEnabled(value:Boolean ):void
commitRequiredproperty 
commitRequired:Boolean   [read-only]

완료하고 있지 않는 변경이 있어,commit() Methods를 호출할 필요가 있을지 어떨지를 나타냅니다. 이 property가 변경되면, 이벤트가 dispatch됩니다. 이 property를 어플리케이션내에서 사용해, 시각적인 피드백을 제공할 수가 있습니다.

이 property는 데이터 바인딩의 소스로서 사용할 수 있습니다.

Implements
    public function get commitRequired():Boolean
conflictDetectorproperty 
conflictDetector:ConflictDetector   [read-write]

이 DataService 에 푸쉬 된 리모트 조작의 경합을 검출하기 위해서 사용되고 있는, 현재의 Implements에 대한 액세스를 제공합니다.

Implements
    public function get conflictDetector():ConflictDetector
    public function set conflictDetector(value:ConflictDetector ):void
conflictsproperty 
conflicts:Conflicts   [read-only]

Conflict 인스턴스의 ArrayListConflicts object를 돌려줍니다. 경합은,commit() 를 호출하기 전에 해결할 필요가 있습니다. 경합을 해결하려면 , 개개의 경합을 1 개씩 해결하는지, 이 property에 대해서 acceptAllClient() Methods 또는 acceptAllServer() Methods를 호출합니다.

Implements
    public function get conflicts():Conflicts
connectedproperty 
connected:Boolean   [read-only]

DataService 가 리모트 행선지에 접속되고 있는지 어떤지를 나타냅니다.

이 property는 데이터 바인딩의 소스로서 사용할 수 있습니다.

Implements
    public function get connected():Boolean
dataStoreproperty 
dataStore:DataStore   [read-write]

mx.data.DataStore 형의 object를 돌려줍니다. DataStore 는, 1 개 또는 복수의 DataService 에 대해서 수신하는 변경과 송신하는 변경세트를 관리합니다. DataService 는 서로 서로 참조하고 있는 일이 있습니다. DataStore 상에서 변경을 완료하면, 그 DataStore 를 사용하고 있는 각 DataService 의 보류 상태의 변경이 모두 완료합니다. 복수의 DataService 가 관리된 관련짓고 property를 가져, 같은 채널 세트를 공유하고 있는 경우, 디폴트에서는 DataService 는 같은 DataStore 를 다른 DataService 와 공유합니다. DataStores 를 공유하고 있는 경우, 어느 DataService 에 대해서 완료 Methods를 호출하면, 그 데이터 스토어를 사용하고 있는 모든 DataService 의 변경이 완료합니다. 완료하고 있지 않는 배치에 의한 변경동안에 의존관계(dependencies)가 있는 경우에 대비해 조작의 순서가 유지됩니다.

이 property는 데이터 바인딩의 소스로서 사용할 수 있습니다.

Implements
    public function get dataStore():DataStore
    public function set dataStore(value:DataStore ):void
destinationproperty 
destination:String   [read-only]

이 서비스를 관련지을 수 있고 있는 리모트 행선지를 나타냅니다.

Implements
    public function get destination():String
mergeRequiredproperty 
mergeRequired:Boolean   [read-only]

결합이 필요한 보류중의 변경이 있을지 어떨지를 나타냅니다.

이 property는 데이터 바인딩의 소스로서 사용할 수 있습니다.

Implements
    public function get mergeRequired():Boolean
pageSizeproperty 
pageSize:int   [read-write]

모든 콜렉션에 대한 현재의 페이지 크기 설정에의 액세스를 제공합니다.

Implements
    public function get pageSize():int
    public function set pageSize(value:int ):void
pagingEnabledproperty 
pagingEnabled:Boolean   [read-only]

리모트 행선지가 페이징 요구를 허가하도록(듯이) 설정되어 있는지 어떤지를 나타냅니다.

Implements
    public function get pagingEnabled():Boolean
requestTimeoutproperty 
requestTimeout:int   [read-write]

조작의 타임 아웃 시간 (초단위)에 대한 액세스를 제공합니다. 제로 이하의 값을 설정하면, 요구는 타임 아웃이 되지 않습니다. requestTimeout 의 제한에 이른 것에 의해 현재의 조작이 타임 아웃이 되면, 그 조작에 관해서, 요구가 타임 아웃이 된 것을 나타내는 fault가 dispatch됩니다.

Implements
    public function get requestTimeout():int
    public function set requestTimeout(value:int ):void
constructor    의 상세
DataService()constructor   
public 함수 DataService(destination:String )

지정된 행선지를 가지는 DataService 의 인스턴스를 작성합니다. 행선지는, services-config.xml 파일로 설정된 행선지에 대한 참조인 것이 필요합니다.

Parameters
destination:String — 목적의 행선지의 이름이 포함됩니다.
Methods의 상세
commit()Methods
public function commit():AsyncToken

현재 이 서비스로 관리 떠날 수 있어 모든 콜렉션으로 보류 상태의 변경을 모두 완료합니다. autoCommit property가 true 의 경우, 트랜잭션(transaction)는사용되지 않습니다. 트랜잭션(transaction)를 사용하려면 ,autoCommit property에 false 를 설정해, 이 Methods를 직접 호출합니다.

반환값
AsyncToken ResultEvent.RESULT 또는 FaultEvent.FAULTcallproperty로 돌려주어지는 AsyncToken 입니다. custom 데이터를 이 object에 관련지어 나중에 event 처리 국면으로 조사할 수가 있습니다.
count()Methods 
public function count(... args):AsyncToken

리모트 행선지에 대해서 count Methods를 호출합니다. 불려 가는 count Methods는, 관련지을 수 있고 있는 <count-method> 태그라고 건네받은 Parameters에 근거합니다. 예를 들어,count("firstName", "Bob") 를 호출했을 경우를 생각합니다. 관련지을 수 있고 있는 행선지의 services-config.xml 중에, <count-method> 태그가 존재하든가 참조되고 있다고 합니다.


            <count-method>
                <name>getCount</name>
                <params>java.lang.String, java.lang.String</params>
                <security-run-as name="freddie" password="nightmare" />
            </count-method>
            
            <count-method>
                <name>getCount</name>
                <security-constraint ref="sample-users" />
            </count-method>
      
run-as 시큐러티 설정이 있는 최초의 <count-method> 는, 2 개의 Parameters를 포함하고 있어 <params> 태그의 형태와 개수가 일치합니다. 이 때문에, 이 <count-method> 가 불려 갑니다.

Parameters
... args — 리모트 행선지에 건네주는 Parameters의 리스트입니다.

반환값
AsyncToken ResultEvent.RESULT 또는 FaultEvent.FAULTcall property로 돌려주어지는 object입니다. custom 데이터를 이 object에 관련지어 나중에 event 처리 국면으로 조사할 수가 있습니다.

See also

createItem()Methods 
public function createItem(item:Object ):ItemReference

지정한 아이템을 리모트 스토어에 작성하는 것을 요구합니다. 에러가 발생하면,DataConflictEvent 가 dispatch됩니다.

Parameters
item:Object — 리모트 스토어에 작성하는 object입니다.

반환값
ItemReference — ItemReference (AsyncToken 를 확장합니다). 이 참조는,ResultEvent.RESULT 또는 FaultEvent.FAULTtoken property로 돌려주어집니다. custom 데이터를 이 object에 관련지어 나중에 event 처리 국면으로 조사할 수가 있습니다. 이 object의 result property는 바인드 가능해, 돌려주어진 아이템을 바인드 하기 위해서 사용할 수 있습니다. 아이템이 다른 클라이언트에 의해 삭제되었을 경우, 이 결과의 object에는 null 가 설정됩니다. 어플리케이션으로 ItemReference object를 보관 유지하는 경우는, 아이템에 대한 이 참조를 사용해 끝낸 시점에서 ItemReferencereleaseItem() Methods를 호출할 필요가 있습니다. ItemReference 를 보관 유지하지 않는 경우는, DataService 에 대해서 releaseItem() Methods를 실행할 수가 있습니다. 이 Methods는, 해방하는 아이템 자체의 인스턴스를 받습니다.
deleteItem()Methods 
public function deleteItem(item:Object ):AsyncToken

지정한 아이템을 리모트 스토어로부터 삭제하는 것을 요구합니다. 에러가 발생하면,DataConflictEvent 가 dispatch됩니다.

Parameters
item:Object — 리모트 스토어로부터 삭제하는 object입니다.

반환값
AsyncToken ResultEvent.RESULT 또는 FaultEvent.FAULTtoken property로 돌려주어지는 AsyncToken 입니다. custom 데이터를 이 object에 관련지어 나중에 event 처리 국면으로 조사할 수가 있습니다.
disconnect()Methods 
public function disconnect():void

DataService 의 네트워크 접속을 절단 합니다. 이 Methods는, 미처리의 네트워크 조작이 완료할 때까지 기다리는 것은 하지 않습니다.

fill()Methods 
public function fill(value:ListCollectionView , ... args):AsyncToken

관련지을 수 있고 있는 <fill-method> 요소에 근거해, 지정된 ListCollectionView 를 설정합니다. 예를 들어, 이하의 <fill-method> 요소가 존재하는지, 관련지을 수 있고 있는 행선지의 services-config.xml 로 참조되고 있다고 합니다.

<fill-method>
<name>loadPersons</name>
<params>java.lang.String, java.lang.String</params>
<security-run-as name="freddie" password="nightmare" />
</fill-method>
            
<fill-method>
<name>loadPersons</name>
<security-constraint ref="sample-users" />
</fill-method>
      
이 경우,fill(myCollection, ["firstName", "Bob"]) 를 호출하면, <params> 태그의 형태와 개수가 일치하는 2 개의 Parameters가 포함되어 있기 (위해)때문에, run-as 시큐러티 설정이 있는 최초의 <fill-method> 가 불려 갑니다. 같이fill(myCollection) 를 호출하면, <params> 태그가 포함되지 않은 2 번째의 <fill-method> 태그가 불려 갑니다. 보류중의 변경이나 데이터는, fill 의 호출 중(안)에서 클리어 됩니다.

Parameters
value:ListCollectionView — 지정한 Parameters로 발라 잡는 콜렉션에의 참조입니다.
 
... args — rest: 리모트 행선지에 건네주는 Parameters의 배열 변수 리스트입니다.

반환값
AsyncToken ResultEvent.RESULT 또는 FaultEvent.FAULTcall property로 돌려주어지는 object입니다. custom 데이터를 이 object에 관련지어 나중에 event 처리 국면으로 조사할 수가 있습니다.
getItem()Methods 
public function getItem(identity:Object , defaultValue:Object = null):ItemReference

지정한 ID 에 일치하는 아이템에 대해서 비동기 요구를 실시합니다. defaultValue 를 지정해, 아이템이 존재하지 않으면defaultValue 의 정보를 사용해 아이템이 작성됩니다. 이 Methods는 ItemReference 를 돌려줍니다. getItem() Methods 호출로부터 유효한 인스턴스를 받으면,releaseItem() Methods를 호출해 아이템의 인스턴스를 해방할 필요가 있습니다. ItemReference 를 보관 유지하는 경우는, 참조에 대해서 releaseItem() Methods를 호출해, 올바른 참조를 확실히 해방해 주세요. 이것은, 같은 아이템에 대해서 클라이언트가 복수의 getItem() Methods 호출을 실시하고 있었을 경우에 대비한 일입니다. ItemReference 를 보관 유지하지 않는 경우는, DataService 의 releaseItem() Methods를, 아이템 자체를 지정해 호출할 수가 있습니다.

Parameters
identity:Object — 목적의 object의 ID property가 포함된 object입니다.
 
defaultValue:Object (default = null) — 인스턴스가 존재하지 않는 경우에 작성되는, 디폴트치를 가진 인스턴스입니다.

반환값
ItemReference — 취득하는 아이템의 ItemReference 입니다. ItemReference 는 AsyncToken 를 확장하기 위해(때문에), 이것을 사용해, 아이템이 취득되었을 경우나 이 호출이 장해가 되었을 경우에 통지를 받을 수가 있습니다. ItemReference 는, DataService object에 대해서 이벤트를 릿슨 하고 있는 경우,ResultEvent.RESULT 또는 FaultEvent.FAULTtoken property로서 돌려주어집니다. custom 데이터를 이 object에 관련지어 나중에 event 처리 국면으로 조사할 수가 있습니다. 데이터 바인딩을 사용해 ItemReference 의 result property에 바인드 할 수가 있습니다. 아이템이 리모트 행선지로부터 값을 설정되고 바인드 가능한 경우, 이 property에 유효한 값이 설정됩니다. 그 때문에, 유저 인터페이스 컨트롤을 ItemReference 의 result property에 바인드 할 수가 있습니다. 아이템이 서버 또는 다른 클라이언트로부터 삭제되었을 경우, 이 참조에는 null 가 설정됩니다. ItemReference 에는 invalid property도 있습니다. 아이템을 돌려줄 때에 에러가 되었는지, 아이템에 대해서 서버가 null 를 돌려주면, 이 property에 true 가 설정됩니다.
getPendingOperation()Methods 
public function getPendingOperation(item:IManaged ):uint

지정된 아이템의 메세지 캐쉬중에 보류되고 있는 조작을 돌려줍니다. 이 Methods는, 아이템에 대해서 어떠한 종류의 변경을 했는지를 유저에게 시각적으로 피드백하기 위해서 사용합니다.

Parameters
item:IManaged — 검사의 기준입니다.

반환값
uint — 실행된 보류중의 조작을 나타내는 uint 입니다. 아이템에 대해서 유효한 조작은 이하대로입니다.
  • DataMessage.CREATE_OPERATION - 지정된 아이템에 대해서 작성이 보류중인 것을 나타냅니다.
  • DataMessage.DELETE_OPERATION - 지정된 아이템에 대해서 삭제가 보류중인 것을 나타냅니다.
  • DataMessage.UPDATE_OPERATION - 지정된 아이템에 대해서 갱신이 보류중인 것을 나타냅니다.
  • DataMessage.UNKNOWN_OPERATION - 지정된 아이템에 대해서 보류중의 조작이 없는 것을 나타냅니다.
logout()Methods 
public function logout():void

유저를 DataService 의 행선지로부터 로그아웃 합니다. 행선지로부터의 로그아웃은, 서버 설정으로 지정되고 있는 것과 같은 ChannelSet 를 사용해 접속되고 있는 모든 것에 적용됩니다. 예를 들어, my-rtmp 채널상에서 접속하고 있어, DataService 인스턴스의 1 개를 사용해 로그아웃 하면, 같은 ChannelSet 상에서 접속하고 있던 모든 유저가 로그아웃 됩니다.

merge()Methods 
public function merge():void

보류중의 갱신을 관리 대상의 object 세트에 결합합니다. 변경을 결합하는 처리로 경합이 검출되어 보류중의 아이템 요구가 모두 처리됩니다. 이것에 의해, 이 같은 데이터 스토어를 공유하고 있는 다른 모든 DataService 인스턴스의 모든 메세지가 결합됩니다.

release()Methods 
public function release():void

DataService 의 모든 관리 대상 콜렉션과 아이템을 해방합니다.

See also

releaseCollection()Methods 
public function releaseCollection(view:ListCollectionView , clear:Boolean = false):void

지정한 콜렉션내의 모든 아이템을, 이 서비스에 의한 관리로부터 해방합니다. 아이템이 복수의 콜렉션에 존재하는 경우는, 아이템의 복사가 작성됩니다. 이 콜렉션인 만큼 존재하는 아이템에 대한 완료하고 있지 않는 변경은, 삭제, 작성, 갱신을 포함해 모두 해방됩니다.

Parameters
view:ListCollectionView — 더 이상 리모트 갱신을 받지 않는 ListCollectionView 의 참조입니다.
 
clear:Boolean (default = false) — 모든 아이템을 리스트로부터 삭제할지 어떨지를 나타내는 불리언 값입니다. 또, 어느 아이템의 복사도 작성되지 않습니다.
releaseItem()Methods 
public function releaseItem(item:IManaged , allowCopy:Boolean = true):IManaged

지정된 아이템을 이 서비스에 의한 관리로부터 해방합니다. ItemReferences 를 보관 유지하는 경우는, ItemReference 에 대해서 releaseItem() Methods를 호출해, 올바른 참조를 확실히 해방해 주세요. 이것은, 클라이언트 어플리케이션이 다른 부분으로부터 getItem 를 여러 차례 호출해, 같은 아이템을 취득하고 있었을 경우에 대비한 일입니다.

이 호출에 의해, 네스트 한 property를 포함해 관련 붙일 수 있어 모든 리소스가 해방됩니다. 지정된 아이템은 리모트 행선지로부터의 갱신은 받지 않게 됩니다. 또, 이 아이템에 대해서 완료하고 있지 않는 변경이 있어, 다른 콜렉션에 나타나지 않는 경우는, 이러한 변경도 해방됩니다. 지정된 아이템이 복수의 콜렉션에 존재하는 경우는,allowCopy Parameters에 false 를 설정하지 않는 한, 돌려주어지는 값은 원의 복사가 됩니다.

Parameters
item:IManaged — 해방하는 아이템에의 IManaged 참조입니다.
 
allowCopy:Boolean (default = true) — 옵션의 Parameters로, 디폴트는 true 입니다. true 의 경우, 아이템이 다른 관리되고 있는 참조로 사용되고 있으면, 아이템의 복사가 작성됩니다. false 를 설정할 수도 있습니다만, 다른 참조에 의해 관리되고 있었을 경우는, object는 서버로부터 계속해 갱신될 가능성이 있는 것을 의미합니다.

반환값
IManaged — 해방된 아이템. allowCopy=false 의 경우는 복사가 되어, 아이템은 다른 참조에 의해 관리되고 있습니다.
revertChanges()Methods 
public function revertChanges(item:IManaged = null):Boolean

지정한 아이템에 대한 완료하고 있지 않는 변경을 모두 바탕으로 되돌립니다. 아이템을 지정하지 않으면 완료하고 있지 않는 변경이 모두 삭제됩니다. 작성 조작을 취소하면, 아이템이 삭제됩니다. 삭제를 취소하면, 아이템이 복원됩니다. 갱신을 취소하면, 변경을 개시하기 전의 아이템의 원의 property에 돌아옵니다.

이 Methods를 사용하는 1 개의 상황은, 장해가 발생한 다음에. 그 경우, 실패한 변경은 미완료 변경 리스트에 되돌려집니다. 그 시점에서, 이러한 변경을 수정해 문제를 해결하는지, 이 Methods를 사용해 이러한 변경이 재차 송신되지 않게 합니다.

아이템이 지정되어 그 아이템이 변경되어 있지 않은 경우는, 이 Methods는 false 를 돌려줍니다. 아이템이 지정되지 않고, 변경이 없는 경우는, 이 Methods는 false 를 돌려줍니다. 그 이외의 경우는, true 를 돌려줍니다.

Parameters
item:IManaged (default = null) — 변경을 취소하는 대상이 되는 참조입니다. 모든 변경을 취소하는 경우는 null 를 지정합니다.

반환값
Boolean — 변경이 삭제되었는지 어떠했는지를 나타내는 불리언 값입니다.
setCredentials()Methods 
public function setCredentials(username:String , password:String ):void

이 DataService 의 행선지에 대해서 자격 정보를 설정합니다. 증명서는, 같은 ChannelSet 상에서 접속 떠날 수 있어 모든 서비스에 적용됩니다.

Parameters
username:String — 행선지의 유저명입니다.
 
password:String — 행선지의 패스워드입니다.
setRemoteCredentials()Methods 
public function setRemoteCredentials(username:String , password:String ):void

이 DataService 의 행선지의 써드파티의 자격 정보를 설정합니다.

Parameters
username:String — 행선지의 유저명입니다.
 
password:String — 행선지의 패스워드입니다.
이벤트의 상세
conflictevent 
Event object type: mx.data.events.DataConflictEvent
DataConflictEvent.type property = mx.data.events.DataConflictEvent.CONFLICT

DataConflictEvent.CONFLICT 이벤트가 dispatch되는 것은, 보류중의 로컬인 변경동안 또는 다른 클라이언트로부터 송신된 변경동안에 경합이 검출되었을 경우인가, 이 클라이언트로부터 송신된 변경이 리모트 행선지에서의 변경과 경합 하고 있는 경우입니다. 각 DataService 는, 이 특정의 행선지의 아이템에 대해서만 경합 이벤트를 송신합니다. 관련하는 행선지의 경합을 동시에 복수 처리할 필요가 있는 경우는, DataService 에 대한 경합 이벤트를 사용해 주세요.

CONFLICT 이벤트형.

event object의 각 property에는 다음의 값이 설정됩니다.

PropertyValue
bubblesfalse
cancelablefalse
currentTarget이벤트를 처리하는 event listener를 정의하는 object. 예를 들어, event listener의 등록에 myButton.addEventListener() 를 사용하면,currentTarget 의 값은 "myButton" 가 됩니다.
conflict 발생한 경합을 보관 유지하는 Conflict object입니다.
message 이 이벤트에 관련지을 수 있었던 메세지.
target이벤트를 dispatch한 object를 나타냅니다. 이 object는 반드시 이벤트를 받는 object라고는 할 수 없습니다. 이벤트를 받는 object에 항상 액세스 하려면 ,currentTarget property를 사용해 주세요.
faultevent  
Event object type: mx.data.events.DataServiceFaultEvent
DataServiceFaultEvent.type property = mx.data.events.DataServiceFaultEvent.FAULT

DataServiceFaultEvent.FAULT 이벤트는, 서비스 호출이 에러로 실패했을 경우에 dispatch됩니다. 예를 들어,fill() Methods의 호출이 실패하는 곳의 이벤트가 dispatch됩니다. 완료의 결과로서 에러를 생성하는 아이템에서도 이 이벤트가 dispatch됩니다. 이 경우, DataServiceFaultEvent 에는 완료에 의해 돌려주어지는 토큰이 포함됩니다만, 장해의 아이템과 에러 메세지 string는, 에러의 원인이 된 아이템에 고유합니다.

FAULT event 타입입니다.

event object의 각 property에는 다음의 값이 설정됩니다.

PropertyValue
bubblesfalse
cancelabletrue. 관련지을 수 있었던 토큰의 responder.fault Methods로부터 preventDefault()를 호출하면, 서비스 또는 처리가 이 이벤트를 dispatch하지 않게 됩니다.
currentTarget이벤트를 처리하는 event listener를 정의하는 object. 예를 들어, event listener의 등록에 myButton.addEventListener() 를 사용하면,currentTarget 의 값은 "myButton" 가 됩니다.
fault 발생한 경합을 보관 유지하는 Fault object.
item fault가 발생한 아이템입니다.
item fault가 발생한 항목의 ID 입니다.
message 이 이벤트에 관련지을 수 있었던 메세지.
token Methods의 호출을 나타내는 토큰. Asynchronous Completion Token 패턴으로 사용됩니다.
target이벤트를 dispatch한 object를 나타냅니다. 이 object는 반드시 이벤트를 받는 object라고는 할 수 없습니다. 이벤트를 받는 object에 항상 액세스 하려면 ,currentTarget property를 사용해 주세요.
messageevent  
Event object type: mx.messaging.events.MessageEvent
MessageEvent.type property = mx.messaging.events.MessageEvent.MESSAGE

MessageEvent.MESSAGE 이벤트는, 리모트 행선지가 데이터 조작의 통지를 푸쉬 할 경우에 dispatch됩니다. 예를 들어, 리모트 행선지에서 데이터가 갱신되면, 릿슨중의 모든 클라이언트에 갱신 조작이 송신되어 이 조작은 이 DataService 에 대한 메세지 이벤트에 변환됩니다.

MESSAGE 이벤트형. 메세지의 수신시에 dispatch됩니다.

이 정수의 값은 "message" 입니다.

event object의 각 property에는 다음의 값이 설정됩니다.

PropertyValue
bubblesfalse
cancelablefalse
currentTarget이벤트를 처리하는 event listener를 정의하는 object. 예를 들어, event listener의 등록에 myButton.addEventListener() 를 사용하면,currentTarget 의 값은 "myButton" 가 됩니다.
message이 이벤트에 관련지을 수 있었던 메세지입니다.
target이벤트를 dispatch한 object를 나타냅니다. 이 object는 반드시 이벤트를 받는 object라고는 할 수 없습니다. 이벤트를 받는 object에 항상 액세스 하려면 ,currentTarget property를 사용해 주세요.
propertyChangeevent  
Event object type: mx.events.PropertyChangeEvent
PropertyChangeEvent.type property = mx.events.PropertyChangeEvent.PROPERTY_CHANGE

PropertyChangeEvent.PROPERTY_CHANGE 이벤트는, 이 서비스의 property가 변경되었을 때에 dispatch됩니다. 이하의 property로 일어납니다.

PropertyChangeEvent.PROPERTY_CHANGE 정수에 의해,PropertyChange 이벤트의 event object의 type property치가 정의됩니다.

event object의 각 property에는 다음의 값이 설정됩니다.

PropertyValue
bubblesconstructor    에 의해 결정됩니다. 디폴트는 false 입니다.
cancelableconstructor    에 의해 결정됩니다. 디폴트는 false 입니다.
kind변경의 종류. PropertyChangeEventKind.UPDATE 또는 PropertyChangeEventKind.DELETE 의 머지않아인가입니다.
oldValue원의 property의 값입니다.
newValue새로운 property의 값 (존재하는 경우)입니다.
property변경된 property입니다.
source변경된 property를 포함한 object입니다.
currentTarget이벤트를 처리하는 event listener를 정의하는 object. 예를 들어, event listener의 등록에 myButton.addEventListener() 를 사용하면,currentTarget 의 값은 "myButton" 가 됩니다.
target이벤트를 dispatch한 object를 나타냅니다. 이 object는 반드시 이벤트를 받는 object라고는 할 수 없습니다. 이벤트를 받는 object에 항상 액세스 하려면 ,currentTarget property를 사용해 주세요.
resultevent  
Event object type: mx.rpc.events.ResultEvent
ResultEvent.type property = mx.rpc.events.ResultEvent.RESULT

ResultEvent.RESULT 이벤트는, 서비스 호출이 정상적으로 돌아갈 때 dispatch됩니다. 예를 들어,fill() 의 호출이 성공하는 곳의 이벤트가 dispatch됩니다.

RESULT event 타입입니다.

event object의 각 property에는 다음의 값이 설정됩니다.

PropertyValue
bubblesfalse
cancelabletrue. 관련지을 수 있었던 토큰의 responder.result Methods로부터 preventDefault()를 호출하면, 서비스 또는 처리가 이 이벤트를 dispatch하지 않게 됩니다.
currentTarget이벤트를 처리하는 event listener를 정의하는 object. 예를 들어, event listener의 등록에 myButton.addEventListener() 를 사용하면,currentTarget 의 값은 "myButton" 가 됩니다.
message 이 이벤트에 관련지을 수 있었던 메세지.
target이벤트를 dispatch한 object를 나타냅니다. 이 object는 반드시 이벤트를 받는 object라고는 할 수 없습니다. 이벤트를 받는 object에 항상 액세스 하려면 ,currentTarget property를 사용해 주세요.
resultRPC 호출이 돌려주는 결과입니다.
tokenMethods의 개개의 호출을 나타내는 토큰. Asynchronous Completion Token 패턴으로 사용됩니다.






 

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

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