| Пакет | 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
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства