Документация

Документация по разработке bpm’online
PDF
Документация по разработке
Описание платформы
Мониторинг переопределения приватных свойств. Terrasoft.PrivateMemberWatcher

Glossary Item Box

Общие сведения

Начиная с версии 7.12.0 в bpm'online добавлена функциональность переопределения приватных свойств — класс Terrasoft.PrivateMemberWatcher. При определении пользовательского класса эта функциональность проверяет были ли переопределены приватные свойства или методы, объявленные в родительских классах. При этом в режиме отладки выдается предупреждение в консоли браузера.

ВАЖНО

В bpm'online приватными свойствами или методами класса считаются те, названия которых начинаются с нижнего подчеркивания, например, _privateMemberName.

Например, в пользовательский пакет добавлена схема модуля, исходный код которой приведен ниже.

define("UsrPrivateMemberWatcher", [], function() {
    Ext.define("Terrasoft.A", {_a: 1});
    Ext.define("Terrasoft.B", {extend: "Terrasoft.A"});
    Ext.define("Terrasoft.MC", {_b: 1});
    Ext.define("Terrasoft.C", {extend: "Terrasoft.B", mixins: {ma: "Terrasoft.MC"}});
    Ext.define("Terrasoft.MD", {_c: 1});
    // Переопределение свойства _a.
    Ext.define("Terrasoft.D", {extend: "Terrasoft.C", _a: 3, mixins: {mb: "Terrasoft.MD"}});
    // Переопределение свойства _с.
    Ext.define("Terrasoft.E", {extend: "Terrasoft.D", _c: 3});
    // Переопределение свойств _a и _b.
    Ext.define("Terrasoft.F", {extend: "Terrasoft.E", _b: 3, _a: 0});
});

Тогда после загрузки модуля, например, через строку браузера (см. "Клиентские модули") в консоли отобразится ряд предупреждений (рис. 1)

Рис. 1. — Предупреждения о переопределении приватных членов классов

 

 

 

 

 

 

© Terrasoft 2002-2018.

Был ли данный материал полезен?

Как можно улучшить эту статью?