Class LazyLinkResolver

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void createAndAddDiagnostic​(org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode> triple, org.eclipse.emf.ecore.resource.Resource resource)  
      protected org.eclipse.emf.ecore.resource.Resource.Diagnostic createDiagnostic​(org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode> triple, org.eclipse.xtext.diagnostics.DiagnosticMessage message)  
      protected org.eclipse.xtext.diagnostics.DiagnosticMessage createDiagnosticMessage​(org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode> triple)  
      protected org.eclipse.xtext.linking.ILinkingDiagnosticMessageProvider.ILinkingDiagnosticContext createDiagnosticMessageContext​(org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode> triple)  
      protected void doResolveLazyCrossReference​(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.emf.ecore.InternalEObject source, org.eclipse.emf.ecore.EStructuralFeature crossRef)
      Заменяет все лэйзи прокси, на которые указывает crossRef на не лэйзи прокси или разрезолвленные объекты.
      protected List<org.eclipse.emf.ecore.resource.Resource.Diagnostic> getDiagnosticList​(org.eclipse.xtext.diagnostics.DiagnosticMessage message, org.eclipse.emf.ecore.resource.Resource resource)  
      protected String getReferences​(Quad<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode,​String> quad, LinkedHashSet<Quad<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode,​String>> resolving2)  
      protected org.eclipse.emf.ecore.EObject handleCyclicResolution​(Quad<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode,​String> quad)  
      boolean isLazyLink​(org.eclipse.emf.ecore.resource.Resource resource, String uriFragment)
      Проверяет, соответствует ли заданный фрагмент формату lazy-ссылки.
      protected boolean isPotentialLazyCrossReference​(org.eclipse.emf.ecore.EStructuralFeature feature)
      Возвращает true если данная фича может содержать прокси, которую необходимо разрезолвить.
      protected void removeDiagnostic​(org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode> triple, org.eclipse.emf.ecore.resource.Resource resource)  
      protected void resolveLazyCrossReference​(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.emf.ecore.InternalEObject source, org.eclipse.emf.ecore.EStructuralFeature crossRef)
      Если указанная crossRef может указывать на лэйзи прокси, производится попытка их резолвинга.
      void resolveLazyCrossReferences​(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.xtext.util.CancelIndicator mon)
      Производит резолвинг любой лэйзи ссылки в ресурсе.
      org.eclipse.emf.ecore.EObject resolveLazyLink​(org.eclipse.emf.ecore.resource.Resource resource, String uriFragment)
      Разрешает lazy-ссылку по заданному фрагменту.
      void setLinkingService​(ILinkingService linkingService)  
      void setUriEncoder​(LazyUriEncoder uriEncoder)  
    • Constructor Detail

      • LazyLinkResolver

        public LazyLinkResolver()
    • Method Detail

      • isLazyLink

        public boolean isLazyLink​(org.eclipse.emf.ecore.resource.Resource resource,
                                  String uriFragment)
        Description copied from interface: ILazyLinker.ILazyLinkResolver
        Проверяет, соответствует ли заданный фрагмент формату lazy-ссылки.
        Specified by:
        isLazyLink in interface ILazyLinker.ILazyLinkResolver
        Parameters:
        resource - ресурс, выступающий в роли контектста (не null)
        uriFragment - проверяемый фрагмент
        Returns:
        true, если это lazy-ссылка
      • resolveLazyCrossReferences

        public void resolveLazyCrossReferences​(org.eclipse.emf.ecore.resource.Resource resource,
                                               org.eclipse.xtext.util.CancelIndicator mon)
        Description copied from interface: ILazyLinker.ILazyLinkResolver
        Производит резолвинг любой лэйзи ссылки в ресурсе.
        Specified by:
        resolveLazyCrossReferences in interface ILazyLinker.ILazyLinkResolver
        Parameters:
        resource - ресурс, выступающий в роли контектста (не null)
        mon - CancelIndicator может быть использован для остановки резолвинга (не null).
      • resolveLazyLink

        public org.eclipse.emf.ecore.EObject resolveLazyLink​(org.eclipse.emf.ecore.resource.Resource resource,
                                                             String uriFragment)
        Description copied from interface: ILazyLinker.ILazyLinkResolver
        Разрешает lazy-ссылку по заданному фрагменту.
        Specified by:
        resolveLazyLink in interface ILazyLinker.ILazyLinkResolver
        Parameters:
        resource - ресурс, выступающий в роли контектста (не null)
        uriFragment - фрагмент, который должен быть разрешен (не null)
        Returns:
        результат разрешения lazy-ссылки или null, если ссылку не удалось разрешить
        See Also:
        Resource.getEObject(String)
      • setLinkingService

        public void setLinkingService​(ILinkingService linkingService)
      • setUriEncoder

        public void setUriEncoder​(LazyUriEncoder uriEncoder)
      • handleCyclicResolution

        protected org.eclipse.emf.ecore.EObject handleCyclicResolution​(Quad<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode,​String> quad)
      • resolveLazyCrossReference

        protected void resolveLazyCrossReference​(org.eclipse.emf.ecore.resource.Resource resource,
                                                 org.eclipse.emf.ecore.InternalEObject source,
                                                 org.eclipse.emf.ecore.EStructuralFeature crossRef)
        Если указанная crossRef может указывать на лэйзи прокси, производится попытка их резолвинга.
        See Also:
        isPotentialLazyCrossReference(EStructuralFeature), #doResolveLazyCrossReference(InternalEObject, EStructuralFeature)
      • doResolveLazyCrossReference

        protected void doResolveLazyCrossReference​(org.eclipse.emf.ecore.resource.Resource resource,
                                                   org.eclipse.emf.ecore.InternalEObject source,
                                                   org.eclipse.emf.ecore.EStructuralFeature crossRef)
        Заменяет все лэйзи прокси, на которые указывает crossRef на не лэйзи прокси или разрезолвленные объекты.
      • isPotentialLazyCrossReference

        protected boolean isPotentialLazyCrossReference​(org.eclipse.emf.ecore.EStructuralFeature feature)
        Возвращает true если данная фича может содержать прокси, которую необходимо разрезолвить.
      • getReferences

        protected String getReferences​(Quad<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode,​String> quad,
                                       LinkedHashSet<Quad<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode,​String>> resolving2)
      • createAndAddDiagnostic

        protected void createAndAddDiagnostic​(org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode> triple,
                                              org.eclipse.emf.ecore.resource.Resource resource)
      • removeDiagnostic

        protected void removeDiagnostic​(org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode> triple,
                                        org.eclipse.emf.ecore.resource.Resource resource)
      • getDiagnosticList

        protected List<org.eclipse.emf.ecore.resource.Resource.Diagnostic> getDiagnosticList​(org.eclipse.xtext.diagnostics.DiagnosticMessage message,
                                                                                             org.eclipse.emf.ecore.resource.Resource resource)
      • createDiagnostic

        protected org.eclipse.emf.ecore.resource.Resource.Diagnostic createDiagnostic​(org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode> triple,
                                                                                      org.eclipse.xtext.diagnostics.DiagnosticMessage message)
      • createDiagnosticMessage

        protected org.eclipse.xtext.diagnostics.DiagnosticMessage createDiagnosticMessage​(org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode> triple)
      • createDiagnosticMessageContext

        protected org.eclipse.xtext.linking.ILinkingDiagnosticMessageProvider.ILinkingDiagnosticContext createDiagnosticMessageContext​(org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​INode> triple)