/** * ### Менеджер деревьев. * * Представляет собой интерфейс для доступа ко всем деревьям * * Позволяет по тегу дерева получить на него ссылку. * * Деревья представляют собой следующую иерархию наследования * * ```bash * // доступ * ps.pl.tm * ``` * *
* * {@link Trees.GlobalTree GlobalTree} - любое дерево (обладает возможностью открывать свою иерархию) * > {@link Trees.SchemeTree SchemeTree} - дерево топологии "st" * * > {@link Trees.GlobalAttributeTree GlobalAttributeTree} - любое дерево, которое обладает атрибутами (используется как дефолтное) * > > {@link Trees.DesktopTree DesktopTree} - дерево рабочего стола "dsk" * * > > {@link Trees.UserAttributeTree UserAttributeTree} - дерево пользовательских параметров "uat" * * > > {@link Trees.RemoteModulesTree RemoteModulesTree} - дерево сборщиков данных "rmt" * * > > {@link Trees.FiltersTree FiltersTree} - дерево фильтров "flt" * * > > {@link Trees.ConsistencyTree ConsistencyTree} - дерево модельного каталога "cst" * * * *
* Список доступных тегов деревьев: * - "cmp" - Компоненты * - "cst" - Вложенность компонентов * - "dsk" - Рабочий стол * - "ect" - Дерево событий * - "flt" - Фильтры * - "edg" - Линки * - "cedg" - Вложенность линков * - "prf" - Профили * - "rmt" - Сборщики данных * - "st" - Схема объектов * - "uat" - Пользовательские данные * - "dptt" - ??? * - "ecst" - ??? * - "gat" - Глобальное дерево с атрибутами * - "gt" - Глобальное дерево * - "rlt" - ??? * - "role" - ??? * *
* Связанные объекты: * * - {@link Trees.GlobalTree GlobalTree} - Здесь можно найти примеры, как работать с нодами дерева * - {@link Trees.GlobalTree.Node GlobalTreeNode} - Здесь можно найти примеры, как работать с содержимым глобальной ноды * - {@link Trees.GlobalAttributeTree.Node GlobalAttributesNode} - Здесь можно найти примеры, как работать с содержимым аттрибутной ноды * * @example * // Работа с деревом * // Доступ к менеджеру деревьев находится в переменной ps.pl.tm (провайдеры -> мастер платформа -> менеджер деревьев) * // доступ к конкретному дереву осуществляется по тагу дерева например ("st", "rmt", "uat") * // где st - дерево топологии, rmt - дерево сборщиков данных, uat - дерево в котором хранится информация о * // данных пользователя * ps.pl.tm.get(new v2.string("rmt")).then(function(ref){ * // ref - это ссылка на объект * // метод value возвращает целевой объект. В данном случае дерево {@link Trees.RemoteModulesTree RemoteModulesTree} * var tree = ref.value(); * }, function(err){ * // в случае неудачи придет ошибка. * // обычно в ошибке содержится три переменные err - код ошибки, message - краткое описание, sub - если к этому * // привела другая ошибка внутри системы. * }) * * @group manager * @namespace Trees */ function Trees() { /** * Доступ к дереву * * В качестве идентификатора следует указать тег дерева. * * при успехе вернется {@link tools.reference} -> {@link Trees.GlobalTree} * * при отмене вернется ошибка {@link Errors.PromiseReject} * * @example * // Пример использования: * // Результатом будет нативный промис. * var promise = ps.pl.tm.get(new v2.string("rmt")); * * @public * @function get * @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat" * @returns {tools.promise(Trees.GlobalTree)} * @memberof Trees */ this.get = function (treeTag) { }; /** * Возвращает булевое значение о существовании дерева * * @example * // Пример: * var exist = ps.pl.tm.is_exist(new v2.string("rmt")); * * @public * @function is_tree_exist * @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat" * @returns {boolean} * @memberof Trees */ this.is_tree_exist = function (treeTag) { } }