패키지 | mx.data |
클래스 | public class ConflictDetector |
상속 | ConflictDetector Object |
언어 버전: | ActionScript 3.0 |
제품 버전: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
런타임 버전: | Flash Player 9, AIR 1.1 |
It has three methods that are used to determine if a conflict exists when
processing a pushed operation, checkCreate()
, checkDelete()
, and
checkUpdate()
.
Each of these methods is called for the corresponding operation with two
parameters, the local and the remote change.
If you want to customize how conflicts are detected on the client, you can extend this class and augment the behavior as needed to match remote assembler logic.
The following code provides examples of how these methods can be used to indicate a conflict has occurred. Conflicts are always indicated on the remoteChange.
메서드 | 정의 주체 | ||
---|---|---|---|
ConflictDetector(dataService:ConcreteDataService)
Constructs an instance of the default conflict detection mechanism. | ConflictDetector | ||
Called by the DataService when a create
operation is pushed/processed from the remote destination. | ConflictDetector | ||
Called by the DataService when a delete
operation is pushed/processed from the remote destination. | ConflictDetector | ||
Called by the DataService when a remove from fill
operation is pushed/processed from the remote destination. | ConflictDetector | ||
Called by the DataService when an update
operation is pushed/processed from the remote destination. | ConflictDetector | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
ConflictDetector | () | 생성자 |
public function ConflictDetector(dataService:ConcreteDataService)
언어 버전: | ActionScript 3.0 |
제품 버전: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
런타임 버전: | Flash Player 9, AIR 1.1 |
Constructs an instance of the default conflict detection mechanism.
매개 변수dataService:ConcreteDataService — ConcreteDataService reference to the data service
that will use this conflict detector.
|
checkCreate | () | 메서드 |
public function checkCreate(remoteChange:IChangeObject, localChange:IChangeObject):void
언어 버전: | ActionScript 3.0 |
제품 버전: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
런타임 버전: | Flash Player 9, AIR 1.1 |
Called by the DataService when a create operation is pushed/processed from the remote destination.
매개 변수
remoteChange:IChangeObject — IChangeObject representing the remote change being
processed.
| |
localChange:IChangeObject — IChangeObject representing any local changes made
to the same object referenced by the remoteChange parameter.
This value can be null if no local changes have been made
to the item represented by the remoteChange parameter.
|
checkDelete | () | 메서드 |
public function checkDelete(remoteChange:IChangeObject, localChange:IChangeObject):void
언어 버전: | ActionScript 3.0 |
제품 버전: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
런타임 버전: | Flash Player 9, AIR 1.1 |
Called by the DataService when a delete operation is pushed/processed from the remote destination.
매개 변수
remoteChange:IChangeObject — IChangeObject representing the remote change being
processed.
| |
localChange:IChangeObject — IChangeObject representing any local changes made
to the same object referenced by the remoteChange parameter.
This value can be null if no local changes have been made
to the item represented by the remoteChange parameter.
|
checkRemoveFromFill | () | 메서드 |
public function checkRemoveFromFill(localChange:IChangeObject, fillParameters:Object):void
언어 버전: | ActionScript 3.0 |
제품 버전: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
런타임 버전: | Flash Player 9, AIR 1.1 |
Called by the DataService when a remove from fill operation is pushed/processed from the remote destination.
매개 변수
localChange:IChangeObject — IChangeObject representing the local version of the
item that the server is telling us to remove from the specified dill
| |
fillParameters:Object — fill parameters identifying the fill from which the item
is to be removed.
|
checkUpdate | () | 메서드 |
public function checkUpdate(remoteChange:IChangeObject, localChange:IChangeObject):void
언어 버전: | ActionScript 3.0 |
제품 버전: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
런타임 버전: | Flash Player 9, AIR 1.1 |
Called by the DataService when an update operation is pushed/processed from the remote destination.
매개 변수
remoteChange:IChangeObject — IChangeObject representing the remote change being
processed.
| |
localChange:IChangeObject — IChangeObject representing any local changes made
to the same object referenced by the remoteChange parameter.
This value can be null if no local changes have been made
to the item represented by the remoteChange parameter.
|
override public function checkCreate(remoteChange:IChangeObject, localChange:IChangeObject):void { // if we have created a local item that is the same item as the remote // change then we have a conflict if (localChange != null && ObjectUtil.compare(remoteChange.identity, localChange.identity) == 0) { remoteChange.conflict("Local created item is in conflict with remotely created item", localChange.changedPropertyNames); } } override public function checkDelete(remoteChange:IChangeObject, localChange:IChangeObject):void { // if we have an update locally for an item that was deleted remotely // that is considered a conflict. if (localChange != null) { if (localChange.isUpdate()) { remoteChange.conflict("Local item was updated and is in conflict with pushed delete.", localChange.changedPropertyNames); } } } override public function checkUpdate(remoteChange:IChangeObject, localChange:IChangeObject):void { // get a list of all of the changed properties var changes:Array = remoteChange.changedPropertyNames; // get the remote state of the item's properties var newVersion:Object = remoteChange.newVersion; var prevVersion:Object = localChange.previousVersion; // properties will be in conflict if the old value of a property on the // local item is different from the same property value of the new version // of the remote item. var conflictingProps:Array = []; for (var i:int=0; i<changes.length; i++) { var prop:Object = changes[i]; // could be a String or QName if (ObjectUtil.compare(prevVersion[prop], newVersion[prop]) != 0) { conflictingProps.push(prop); } } if (conflictingProps.length > 0) { remoteChange.conflict("Local item has changes to properties that conflict with remote change.", conflictingProps); } }
Tue Jun 12 2018, 03:17 PM Z