initi.doc/docfiles/providers/managers/trees/globalTree/node.js

109 lines
3.7 KiB
JavaScript
Raw Normal View History

/**
* Интерфейс доступа к содержимому глобальной ноды
*
* Здесь создаются менеджер по работе с вложенными нодами и менеджер типов ноды
*
* <br>
* Связанные объекты:
*
* - {@link Trees.GlobalTree} - Здесь можно найти примеры, как работать с глобальным деревом
* - {@link Trees.GlobalTree.Node.Children} - Здесь можно найти примеры, как работать с вложенными нодами
* - {@link Trees.GlobalTree.Node.NodeTypes} - Здесь можно найти примеры, как работать с типами ноды
*
*
* @example
* // Пример: Как получить ноду дерева?
*
* // Пример взят для дерева тополгии
* var tree = null;
* var node = null;
*
* // Осуществляем запрос к менеджеру деревьев, на получение провайдера дерева
* ps.pl.tm.get(new v2.string("st")).then(function(ref){
* // ref - это ссылка на объект
* // метод value возвращает целевой объект. В данном случае дерево Trees.SchemeTree
* tree = ref.value();
*
* // Доступ к ноде осуществляется похожим образом, но теперь вместо строки нужно указать v2.integer
* // Так как возвратится нативный проимс, мы можем вернуть его и обработать в следующем then
* return tree.get(v2.integer.from_number(0))
* }, function(err){
* // в случае неудачи придет ошибка.
* // обычно в ошибке содержится три переменные err - код ошибки, message - краткое описание, sub - если к этому
* // привела другая ошибка внутри системы.
* }).then(function(ref){
* // Вот мы и получили ноду.
* node = ref.value();
* }, function(err){
* // Отобразим ошибку
* console.warn(err);
* })
*
*
* @class Node
* @memberof Trees.GlobalTree
*/
function Node() {
/**
* Возвращает ссылку на атрибут ноды.
* Работает через промис.
*
* @public
* @function get
* @param {v2.string} attributeName Имя атрибута
* @returns {tools.promise}
* @memberof Trees.GlobalTree.Node
*/
this.get = function(attributeName) {
};
/**
* Добавляет новый динамический атрибут в ноду.
* Ничего не возвращает.
*
* @public
* @function add_node
* @param {v2.vc} _attrs
* @memberof Trees.GlobalTree.Node
*/
this.add_node = function(_attrs) {
};
/**
* Возвращает уникальный идентификатор ноды.
*
* @public
* @function id
* @returns {v2.integer}
* @memberof Trees.GlobalTree.Node
*/
this.id = function() {
};
/**
* Возвращает список потомков ноды.
* Работает через промис.
*
* @public
* @function children
* @returns {tools.promise}
* @memberof Trees.GlobalTree.Node
*/
this.children = function() {
};
/**
* Доступ к менеджеру детей
* @public
* @function cm
* @returns {NodeChildren}
* @memberof Trees.GlobalTree.Node
*/
this.cm = function() {
};
}