Class AbstractXmlResource

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

    public abstract class AbstractXmlResource
    extends org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl
    Абстракатная реализация XMLResourceImpl.
    • Nested Class Summary

      • 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
      • Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.xmi.XMLResource

        org.eclipse.emf.ecore.xmi.XMLResource.ElementHandler, org.eclipse.emf.ecore.xmi.XMLResource.MissingPackageHandler, org.eclipse.emf.ecore.xmi.XMLResource.ResourceEntityHandler, org.eclipse.emf.ecore.xmi.XMLResource.ResourceHandler, org.eclipse.emf.ecore.xmi.XMLResource.URIHandler, org.eclipse.emf.ecore.xmi.XMLResource.XMLInfo, org.eclipse.emf.ecore.xmi.XMLResource.XMLMap
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean isUpdating  
      protected Map<?,​?> lastOptions  
      protected ILinker linker  
      protected org.slf4j.Logger logger  
      static String OPTION_RESOLVE_ALL
      Данная константа используется как опция, предназначенная для указания необходимости произвести резолвинг всех прокси сразу после загрузки документа
      static String OPTION_SAVE_XSI_TYPE
      Данная константа используется как опция, предназначенная для указания необходимости сохранять информацию об xsi:type.
      • Fields inherited from class org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl

        DETACHED_EOBJECT_TO_ID_MAP, domHandler, encoding, eObjectToExtensionMap, eObjectToIDMap, idToEObjectMap, publicId, systemId, useZip, xmlVersion
      • 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
      • Fields inherited from interface org.eclipse.emf.ecore.xmi.XMLResource

        HREF, NIL, NO_NAMESPACE_SCHEMA_LOCATION, OPTION_ANY_SIMPLE_TYPE, OPTION_ANY_TYPE, OPTION_BINARY, OPTION_CONFIGURATION_CACHE, OPTION_DECLARE_XML, OPTION_DEFER_ATTACHMENT, OPTION_DEFER_IDREF_RESOLUTION, OPTION_DISABLE_NOTIFY, OPTION_DOM_USE_NAMESPACES_IN_SCOPE, OPTION_ELEMENT_HANDLER, OPTION_ENCODING, OPTION_ESCAPE_USING_CDATA, OPTION_EXTENDED_META_DATA, OPTION_FLUSH_THRESHOLD, OPTION_FORMATTED, OPTION_KEEP_DEFAULT_CONTENT, OPTION_LAX_FEATURE_PROCESSING, OPTION_LAX_WILDCARD_PROCESSING, OPTION_LINE_WIDTH, OPTION_MISSING_PACKAGE_HANDLER, OPTION_PARSER_FEATURES, OPTION_PARSER_PROPERTIES, OPTION_PROCESS_DANGLING_HREF, OPTION_PROCESS_DANGLING_HREF_DISCARD, OPTION_PROCESS_DANGLING_HREF_RECORD, OPTION_PROCESS_DANGLING_HREF_THROW, OPTION_PROXY_ATTRIBUTES, OPTION_RECORD_ANY_TYPE_NAMESPACE_DECLARATIONS, OPTION_RECORD_UNKNOWN_FEATURE, OPTION_RESOURCE_ENTITY_HANDLER, OPTION_RESOURCE_HANDLER, OPTION_ROOT_OBJECTS, OPTION_SAVE_DOCTYPE, OPTION_SAVE_TYPE_INFORMATION, OPTION_SCHEMA_LOCATION, OPTION_SCHEMA_LOCATION_IMPLEMENTATION, OPTION_SKIP_ESCAPE, OPTION_SKIP_ESCAPE_URI, OPTION_SUPPRESS_DOCUMENT_ROOT, OPTION_URI_HANDLER, OPTION_USE_CACHED_LOOKUP_TABLE, OPTION_USE_DEPRECATED_METHODS, OPTION_USE_ENCODED_ATTRIBUTE_STYLE, OPTION_USE_FILE_BUFFER, OPTION_USE_LEXICAL_HANDLER, OPTION_USE_PACKAGE_NS_URI_AS_LOCATION, OPTION_USE_PARSER_POOL, OPTION_USE_XML_NAME_TO_FEATURE_MAP, OPTION_XML_MAP, OPTION_XML_OPTIONS, OPTION_XML_VERSION, SCHEMA_LOCATION, TYPE, XML_NS, XML_SCHEMA_URI, XSI_NS, XSI_URI
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.eclipse.emf.ecore.EObject basicGetEObject​(String uriFragment)  
      protected void clearErrorsAndWarnings()  
      protected void clearInternalState()  
      protected abstract XmlParserAdapter createDefaultParser()  
      protected abstract IXmlSerializer createDefaultSerializer()  
      org.eclipse.emf.ecore.xmi.XMLHelper createXMLHelper()  
      protected void doLinking​(List<org.eclipse.emf.ecore.EObject> rootObjects)  
      void doSave​(OutputStream outputStream, Map<?,​?> options)  
      protected void doUnload()  
      org.eclipse.xtext.util.IResourceScopeCache getCache()  
      org.eclipse.emf.ecore.EObject getEObject​(String uriFragment)  
      org.eclipse.xtext.resource.IFragmentProvider getFragmentProvider()  
      XmlParserAdapter getParser()
      Возвращает парсер.
      IXmlSerializer getSerializer()
      Возвращает сериалайзер.
      org.eclipse.xtext.parser.antlr.IReferableElementsUnloader getUnloader()  
      String getURIFragment​(org.eclipse.emf.ecore.EObject object)  
      void relink()
      Performs model relinking.
      void reparse​(String newContent)
      Метод для осуществления полного репарсинга контента newContent
      protected abstract void save​(IXmlSerializer serializer, OutputStream outputStream, Map<?,​?> options)
      Реализует логику записи ресурса
      void setCache​(org.eclipse.xtext.util.IResourceScopeCache cache)  
      void setFragmentProvider​(org.eclipse.xtext.resource.IFragmentProvider fragmentProvider)  
      void setLinker​(ILinker linker)  
      void setParser​(XmlParserAdapter parser)  
      void setSerializer​(IXmlSerializer serializer)  
      void setUnloader​(org.eclipse.xtext.parser.antlr.IReferableElementsUnloader unloader)  
      protected void unload​(org.eclipse.emf.ecore.EObject oldRootObject)  
      • Methods inherited from class org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl

        assignIDsWhileLoading, attachedHelper, createEObjectInputStream, createEObjectOutputStream, createXMLLoad, createXMLLoad, createXMLSave, createXMLSave, detachedHelper, doLoad, doLoad, doLoad, doSave, getDefaultLoadOptions, getDefaultSaveOptions, getDOMHelper, getEncoding, getEObjectByID, getEObjectToExtensionMap, getEObjectToIDMap, getID, getIDForEObject, getIDToEObjectMap, getPublicId, getSystemId, getXMLVersion, init, isAttachedDetachedHelperRequired, isPath, load, load, save, save, setDoctypeInfo, setEncoding, setID, setUseZip, setXMLVersion, toKeyString, useIDAttributes, useIDs, useUUIDs, useZip
      • Methods inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl

        addModificationTrackingAdapters, attached, basicSetResourceSet, createModificationTrackingAdapter, delete, detached, getAllContents, getAllProperContents, getAllProperContents, getContents, getDefaultURIConverter, getEObject, getEObjectForURIFragmentRootSegment, getErrors, getIntrinsicIDToEObjectMap, getResourceSet, getTimeStamp, getUnloadingContents, getURI, getURIConverter, getURIFragmentRootSegment, getWarnings, handleLoadResponse, handleSaveResponse, isContentZipEntry, isLoaded, isLoading, isModified, isTrackingModification, load, load, mergeMaps, newContentZipEntry, removeModificationTrackingAdapters, save, save, saveOnlyIfChangedWithFileBuffer, saveOnlyIfChangedWithMemoryBuffer, setIntrinsicIDToEObjectMap, setLoaded, setModified, setTimeStamp, setTrackingModification, setURI, supportIDRelativeURIFragmentPaths, toString, unload, unloaded
      • 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
      • Methods inherited from interface org.eclipse.emf.ecore.resource.Resource

        delete, getAllContents, getContents, getErrors, getResourceSet, getTimeStamp, getURI, getWarnings, isLoaded, isModified, isTrackingModification, load, load, save, save, setModified, setTimeStamp, setTrackingModification, setURI, unload
    • Field Detail

      • OPTION_RESOLVE_ALL

        public static final String OPTION_RESOLVE_ALL
        Данная константа используется как опция, предназначенная для указания необходимости произвести резолвинг всех прокси сразу после загрузки документа
        See Also:
        Constant Field Values
      • OPTION_SAVE_XSI_TYPE

        public static final String OPTION_SAVE_XSI_TYPE
        Данная константа используется как опция, предназначенная для указания необходимости сохранять информацию об xsi:type. Данная опция обрабатывается только в случае, когда включен механизм символических ссылок
        See Also:
        Constant Field Values
      • logger

        protected final org.slf4j.Logger logger
      • isUpdating

        protected volatile boolean isUpdating
      • linker

        @Inject(optional=true)
        protected ILinker linker
      • lastOptions

        protected Map<?,​?> lastOptions
    • Constructor Detail

      • AbstractXmlResource

        public AbstractXmlResource()
        Конструктор
      • AbstractXmlResource

        public AbstractXmlResource​(org.eclipse.emf.common.util.URI uri)
        Конструктор
        Parameters:
        uri - URI
    • Method Detail

      • setLinker

        public void setLinker​(ILinker linker)
        Parameters:
        linker - the linker to set
      • setParser

        public void setParser​(XmlParserAdapter parser)
        Parameters:
        parser - the parser to set
      • setSerializer

        public void setSerializer​(IXmlSerializer serializer)
        Parameters:
        serializer - the serializer to set
      • setUnloader

        public void setUnloader​(org.eclipse.xtext.parser.antlr.IReferableElementsUnloader unloader)
      • getUnloader

        public org.eclipse.xtext.parser.antlr.IReferableElementsUnloader getUnloader()
      • getCache

        public org.eclipse.xtext.util.IResourceScopeCache getCache()
      • setCache

        public void setCache​(org.eclipse.xtext.util.IResourceScopeCache cache)
      • getFragmentProvider

        public org.eclipse.xtext.resource.IFragmentProvider getFragmentProvider()
      • setFragmentProvider

        public void setFragmentProvider​(org.eclipse.xtext.resource.IFragmentProvider fragmentProvider)
      • getURIFragment

        public String getURIFragment​(org.eclipse.emf.ecore.EObject object)
        Specified by:
        getURIFragment in interface org.eclipse.emf.ecore.resource.Resource
        Overrides:
        getURIFragment in class org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl
      • getEObject

        public org.eclipse.emf.ecore.EObject getEObject​(String uriFragment)
        Specified by:
        getEObject in interface org.eclipse.emf.ecore.resource.Resource
        Overrides:
        getEObject in class org.eclipse.emf.ecore.resource.impl.ResourceImpl
      • createXMLHelper

        public org.eclipse.emf.ecore.xmi.XMLHelper createXMLHelper()
        Overrides:
        createXMLHelper in class org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl
      • reparse

        public void reparse​(String newContent)
                     throws IOException
        Метод для осуществления полного репарсинга контента newContent
        Parameters:
        newContent -
        Throws:
        IOException
      • relink

        public void relink()
        Performs model relinking.
      • doSave

        public final void doSave​(OutputStream outputStream,
                                 Map<?,​?> options)
                          throws IOException
        Overrides:
        doSave in class org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl
        Throws:
        IOException
      • getParser

        public XmlParserAdapter getParser()
        Возвращает парсер. Если парсер не был injected или установлен через метод setParser, создает парсер через метод createDefaultPareser
        Returns:
        экземпляр парсера
      • getSerializer

        public IXmlSerializer getSerializer()
        Возвращает сериалайзер. Если сериалайзер не был injected или установлен через метод setSerializer, создает сериалайзер через метод createDefaultSerializer
        Returns:
        экземпляр сериалайзера
      • basicGetEObject

        protected org.eclipse.emf.ecore.EObject basicGetEObject​(String uriFragment)
      • createDefaultParser

        protected abstract XmlParserAdapter createDefaultParser()
      • createDefaultSerializer

        protected abstract IXmlSerializer createDefaultSerializer()
      • save

        protected abstract void save​(IXmlSerializer serializer,
                                     OutputStream outputStream,
                                     Map<?,​?> options)
                              throws IOException
        Реализует логику записи ресурса
        Parameters:
        serializer - сериалайзер
        outputStream -
        options - опции
        Throws:
        IOException - при ошибке записи
      • unload

        protected void unload​(org.eclipse.emf.ecore.EObject oldRootObject)
      • clearInternalState

        protected void clearInternalState()
      • doUnload

        protected void doUnload()
        Overrides:
        doUnload in class org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl
      • doLinking

        protected void doLinking​(List<org.eclipse.emf.ecore.EObject> rootObjects)
      • clearErrorsAndWarnings

        protected void clearErrorsAndWarnings()