Class QlResource

  • All Implemented Interfaces:
    org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.resource.Resource, org.eclipse.emf.ecore.resource.Resource.Internal
    Direct Known Subclasses:
    QlDcsResource

    public class QlResource
    extends org.eclipse.xtext.resource.DerivedStateAwareResource
    Special DerivedStateAwareResource for QL language. This class has logic for clearing IQlCachedScopeProvider after resolveLazyCrossReferences(CancelIndicator)
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.eclipse.xtext.linking.lazy.LazyLinkingResource

        org.eclipse.xtext.linking.lazy.LazyLinkingResource.CyclicLinkingException, org.eclipse.xtext.linking.lazy.LazyLinkingResource.DiagnosticMessageContext
      • Nested classes/interfaces inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl

        org.eclipse.emf.ecore.resource.impl.ResourceImpl.ContentsEList<E extends Object & org.eclipse.emf.ecore.EObject>, org.eclipse.emf.ecore.resource.impl.ResourceImpl.ModificationTrackingAdapter
      • Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl

        org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList<E extends Object & org.eclipse.emf.common.notify.Adapter>, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EObservableAdapterList, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EScannableAdapterList
      • Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.resource.Resource

        org.eclipse.emf.ecore.resource.Resource.Diagnostic, org.eclipse.emf.ecore.resource.Resource.Factory, org.eclipse.emf.ecore.resource.Resource.Internal, org.eclipse.emf.ecore.resource.Resource.IOWrappedException
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Boolean preComputeAnnounceAlias
      Special flag says that AliasComputer need pre phase - collect all unique names of alias for select field and sources in query.
      • Fields inherited from class org.eclipse.xtext.resource.DerivedStateAwareResource

        fullyInitialized, isInitializing
      • Fields inherited from class org.eclipse.xtext.resource.persistence.StorageAwareResource

        UNRESOLVABLE_FRAGMENT
      • Fields inherited from class org.eclipse.xtext.linking.lazy.LazyLinkingResource

        CYCLIC_LINKING_DECTECTION_COUNTER_LIMIT, cyclicLinkingDectectionCounterLimit, resolving, UNRESOLVEABLE_PROXIES_KEY
      • Fields inherited from class org.eclipse.xtext.resource.XtextResource

        isUpdating, operationCanceledManager, OPTION_ENCODING, OPTION_FORMAT, OPTION_RESOLVE_ALL, OPTION_SERIALIZATION_OPTIONS
      • Fields inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl

        contents, defaultDeleteOptions, defaultLoadOptions, defaultSaveOptions, errors, intrinsicIDToEObjectMap, isLoaded, isLoading, isModified, modificationTrackingAdapter, resourceSet, timeStamp, unloadingContents, uri, warnings
      • Fields inherited from class org.eclipse.emf.common.notify.impl.NotifierImpl

        eAdapters, EDELIVER, eFlags, ELAST_NOTIFIER_FLAG
      • Fields inherited from interface org.eclipse.emf.ecore.resource.Resource

        OPTION_CIPHER, OPTION_LINE_DELIMITER, OPTION_LINE_DELIMITER_UNSPECIFIED, OPTION_SAVE_ONLY_IF_CHANGED, OPTION_SAVE_ONLY_IF_CHANGED_FILE_BUFFER, OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER, OPTION_ZIP, RESOURCE__CONTENTS, RESOURCE__ERRORS, RESOURCE__IS_LOADED, RESOURCE__IS_MODIFIED, RESOURCE__IS_TRACKING_MODIFICATION, RESOURCE__RESOURCE_SET, RESOURCE__TIME_STAMP, RESOURCE__URI, RESOURCE__WARNINGS
    • Constructor Summary

      Constructors 
      Constructor Description
      QlResource()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int addLazyProxyInformation​(org.eclipse.emf.ecore.EObject obj, org.eclipse.emf.ecore.EReference ref, org.eclipse.xtext.nodemodel.INode node)
      Methods copy from LazyLinkingResource.
      void clearLazyProxyInformation()
      Methods copy from LazyLinkingResource.
      protected org.eclipse.emf.ecore.EObject getEObject​(String uriFragment, org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​org.eclipse.xtext.nodemodel.INode> triple)  
      org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​org.eclipse.xtext.nodemodel.INode> getLazyProxyInformation​(int idx)
      Methods copy from LazyLinkingResource.
      boolean hasLazyProxyInformation​(int idx)
      Methods copy from LazyLinkingResource and change So QuerySchema process in emf command operation information about proxy in undo/redo operation is not actual, we need change proxyInformation - add null for unknown index.
      boolean preComputeAnnounceAlias()
      Checks that AliasComputer need pre phase - collect all unique names of alias for select field and sources in query.
      org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​org.eclipse.xtext.nodemodel.INode> removeLazyProxyInformation​(int idx)
      Methods copy from LazyLinkingResource.
      void resolveLazyCrossReferences​(org.eclipse.xtext.util.CancelIndicator mon)  
      • Methods inherited from class org.eclipse.xtext.resource.DerivedStateAwareResource

        clearInternalState, discardDerivedState, doDiscardDerivedState, doGetContents, doUnload, getContents, getEObjectForURIFragmentRootSegment, getUnloadingContents, getURIFragmentRootSegment, installDerivedState, isFullyInitialized, isInitializing, setDerivedStateComputer, setFullyInitialized, updateInternalState, updateInternalState
      • Methods inherited from class org.eclipse.xtext.resource.persistence.StorageAwareResource

        getEObject, getPortableURIs, getResourceDescription, getResourceStorageFacade, getUnresolvableURIFragments, isLoadedFromStorage, load, loadFromStorage, setIsLoadedFromStorage, setResourceDescription
      • Methods inherited from class org.eclipse.xtext.linking.lazy.LazyLinkingResource

        createAndAddDiagnostic, createAndAddDiagnostic, createDiagnostic, createDiagnosticMessage, createDiagnosticMessageContext, doLinking, doLoad, doResolveLazyCrossReference, getDiagnosticList, getDiagnosticMessageProvider, getEncoder, getLazyProxyInformation, getLinkingHelper, getLinkingService, getReferences, handleCyclicResolution, isEagerLinking, isPotentialLazyCrossReference, isUnresolveableProxyCacheable, markUnresolvable, removeDiagnostic, resolveLazyCrossReference, setDiagnosticMessageProvider, setEagerLinking, setEncoder, setLinkingHelper, setLinkingService
      • Methods inherited from class org.eclipse.xtext.resource.XtextResource

        addSyntaxDiagnostic, addSyntaxErrors, basicGetEObject, clearErrorsAndWarnings, createReader, doSave, getCache, getConcreteSyntaxValidator, getEncoding, getEntryPoint, getFragmentProvider, getLanguageName, getLinker, getModificationStamp, getParser, getParseResult, getResourceServiceProvider, getSerializer, getUnloader, getURIFragment, isValidationDisabled, reattachModificationTracker, relink, reparse, setCache, setEncodingFromOptions, setEntryPoint, setFragmentProvider, setInjectedParser, setLanguageName, setLinker, setModificationStamp, setParser, setParseResult, setResourceServiceProvider, setSerializer, setUnloader, setValidationDisabled, unload, update, validateConcreteSyntax
      • Methods inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl

        addModificationTrackingAdapters, attached, attachedHelper, basicSetResourceSet, createModificationTrackingAdapter, delete, detached, detachedHelper, getAllContents, getAllProperContents, getAllProperContents, getDefaultURIConverter, getEObject, getEObjectByID, getErrors, getIDForEObject, getIntrinsicIDToEObjectMap, getResourceSet, getTimeStamp, getURI, getURIConverter, getWarnings, handleLoadResponse, handleSaveResponse, isAttachedDetachedHelperRequired, isContentZipEntry, isLoaded, isLoading, isModified, isTrackingModification, load, mergeMaps, newContentZipEntry, removeModificationTrackingAdapters, save, save, saveOnlyIfChangedWithFileBuffer, saveOnlyIfChangedWithMemoryBuffer, setIntrinsicIDToEObjectMap, setLoaded, setModified, setTimeStamp, setTrackingModification, setURI, supportIDRelativeURIFragmentPaths, toKeyString, toString, unload, unloaded, useZip
      • Methods inherited from class org.eclipse.emf.common.notify.impl.NotifierImpl

        eAdapters, eBasicAdapters, eDeliver, eSetDeliver
      • Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl

        eBasicAdapterArray, eBasicHasAdapters, eNotificationRequired, eNotify
      • Methods inherited from interface org.eclipse.emf.common.notify.Notifier

        eAdapters, eDeliver, eNotify, eSetDeliver
    • Field Detail

      • preComputeAnnounceAlias

        protected Boolean preComputeAnnounceAlias
        Special flag says that AliasComputer need pre phase - collect all unique names of alias for select field and sources in query.
    • Constructor Detail

      • QlResource

        public QlResource()
    • Method Detail

      • resolveLazyCrossReferences

        public void resolveLazyCrossReferences​(org.eclipse.xtext.util.CancelIndicator mon)
        Overrides:
        resolveLazyCrossReferences in class org.eclipse.xtext.linking.lazy.LazyLinkingResource
      • addLazyProxyInformation

        public int addLazyProxyInformation​(org.eclipse.emf.ecore.EObject obj,
                                           org.eclipse.emf.ecore.EReference ref,
                                           org.eclipse.xtext.nodemodel.INode node)
        Methods copy from LazyLinkingResource. So in hasLazyProxyInformation(int) we should change proxyInformation collection
        Overrides:
        addLazyProxyInformation in class org.eclipse.xtext.linking.lazy.LazyLinkingResource
      • hasLazyProxyInformation

        public boolean hasLazyProxyInformation​(int idx)
        Methods copy from LazyLinkingResource and change So QuerySchema process in emf command operation information about proxy in undo/redo operation is not actual, we need change proxyInformation - add null for unknown index.
        Overrides:
        hasLazyProxyInformation in class org.eclipse.xtext.linking.lazy.LazyLinkingResource
      • getLazyProxyInformation

        public org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​org.eclipse.xtext.nodemodel.INode> getLazyProxyInformation​(int idx)
        Methods copy from LazyLinkingResource. So in hasLazyProxyInformation(int) we should change proxyInformation collection
        Overrides:
        getLazyProxyInformation in class org.eclipse.xtext.linking.lazy.LazyLinkingResource
      • removeLazyProxyInformation

        public org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​org.eclipse.xtext.nodemodel.INode> removeLazyProxyInformation​(int idx)
        Methods copy from LazyLinkingResource. So in hasLazyProxyInformation(int) we should change proxyInformation collection
        Overrides:
        removeLazyProxyInformation in class org.eclipse.xtext.linking.lazy.LazyLinkingResource
      • clearLazyProxyInformation

        public void clearLazyProxyInformation()
        Methods copy from LazyLinkingResource. So in hasLazyProxyInformation(int) we should change proxyInformation collection
        Overrides:
        clearLazyProxyInformation in class org.eclipse.xtext.linking.lazy.LazyLinkingResource
      • preComputeAnnounceAlias

        public boolean preComputeAnnounceAlias()
        Checks that AliasComputer need pre phase - collect all unique names of alias for select field and sources in query.
        Returns:
        true if AliasComputer needs special pre phase part, false otherwise
      • getEObject

        protected org.eclipse.emf.ecore.EObject getEObject​(String uriFragment,
                                                           org.eclipse.xtext.util.Triple<org.eclipse.emf.ecore.EObject,​org.eclipse.emf.ecore.EReference,​org.eclipse.xtext.nodemodel.INode> triple)
                                                    throws AssertionError
        Overrides:
        getEObject in class org.eclipse.xtext.linking.lazy.LazyLinkingResource
        Throws:
        AssertionError