Monitoring of private properties overriding. The Terrasoft.PrivateMemberWatcher class
Glossary Item Box
Introduction
Starting with version 7.12.0 version you can override private properties via the Terrasoft.PrivateMemberWatcher class. When defining a custom class, this functionality checks whether the private properties or methods declared in the parent classes have been overridden. The warning is displayed in the browser console in debug mode.
![]() |
ATTENTION In bpm’online, the private properties and methods of the class are starting with underscore (for example, _privateMemberName). |
For example, a module schema with the source code given below was added to a custom package:
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}); // Overriding _a property. Ext.define("Terrasoft.D", {extend: "Terrasoft.C", _a: 3, mixins: {mb: "Terrasoft.MD"}}); // Overriding _c property. Ext.define("Terrasoft.E", {extend: "Terrasoft.D", _c: 3}); // Overriding _a and _b properties. Ext.define("Terrasoft.F", {extend: "Terrasoft.E", _b: 3, _a: 0}); });
Then, after loading the module via the browser address bar (see “Client Modules”), a number of warnings will be displayed in the console (Fig. 1).
Fig. 1. Warning message for overriding private members of the class