Class ModelUtil
- java.lang.Object
-
- com._1c.g5.modeling.util.ModelUtil
-
public class ModelUtil extends Object
Утилитный класс, содержащий набор функций для работы с моделями.
-
-
Constructor Summary
Constructors Constructor Description ModelUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.eclipse.emf.common.util.Diagnostic
computeDiagnostic(org.eclipse.emf.ecore.resource.Resource resource, boolean includeWarnings)
Функция оформляет дигностику, содержащуюся в экземпляреResource
в виде экземпляраDiagnostic
.static org.eclipse.emf.ecore.EObject
createProxy(org.eclipse.emf.ecore.EClass eClass, org.eclipse.emf.common.util.URI uri)
Функция создает proxy по заданнымEClass
иURI
static org.eclipse.emf.ecore.EClass
getEClass(String nsUri, String name)
ВозвращаетEClass
по заданным NsURI пакета и имени класса.static String
getObjectLabel(org.eclipse.emf.ecore.EObject eObject)
Функция получает текстовое представление для элемента модели.static org.eclipse.emf.common.util.URI
getResourceUri(org.eclipse.emf.ecore.EObject eObject)
ПолучениеURI
ресурса, к которому присоединен элемент моделиeObject
.static org.eclipse.emf.ecore.resource.Resource
loadResource(org.eclipse.emf.ecore.resource.ResourceSet rs, org.eclipse.emf.common.util.URI uri)
ЗагрузкаResource
в контекстеResourceSet
поURI
, содержащему адрес ресурса.static Set<org.eclipse.emf.common.util.URI>
referredResourceUris(org.eclipse.emf.ecore.EObject eObject)
Функция вычисляет множествоURI
всех ресурсов, на которые имеются ссылки изeObject
и, соответственно, всех агрегированныхEObject
.
-
-
-
Method Detail
-
getObjectLabel
public static String getObjectLabel(org.eclipse.emf.ecore.EObject eObject)
Функция получает текстовое представление для элемента модели. TODO Пока еще очень наивная реализация.- Parameters:
eObject
- объект, для которого надо получить текстовое представление- Returns:
- текстовое представление
-
loadResource
public static org.eclipse.emf.ecore.resource.Resource loadResource(org.eclipse.emf.ecore.resource.ResourceSet rs, org.eclipse.emf.common.util.URI uri)
ЗагрузкаResource
в контекстеResourceSet
поURI
, содержащему адрес ресурса.URI
обязательно должен идентифицировать ресурс. То есть это должен быть абсолютныйURI
. ДанныйURI
может также содержать фрагмент, идентифицирующий объект внутри ресурса. Значение фрагмент не используется данной функцией. Таким образом, обращения к данной функцииModelUtil.loadResource(rs, uri);
иModelUtil.loadResource(rs, uri.trimFragment());
дают одинаковый результат.
Если при загрузкеResource
будут обнаружены ошибки, то он все равно будет загружен и возвращен данной функцией.
ЕслиResource
, соответствующий указанномуURI
уже был загружен ранее, то загруженный экземплярResource
будет возвращен данной функцией.
Основное отличие данной функции отResourceSet.getResource(URI, boolean)
со вторым параметром равнымtrue
состоит в том, что данная функция не выбрасывает исключения даже при возникновении ошибок при загрузке. При этом проверка коллекцииошибок
ресурса с соответствующей обработкой является обязанностью клиентского кода.- Parameters:
rs
-ResourceSet
, в контексте которого производится поиск и загрузкаResource
. Не может бытьnull
.uri
-URI
, определеяющий ресурс, который надо загрузить. ДанныйURI
может содержать фрагмент, адресующий объект внутри ресурса. Этот фрагмент будет проигнорирован. Значением параметра не может бытьnull
.- Returns:
- загруженный
Resource
-
createProxy
public static org.eclipse.emf.ecore.EObject createProxy(org.eclipse.emf.ecore.EClass eClass, org.eclipse.emf.common.util.URI uri)
Функция создает proxy по заданнымEClass
иURI
- Parameters:
eClass
-EClass
, задающий тип создаваемого proxy. Значением параметра не может быть абстрактныйEClass
и не может бытьnull
.uri
-URI
создаваемого proxy. В принципе может бытьnull
, но в этом случае созданный объект не будет являться proxy.- Returns:
- созданный proxy (или не proxy, если значением параметра
uri
являетсяnull
)
-
referredResourceUris
public static Set<org.eclipse.emf.common.util.URI> referredResourceUris(org.eclipse.emf.ecore.EObject eObject)
Функция вычисляет множествоURI
всех ресурсов, на которые имеются ссылки изeObject
и, соответственно, всех агрегированныхEObject
.URI
ресурса, в котором находится самeObject
в результирующее множество не попадает.- Parameters:
eObject
- элемент модели, для которого ищутся ссылки на внешние ресурсы- Returns:
- множество
URI
, на которые имеются ссылки из элемента модели и агрегированных в него элементов.
-
getResourceUri
public static org.eclipse.emf.common.util.URI getResourceUri(org.eclipse.emf.ecore.EObject eObject)
ПолучениеURI
ресурса, к которому присоединен элемент моделиeObject
. ЕслиeObject
представляет собой proxy, то возвращаетсяURI
, полученный из proxy. ЕслиURI
добыть не удалось то возвращаетсяnull
.- Parameters:
eObject
- элемент модели, для которого нужно получитьURI
ресурса или proxy- Returns:
URI
ресурса или proxy
-
getEClass
public static org.eclipse.emf.ecore.EClass getEClass(String nsUri, String name)
ВозвращаетEClass
по заданным NsURI пакета и имени класса.- Parameters:
nsUri
- NsURI пакетаname
- имя класса- Returns:
- искомый
EClass
илиnull
, если не найден
-
computeDiagnostic
public static org.eclipse.emf.common.util.Diagnostic computeDiagnostic(org.eclipse.emf.ecore.resource.Resource resource, boolean includeWarnings)
Функция оформляет дигностику, содержащуюся в экземпляреResource
в виде экземпляраDiagnostic
.Фактически, для выполнения полезной работы данная функция обращается к
EcoreUtil.computeDiagnostic(Resource, boolean)
. Отличие в результате, возвращаемом данной функцией и функциейEcoreUtil.computeDiagnostic(Resource, boolean)
состоит в том, что объектDiagnostic
возвращаемый данной функцией в случае обнаружения проблем содержит непустое сообщение.- Parameters:
resource
-Resource
. Не может бытьnull
includeWarnings
- признак, показывающий, нужно ли учитывать warning'и. Еслиfalse
то возвращаемыйDiagnostic
будет содержать дочерние элементы соответствующие только ошибкам. Еслиtrue
, то также будут содержаться дочерние элементы, соответствующие предупреждениям.- Returns:
Diagnostic
. Если вResource
нет проблем, то будет возвращен объект, у которого методDiagnostic.getSeverity()
возвращаетDiagnostic.OK
. Возвращаемое значение не может бытьnull
.
-
-