initi.doc/docfiles/providers/managers/trees/manager.js

104 lines
4.6 KiB
JavaScript
Raw Normal View History

/**
2018-09-26 15:13:03 +00:00
* ### Менеджер деревьев.
*
* Представляет собой интерфейс для доступа ко всем деревьям
*
* Позволяет по тегу дерева получить на него ссылку.
*
* Деревья представляют собой следующую иерархию наследования
*
* <br>
*
* {@link Trees.GlobalTree} - любое дерево (обладает возможностью открывать свою иерархию)
* > {@link Trees.SchemeTree} - дерево топологии "st"
*
* > {@link Trees.GlobalAttributeTree} - любое дерево, которое обладает атрибутами (используется как дефолтное)
* > > {@link Trees.DesktopTree} - дерево рабочего стола "dsk"
*
* > > {@link Trees.UserAttributeTree} - дерево пользовательских параметров "uat"
*
* > > {@link Trees.RemoteModulesTree} - дерево сборщиков данных "rmt"
*
*
* <br>
* Список доступных тегов деревьев:
* - "cmp" - Компоненты
* - "cst" - Вложенность компонентов
* - "dsk" - Рабочий стол
* - "ect" - Дерево событий
* - "flt" - Фильтры
* - "edg" - Линки
* - "cedg" - Вложенность линков
* - "prf" - Профили
* - "rmt" - Сборщики данных
* - "st" - Схема объектов
* - "uat" - Пользовательские данные
*
* <br>
* Связанные объекты:
*
* - {@link Trees.GlobalTree} - Здесь можно найти примеры, как работать с нодами дерева
* - {@link Trees.GlobalTree.Node} - Здесь можно найти примеры, как работать с содержимым глобальной ноды
* - {@link Trees.GlobalAttributeTree.Node} - Здесь можно найти примеры, как работать с содержимым аттрибутной ноды
*
* @example
* // Работа с деревом
* // Доступ к менеджеру деревьев находится в переменной ps.pl.tm (провайдеры -> мастер платформа -> менеджер деревьев)
* // доступ к конкретному дереву осуществляется по тагу дерева например ("st", "rmt", "uat")
* // где st - дерево топологии, rmt - дерево сборщиков данных, uat - дерево в котором хранится информация о
* // данных пользователя
* ps.pl.tm.get(new v2.string("rmt")).then(function(ref){
* // ref - это ссылка на объект
* // метод value возвращает целевой объект. В данном случае дерево {@type Trees.GlobalTree}
* var tree = ref.value();
* }, function(err){
* // в случае неудачи придет ошибка.
* // обычно в ошибке содержится три переменные err - код ошибки, message - краткое описание, sub - если к этому
* // привела другая ошибка внутри системы.
* })
2018-09-18 12:17:34 +00:00
*
* @group manager
2018-09-18 12:17:34 +00:00
* @namespace Trees
*/
function Trees() {
/**
* Доступ к дереву
*
* В качестве идентификатора следует указать тег дерева.
*
* при успехе вернется {@link tools.reference} -> {@link Trees.GlobalTree}
*
* при отмене вернется ошибка {@link Errors.PromiseReject}
*
* @example
* // Пример использования:
* // Результатом будет нативный промис.
* var promise = ps.pl.tm.get(new v2.string("rmt"));
2018-09-18 12:17:34 +00:00
*
* @public
* @function get
* @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat"
* @returns {tools.promise(Trees.GlobalTree)}
2018-09-18 12:17:34 +00:00
* @memberof Trees
*/
2018-09-18 12:17:34 +00:00
this.get = function (treeTag) {
};
/**
* Возвращает булевое значение о существовании дерева
*
* @example
* // Пример:
* var exist = ps.pl.tm.is_exist(new v2.string("rmt"));
*
2018-09-18 12:17:34 +00:00
* @public
* @function is_tree_exist
* @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat"
* @returns {boolean}
* @memberof Trees
*/
this.is_tree_exist = function (treeTag) {
}
}