Creatio development guide
PDF
Документация по разработке
Описание платформы
Это документация Creatio версии 7.12.0. Мы рекомендуем использовать новую версию документации.

Мониторинг переопределения приватных свойств. 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-2019.

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

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