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.
 
 - 
 
 -