Package com._1c.g5.modeling.text
Class ModelTextUtil
- java.lang.Object
-
- com._1c.g5.modeling.text.ModelTextUtil
-
public class ModelTextUtil extends Object
Утилитный класс, содержащий полезные функции для работы с текстовыми представлениями моделей.
-
-
Constructor Summary
Constructors Constructor Description ModelTextUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static EObjectFeaturefindEObjectFeatureForOffset(org.eclipse.emf.ecore.EObject root, int offset)Нахождение ссылки, представленной какEObjectFeatureв дереве с корнемrootпо смещению в текстеoffset.static EObjectFeaturefindEObjectFeatureForOffset(org.eclipse.emf.ecore.resource.Resource resource, int offset)Нахождение ссылки, представленной какEObjectFeatureв EMF-ресурсеresourceпо смещению в текстеoffset.static org.eclipse.emf.ecore.EObjectfindEObjectForOffset(org.eclipse.emf.ecore.EObject root, int offset)Нахождение объекта модели в дереве, корень которого передан в параметреrootпо смещению в текстеoffset.static org.eclipse.emf.ecore.EObjectfindEObjectForOffset(org.eclipse.emf.ecore.resource.Resource resource, int offset)Нахождение объекта модели в EMF-ресурсеresourceпо смещению в текстеoffset.static org.eclipse.emf.ecore.EObjectfindReferencedEObjectForOffset(org.eclipse.emf.ecore.EObject root, int offset)Нахождение в дереве с корнемrootобъекта модели, ссылка на который содержится в тексте по смещениюoffset.static org.eclipse.emf.ecore.EObjectfindReferencedEObjectForOffset(org.eclipse.emf.ecore.resource.Resource resource, int offset)Нахождение в EMF-ресурсеresourceобъекта модели, ссылка на который содержится в тексте по смещениюoffset.static INodegetNode(org.eclipse.emf.ecore.EObject eObject)Надежное получение узла ASTINode, соответсвующего объекту EMF-модели.static INodegetNode(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature)Надежное получение узла ASTINode, соответсвующего значению single-valuedEStructuralFeatureобъекта EMF-модели.static INodegetNode(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature, int idx)Надежное получение узла ASTINode, соответсвующего значениюEStructuralFeatureобъекта EMF-модели.static TextLocationgetTextLocation(org.eclipse.emf.ecore.EObject eObject)Надежное получениеTextLocation, соответсвующего объекту EMF-модели.static TextLocationgetTextLocation(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature)Надежное получениеTextLocation, соответсвующего значению single-valuedEStructuralFeatureобъекта EMF-модели.static TextLocationgetTextLocation(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature, int idx)Надежное получениеTextLocation, соответсвующего значениюEStructuralFeatureобъекта EMF-модели.static voidvisitNodes(ITextResource resource, INodeVisitor visitor)Выполняет посещение каждого узла синтаксического дерева в EMF-ресурсеresource.
-
-
-
Method Detail
-
getNode
public static INode getNode(org.eclipse.emf.ecore.EObject eObject)
Надежное получение узла ASTINode, соответсвующего объекту EMF-модели.- Parameters:
eObject- объект EMF-модели. Может бытьnull- Returns:
- узел AST, соответствующий объекту EMF-модели.
Если в качестве объекта модели переданnullили узел AST для объекта не установлен, тоnull.
-
getNode
public static INode getNode(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature)
Надежное получение узла ASTINode, соответсвующего значению single-valuedEStructuralFeatureобъекта EMF-модели.- Parameters:
eObject- объект EMF-модели. Может бытьnull.eFeature- single-valuedEStructuralFeatureдля значения которой надо получить узел AST. Может бытьnull- Returns:
- узел AST, соответствующий значению
EStructuralFeatureобъекта EMF-модели.
ЕслиeFeature == nullили узел AST для ее значения не установлен, то возвращается узел AST, соответствующий объекту в целом.
Если в качестве объекта переданnullили узел AST для объекта не установлен, тоnull.
-
getNode
public static INode getNode(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature, int idx)
Надежное получение узла ASTINode, соответсвующего значениюEStructuralFeatureобъекта EMF-модели.- Parameters:
eObject- объект EMF-модели. Может бытьnull.eFeature-EStructuralFeatureдля значения которой надо получить узел ASTidx- если значениеidx >= 0, тоeFeatureдолжна бытьnullили many-valued. В этом случаеidx- это индекс значения для many-valuedEStructuralFeature.
Еслиidx < 0, то подразумевается, чтоeFeatureможет быть только single-valued.- Returns:
- узел AST, соответствующий значению из списка значений
many-valued
EStructuralFeatureили одиночному значению single-valuedEStructuralFeature
ЕслиeFeature == nullили узел AST в разрезе значенияEStructuralFeatureне установлен, то узел AST, соответствующий всему объекту.
Если в качестве объекта переданnullили узел AST для объекта не установлен, тоnull.
-
getTextLocation
public static TextLocation getTextLocation(org.eclipse.emf.ecore.EObject eObject)
Надежное получениеTextLocation, соответсвующего объекту EMF-модели.- Parameters:
eObject- объект EMF-модели. Может бытьnull- Returns:
TextLocation, соответствующий объекту EMF-модели.
Если в качестве объекта переданnullилиTextLocationдля объекта не установлен, тоnull.
-
getTextLocation
public static TextLocation getTextLocation(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature)
Надежное получениеTextLocation, соответсвующего значению single-valuedEStructuralFeatureобъекта EMF-модели.- Parameters:
eObject- объект EMF-модели. Может бытьnull.eFeature- single-valuedEStructuralFeatureдля значения которой надо получитьTextLocation. Может бытьnull- Returns:
TextLocation, соответствующий значениюEStructuralFeatureобъекта EMF-модели.
ЕслиeFeature == nullилиTextLocationдля ее значения не установлен, тоTextLocationдля всего объекта.
Если в качестве объекта переданnullилиTextLocationдля объекта не установлен, тоnull.
-
getTextLocation
public static TextLocation getTextLocation(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature, int idx)
Надежное получениеTextLocation, соответсвующего значениюEStructuralFeatureобъекта EMF-модели.- Parameters:
eObject- объект EMF-модели. Может бытьnull.eFeature-EStructuralFeatureдля значения которой надо получитьTextLocationidx- если значениеidx >= 0, тоeFeatureдолжна бытьnullили many-valued. В этом случаеidx- это индекс значения для many-valuedEStructuralFeature.
Еслиidx < 0, то подразумевается, чтоeFeatureможет быть только single-valued.- Returns:
TextLocation, соответствующий значению из списка значений many-valuedEStructuralFeatureили одиночному значению single-valuedEStructuralFeature
ЕслиeFeature == nullилиTextLocationв разрезе значенияEStructuralFeatureне установлен, тоTextLocationдля всего объекта.
Если в качестве объекта переданnullилиTextLocationдля объекта не установлен, тоnull.
-
findEObjectForOffset
public static org.eclipse.emf.ecore.EObject findEObjectForOffset(org.eclipse.emf.ecore.EObject root, int offset)Нахождение объекта модели в дереве, корень которого передан в параметреrootпо смещению в текстеoffset. Функция находит объект,TextLovcationкоторого наиболее точно соответсвует смещению в тексте.- Parameters:
root- объект модели, являющийся корнем дерева, в котором производится поиск.offset- смещение в тексте, для которого ищется объект модели.- Returns:
- найденный объект модели или
null, если не нашлось ни одного объекта, соответствующего смещению или в качестве корня переданnull
-
findEObjectForOffset
public static org.eclipse.emf.ecore.EObject findEObjectForOffset(org.eclipse.emf.ecore.resource.Resource resource, int offset)Нахождение объекта модели в EMF-ресурсеresourceпо смещению в текстеoffset. Функция находит объект,TextLocationкоторого наиболее точно соответсвует смещению в тексте.- Parameters:
resource- EMF-ресурс, в котором производится поиск.offset- смещение в тексте, для которого ищется объект модели.- Returns:
- найденный объект модели или
null, если не нашлось ни одного объекта, соответствующего смещению или в качестве EMF-ресурсаnull
-
findEObjectFeatureForOffset
public static EObjectFeature findEObjectFeatureForOffset(org.eclipse.emf.ecore.EObject root, int offset)
Нахождение ссылки, представленной какEObjectFeatureв дереве с корнемrootпо смещению в текстеoffset.- Parameters:
root- объект модели, являющийся корнем дерева, в котором производится поиск.offset- смещение в тексте, для которого ищется ссылка.- Returns:
- найденная ссылка или
null, если смещению в тексте никакая ссылка не соответствует или в параметреrootnull
-
findEObjectFeatureForOffset
public static EObjectFeature findEObjectFeatureForOffset(org.eclipse.emf.ecore.resource.Resource resource, int offset)
Нахождение ссылки, представленной какEObjectFeatureв EMF-ресурсеresourceпо смещению в текстеoffset.- Parameters:
resource- EMF-ресурс, в котором производится поиск.offset- смещение в тексте, для которого ищется ссылка.- Returns:
- найденная ссылка или
null, если смещению в тексте никакая ссылка не соответствует или в параметреresourceпереданnull
-
findReferencedEObjectForOffset
public static org.eclipse.emf.ecore.EObject findReferencedEObjectForOffset(org.eclipse.emf.ecore.EObject root, int offset)Нахождение в дереве с корнемrootобъекта модели, ссылка на который содержится в тексте по смещениюoffset.- Parameters:
root- объект модели, являющийся корнем дерева, в котором производится поиск.offset- смещение в тексте, для которого ищется объект модели.- Returns:
- объект модели, ссылка на который находится по смещению
в тексте
offsetилиnull, если по указанному смещению в тексте нет ссылок или в параметреrootпереданnull.
-
findReferencedEObjectForOffset
public static org.eclipse.emf.ecore.EObject findReferencedEObjectForOffset(org.eclipse.emf.ecore.resource.Resource resource, int offset)Нахождение в EMF-ресурсеresourceобъекта модели, ссылка на который содержится в тексте по смещениюoffset.- Parameters:
resource- EMF-ресурс, в котором производится поиск.offset- смещение в тексте, для которого ищется объект модели.- Returns:
- объект модели, ссылка на который находится по смещению
в тексте
offsetилиnull, если по указанному смещению в тексте нет ссылок или в параметреresourceпереданnull.
-
visitNodes
public static void visitNodes(ITextResource resource, INodeVisitor visitor)
Выполняет посещение каждого узла синтаксического дерева в EMF-ресурсеresource.- Parameters:
resource- EMF-ресурс, в котором производится посещение. Может бытьnull. В этом случае никаких посещений не производится.visitor- объект, выполняющий посещение. Не может бытьnull.
-
-