Package com._1c.g5.modeling.text
Class Node
- java.lang.Object
-
- com._1c.g5.modeling.text.Node
-
-
Field Summary
-
Fields inherited from interface com._1c.g5.modeling.text.INode
UNDEFINED_TYPE
-
-
Constructor Summary
Constructors Constructor Description Node()
Node(int type)
КонструкторNode(int type, TextLocation textLocation)
КонструкторNode(int type, TextLocation textLocation, org.eclipse.emf.ecore.EObject modelObject)
Конструктор
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(INodeVisitor visitor)
Посещение узла синтаксического дерева и его дочерних узлов.
Дочерние узлы посещаются, если они есть и если функцияINodeVisitor.visit(INode)
, вызванная для данного узла вернетtrue
.INode
addChild(INode child)
Присоединение дочернего узла.
Данный метод добавляет узел в конец списка дочерних узлов и устанавливает у присоединяемого элемента правильное значениеparent
.
Если присоединяемый дочерний узел ранее был дочерним для другого родительского узла, то предвариательно он будет отсоединен от него.List<INode>
getChildren()
Получение списка дочерних узлов для данного узла.org.eclipse.emf.ecore.EObject
getModelObject()
Получение объекта модели, ассоциированного с данным узлом.INode
getParent()
Получение родителя для данного узлаTextLocation
getTextLocation()
Получение расположения в тексте.
Если для данного узла расположение в тексте не было установлено или установлено вnull
, то функция возвращает расположение для диапазона в тексте, занимаемого дочерними элементами.int
getType()
Получение типа узлаboolean
hasChildren()
Метод позволяет установить наличие дочерних узлов.INode
removeChild(INode child)
Отсоединение дочернего узла.
Данный метод удаляет узел из списка дочерних узлов и устанавливает его свойствуparent
зеачениеnull
.void
setModelObject(org.eclipse.emf.ecore.EObject modelObject)
Установка объекта модели для данного узла.void
setParent(INode parent)
Установка родителя для данного узла
Данный метод только устанавливает родительский узел.void
setTextLocation(TextLocation textLocation)
Установка расположения в текстеvoid
setType(int type)
Установка типа узла
-
-
-
Constructor Detail
-
Node
public Node()
-
Node
public Node(int type)
Конструктор- Parameters:
type
- тип узла
-
Node
public Node(int type, TextLocation textLocation)
Конструктор- Parameters:
type
- тип узлаtextLocation
- расположение узла в тексте
-
Node
public Node(int type, TextLocation textLocation, org.eclipse.emf.ecore.EObject modelObject)
Конструктор- Parameters:
type
- тип узлаtextLocation
- расположение узла в текстеmodelObject
- объект модели
-
-
Method Detail
-
setType
public void setType(int type)
Description copied from interface:INode
Установка типа узла
-
getType
public int getType()
Description copied from interface:INode
Получение типа узла
-
setTextLocation
public void setTextLocation(TextLocation textLocation)
Description copied from interface:INode
Установка расположения в тексте- Specified by:
setTextLocation
in interfaceINode
- Parameters:
textLocation
- расположение в тексте
-
getTextLocation
public TextLocation getTextLocation()
Description copied from interface:INode
Получение расположения в тексте.
Если для данного узла расположение в тексте не было установлено или установлено вnull
, то функция возвращает расположение для диапазона в тексте, занимаемого дочерними элементами. Если дочерних элементов нет, то возвращаетсяTextLocation
со всеми полями, установленными в 0.- Specified by:
getTextLocation
in interfaceINode
- Returns:
- расположение в тексте
-
setParent
public void setParent(INode parent)
Description copied from interface:INode
Установка родителя для данного узла
Данный метод только устанавливает родительский узел. Помещение данного узла в списокchil
не выполняется. Метод в основном предназначен для внутреннего использования.
Для присоединения дочернего узла к родительскому следует использовать методINode.addChild(INode)
, а для отсоединения - методINode.removeChild(INode)
-
getParent
public INode getParent()
Description copied from interface:INode
Получение родителя для данного узла
-
getChildren
public List<INode> getChildren()
Description copied from interface:INode
Получение списка дочерних узлов для данного узла. Если дочерних узлов нет, то возвращается пустой список (неnull
).
Полученный список не следует использовать для модификации, так как при помещении или исключении дочернего узла его ссылка наparent
автоматически модифицирована не будет.
Для присоединения дочернего узла к родительскому следует использовать методINode.addChild(INode)
, а для отсоединения - методINode.removeChild(INode)
Если нужно просто узнать, пуст ли список дочерних узлов, то предпочтительнее использовать методINode.hasChildren()
- Specified by:
getChildren
in interfaceINode
- Returns:
- список дочерних узлов
-
hasChildren
public boolean hasChildren()
Description copied from interface:INode
Метод позволяет установить наличие дочерних узлов.- Specified by:
hasChildren
in interfaceINode
- Returns:
true
- дочерние узлы есть,false
- дочерних узлов нет.
-
addChild
public INode addChild(INode child)
Description copied from interface:INode
Присоединение дочернего узла.
Данный метод добавляет узел в конец списка дочерних узлов и устанавливает у присоединяемого элемента правильное значениеparent
.
Если присоединяемый дочерний узел ранее был дочерним для другого родительского узла, то предвариательно он будет отсоединен от него.
-
removeChild
public INode removeChild(INode child)
Description copied from interface:INode
Отсоединение дочернего узла.
Данный метод удаляет узел из списка дочерних узлов и устанавливает его свойствуparent
зеачениеnull
.- Specified by:
removeChild
in interfaceINode
- Parameters:
child
- отсоединяемый дочерний узел- Returns:
- ссылка на данный узел для возможного chaining'а
-
setModelObject
public void setModelObject(org.eclipse.emf.ecore.EObject modelObject)
Description copied from interface:INode
Установка объекта модели для данного узла.- Specified by:
setModelObject
in interfaceINode
- Parameters:
modelObject
- объект модели
-
getModelObject
public org.eclipse.emf.ecore.EObject getModelObject()
Description copied from interface:INode
Получение объекта модели, ассоциированного с данным узлом.- Specified by:
getModelObject
in interfaceINode
- Returns:
- объект модели
-
accept
public void accept(INodeVisitor visitor)
Description copied from interface:INode
Посещение узла синтаксического дерева и его дочерних узлов.
Дочерние узлы посещаются, если они есть и если функцияINodeVisitor.visit(INode)
, вызванная для данного узла вернетtrue
.
-
-