Class Node

  • All Implemented Interfaces:
    INode

    public class Node
    extends Object
    implements INode
    Типовая реализация интерфейса INode
    • 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
        Установка типа узла
        Specified by:
        setType in interface INode
        Parameters:
        type - тип узла
      • getType

        public int getType()
        Description copied from interface: INode
        Получение типа узла
        Specified by:
        getType in interface INode
        Returns:
        тип узла
      • setTextLocation

        public void setTextLocation​(TextLocation textLocation)
        Description copied from interface: INode
        Установка расположения в тексте
        Specified by:
        setTextLocation in interface INode
        Parameters:
        textLocation - расположение в тексте
      • getTextLocation

        public TextLocation getTextLocation()
        Description copied from interface: INode
        Получение расположения в тексте.
        Если для данного узла расположение в тексте не было установлено или установлено в null, то функция возвращает расположение для диапазона в тексте, занимаемого дочерними элементами. Если дочерних элементов нет, то возвращается TextLocation со всеми полями, установленными в 0.
        Specified by:
        getTextLocation in interface INode
        Returns:
        расположение в тексте
      • setParent

        public void setParent​(INode parent)
        Description copied from interface: INode
        Установка родителя для данного узла
        Данный метод только устанавливает родительский узел. Помещение данного узла в список chil не выполняется. Метод в основном предназначен для внутреннего использования.
        Для присоединения дочернего узла к родительскому следует использовать метод INode.addChild(INode), а для отсоединения - метод INode.removeChild(INode)
        Specified by:
        setParent in interface INode
        Parameters:
        parent - устанавливаемый родительский узел
      • getParent

        public INode getParent()
        Description copied from interface: INode
        Получение родителя для данного узла
        Specified by:
        getParent in interface INode
        Returns:
        родительский узел для данного узла
      • getChildren

        public List<INode> getChildren()
        Description copied from interface: INode
        Получение списка дочерних узлов для данного узла. Если дочерних узлов нет, то возвращается пустой список (не null).
        Полученный список не следует использовать для модификации, так как при помещении или исключении дочернего узла его ссылка на parent автоматически модифицирована не будет.
        Для присоединения дочернего узла к родительскому следует использовать метод INode.addChild(INode), а для отсоединения - метод INode.removeChild(INode)
        Если нужно просто узнать, пуст ли список дочерних узлов, то предпочтительнее использовать метод INode.hasChildren()
        Specified by:
        getChildren in interface INode
        Returns:
        список дочерних узлов
      • hasChildren

        public boolean hasChildren()
        Description copied from interface: INode
        Метод позволяет установить наличие дочерних узлов.
        Specified by:
        hasChildren in interface INode
        Returns:
        true - дочерние узлы есть, false - дочерних узлов нет.
      • addChild

        public INode addChild​(INode child)
        Description copied from interface: INode
        Присоединение дочернего узла.
        Данный метод добавляет узел в конец списка дочерних узлов и устанавливает у присоединяемого элемента правильное значение parent.
        Если присоединяемый дочерний узел ранее был дочерним для другого родительского узла, то предвариательно он будет отсоединен от него.
        Specified by:
        addChild in interface INode
        Parameters:
        child - присоединяемый дочерний узел.
        Returns:
        ссылка на данный узел для возможного chaining'а
      • removeChild

        public INode removeChild​(INode child)
        Description copied from interface: INode
        Отсоединение дочернего узла.
        Данный метод удаляет узел из списка дочерних узлов и устанавливает его свойству parent зеачение null.
        Specified by:
        removeChild in interface INode
        Parameters:
        child - отсоединяемый дочерний узел
        Returns:
        ссылка на данный узел для возможного chaining'а
      • setModelObject

        public void setModelObject​(org.eclipse.emf.ecore.EObject modelObject)
        Description copied from interface: INode
        Установка объекта модели для данного узла.
        Specified by:
        setModelObject in interface INode
        Parameters:
        modelObject - объект модели
      • getModelObject

        public org.eclipse.emf.ecore.EObject getModelObject()
        Description copied from interface: INode
        Получение объекта модели, ассоциированного с данным узлом.
        Specified by:
        getModelObject in interface INode
        Returns:
        объект модели
      • accept

        public void accept​(INodeVisitor visitor)
        Description copied from interface: INode
        Посещение узла синтаксического дерева и его дочерних узлов.
        Дочерние узлы посещаются, если они есть и если функция INodeVisitor.visit(INode), вызванная для данного узла вернет true.
        Specified by:
        accept in interface INode
        Parameters:
        visitor - объект-visitor. Не должен быть null.