Пакет | 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 |
Существуют три метода определения наличия конфликта при обработке инициированной операции: checkCreate()
, checkDelete()
и checkUpdate()
. Каждый из этих методов вызывается для соответствующей операции с предоставлением двух параметров: локальное и удаленное изменения.
Если необходимо указать способ обнаружения конфликтов в клиенте, можно расширить этот класс и дополнить поведение требуемым образом для соответствия логике удаленного ассемблера.
Приведенный ниже код предоставляет примеры использования этих методов для указания наличия конфликта. Конфликты всегда указываются в remoteChange.
Метод | Определено | ||
---|---|---|---|
ConflictDetector(dataService:ConcreteDataService)
Создает экземпляр механизма обнаружения конфликтов по умолчанию. | ConflictDetector | ||
Вызывается с помощью DataService при инициировании/обработке операции создания из удаленного адреса назначения. | ConflictDetector | ||
Вызывается с помощью DataService при инициировании/обработке операции удаления из удаленного адреса назначения. | ConflictDetector | ||
Вызывается с помощью DataService при инициировании/обработке операции удаления из заполнителя из удаленного адреса назначения. | ConflictDetector | ||
Вызывается с помощью DataService при инициировании/обработке операции обновления из удаленного адреса назначения. | 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 |
Создает экземпляр механизма обнаружения конфликтов по умолчанию.
ПараметрыdataService:ConcreteDataService — ConcreteDataService указывает службу данных, которая будет использовать этот детектор конфликтов.
|
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 |
Вызывается с помощью DataService при инициировании/обработке операции создания из удаленного адреса назначения.
Параметры
remoteChange:IChangeObject — IChangeObject, представляющий обрабатываемое удаленное изменение.
| |
localChange:IChangeObject — IChangeObject, представляющий любые локальные изменения, внесенные в один и тот же объект, указанный параметром remoteChange . Допустимо значение null , если локальные изменения не были внесены в элемент, представленный параметром remoteChange .
|
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 |
Вызывается с помощью DataService при инициировании/обработке операции удаления из удаленного адреса назначения.
Параметры
remoteChange:IChangeObject — IChangeObject, представляющий обрабатываемое удаленное изменение.
| |
localChange:IChangeObject — IChangeObject, представляющий любые локальные изменения, внесенные в один и тот же объект, указанный параметром remoteChange . Допустимо значение null , если локальные изменения не были внесены в элемент, представленный параметром remoteChange .
|
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 |
Вызывается с помощью DataService при инициировании/обработке операции удаления из заполнителя из удаленного адреса назначения.
Параметры
localChange:IChangeObject — IChangeObject, представляющий локальную версию элемента, о котором сообщает сервер для удаления из указанного заполнения
| |
fillParameters:Object — параметры заполнения, указывающие заполнение, из которого необходимо удалить элемент.
|
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 |
Вызывается с помощью DataService при инициировании/обработке операции обновления из удаленного адреса назначения.
Параметры
remoteChange:IChangeObject — IChangeObject, представляющий обрабатываемое удаленное изменение.
| |
localChange:IChangeObject — IChangeObject, представляющий любые локальные изменения, внесенные в один и тот же объект, указанный параметром remoteChange . Допустимо значение null , если локальные изменения не были внесены в элемент, представленный параметром remoteChange .
|
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, 11:34 AM Z