Class NodeUtil
- java.lang.Object
-
- com._1c.g5.modeling.xml.parser.nodemodel.NodeUtil
-
public class NodeUtil extends Object
Служебный класс для работы со связкой объектов модели и соответствующих им узлов в parse-tree
EObject <-> INode
-
-
Constructor Summary
Constructors Constructor Description NodeUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
attachEObjectToNode(org.eclipse.emf.ecore.EObject eObject, INode node)
Осуществляет привязкуeObject
кnode
static void
attachFeatureToNode(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature, INode node)
Осуществляет привязку структуральной фичиfeature
объектаeObject
кnode
static void
detachFeatureFromNode(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature)
Удаляет привязку структуральной фичиfeature
объектаeObject
ко всем нодамstatic Object
getAssocNodesByObjectFeature(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature)
Метод для получения узла(ов) из parse-tree для структуральной фичиfeature
объектаeObject
static List<ErrorNode>
getErrorNodes(XmlException exception)
ВозвращаетErrorNode
узлы parse-tree содержащие координаты в, которых возникла исключительная ситуацияstatic INode
getNodeByEObject(org.eclipse.emf.ecore.EObject eObject)
Метод для получения узла из parse-tree для объекта моделиeObject
static INode
getNodeByObjectFeature(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature)
Метод для получения узла из parse-tree для структуральной фичиfeature
объектаeObject
static INode
getNodeByObjectFeature(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature, int index)
Метод для получения узла из parse-tree для структуральной фичиfeature
объектаeObject
с индексомindex
static INode
getNodeByObjectFeatureValue(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.emf.ecore.EObject value)
Метод для получения узла из parse-tree для структуральной фичиfeature
объектаeObject
со значениемvalue
static INode
getNodeByOffset(INode rootNode, int offset)
Возвращает узел со смещениемoffset
в parse-tree с корнемrootNode
static List<INode>
getNodesByLineNumber(INode rootNode, int lineNumber)
Возвращает список узлов parse-tree с корнемrootNode
, расположенных на строке №lineNumber
static List<INode>
getNodesByObjectFeature(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature)
Метод для получения списка узлов из parse-tree для multi-valued структуральной фичиstatic String
getNodeText(INode node)
static Location
getTagNameLocation(INode node)
Возвращает координаты открывающего тэга для узла parse-treestatic INode
getTreeRoot(INode node)
-
-
-
Method Detail
-
attachEObjectToNode
public static void attachEObjectToNode(org.eclipse.emf.ecore.EObject eObject, INode node)
Осуществляет привязкуeObject
кnode
- Parameters:
eObject
- объект моделиnode
- узел в parse-tree
-
attachFeatureToNode
public static void attachFeatureToNode(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature, INode node)
Осуществляет привязку структуральной фичиfeature
объектаeObject
кnode
- Parameters:
eObject
- объект моделиfeature
- атрибут объектаeObject
node
- узел в parse-tree
-
detachFeatureFromNode
public static void detachFeatureFromNode(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature)
Удаляет привязку структуральной фичиfeature
объектаeObject
ко всем нодам- Parameters:
eObject
- объект моделиfeature
- атрибут объектаeObject
-
getNodeByEObject
public static INode getNodeByEObject(org.eclipse.emf.ecore.EObject eObject)
Метод для получения узла из parse-tree для объекта моделиeObject
- Parameters:
eObject
- объект модели- Returns:
- узел из parse-tree для объекта модели или null, если для данного объекта нет узла в дереве
-
getAssocNodesByObjectFeature
public static Object getAssocNodesByObjectFeature(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature)
Метод для получения узла(ов) из parse-tree для структуральной фичиfeature
объектаeObject
- Parameters:
eObject
- объект моделиfeature
- структуральная фича объектаeObject
- Returns:
- узел из parse-tree для структуральной фичи объекта модели
- список узлов, если структуральная фича multi-valued
- null, если для данной фичи нет узла(ов) в дереве
-
getNodeByObjectFeature
public static INode getNodeByObjectFeature(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature)
Метод для получения узла из parse-tree для структуральной фичиfeature
объектаeObject
- Parameters:
eObject
- объект моделиfeature
- структуральная фича объектаeObject
- Returns:
- узел из parse-tree для структуральной фичи объекта модели
- null, если для данной фичи нет узла(ов) в дереве или структуральная фича single-valued
-
getNodeByObjectFeature
public static INode getNodeByObjectFeature(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature, int index)
Метод для получения узла из parse-tree для структуральной фичиfeature
объектаeObject
с индексомindex
- Parameters:
eObject
- объект моделиfeature
- структуральная фича объектаeObject
index
- номер в списке узлов, если фича multi-valued данный параметр не учитывается- Returns:
- узел из parse-tree для структуральной фичи объекта модели
- узел из parse-tree с индексом
index
для multi-valued структуральной фичи объекта модели- null, если для данной фичи нет узла(ов) в дереве
-
getNodeByObjectFeatureValue
public static INode getNodeByObjectFeatureValue(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.emf.ecore.EObject value)
Метод для получения узла из parse-tree для структуральной фичиfeature
объектаeObject
со значениемvalue
-
getNodesByObjectFeature
public static List<INode> getNodesByObjectFeature(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature feature)
Метод для получения списка узлов из parse-tree для multi-valued структуральной фичи- Parameters:
eObject
- объект моделиfeature
- структуральная фича объектаeObject
- Returns:
- список узлов из parse-tree для multi-valued структуральной фичи,
- список из одного элемента, если фича не multi-valued вернет
- null, если для данной фичи нет узла(ов) в дереве
-
getTagNameLocation
public static Location getTagNameLocation(INode node)
Возвращает координаты открывающего тэга для узла parse-tree- Parameters:
node
- узел parse-tree. не может быть null- Returns:
Location
. не может быть null
-
getErrorNodes
public static List<ErrorNode> getErrorNodes(XmlException exception)
ВозвращаетErrorNode
узлы parse-tree содержащие координаты в, которых возникла исключительная ситуация- Parameters:
exception
-- Returns:
- List<
ErrorNode
>. Не может быть null
-
getNodeByOffset
public static INode getNodeByOffset(INode rootNode, int offset)
Возвращает узел со смещениемoffset
в parse-tree с корнемrootNode
- Parameters:
rootNode
- кореневой узел parse-tree. Не может быть nulloffset
- смещение- Returns:
INode
-
getNodesByLineNumber
public static List<INode> getNodesByLineNumber(INode rootNode, int lineNumber)
Возвращает список узлов parse-tree с корнемrootNode
, расположенных на строке №lineNumber
- Parameters:
rootNode
- кореневой узел parse-treelineNumber
- номер строки- Returns:
- List<
INode
>. Не может быть null
-
-