|
|||||||||
PREV CLASS SOURCE NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.eclipse.emf.common.notify.impl.NotifierImpl | +--org.eclipse.emf.ecore.resource.impl.ResourceImpl | +--org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl
This class implements the XMLResource interface. It overloads the doLoad method to invoke the XML deserializer rather than using the default XMI loader.
Inner classes inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl |
ResourceImpl.ContentsEList, ResourceImpl.ModificationTrackingAdapter |
Inner classes inherited from class org.eclipse.emf.ecore.xmi.XMLResource |
XMLResource.XMLInfo, XMLResource.XMLMap |
Inner classes inherited from class org.eclipse.emf.ecore.resource.Resource |
Resource.Diagnostic, Resource.Factory, Resource.Internal, Resource.IOWrappedException |
Field Summary | |
protected java.lang.String |
encoding
|
protected java.util.Map |
eObjectToIDMap
The map from EObject to ID . |
protected java.util.Map |
idToEObjectMap
The map from ID to EObject . |
protected boolean |
useZip
|
protected XMLLoad |
xmlLoad
|
protected XMLSaveImpl |
xmlSave
|
Fields inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl |
contents, defaultLoadOptions, defaultSaveOptions, errors, isLoaded, isModified, modificationTrackingAdapter, resourceSet, 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.xmi.XMLResource |
HREF, NIL, OPTION_DECLARE_XML, OPTION_DISABLE_NOTIFY, OPTION_ENCODING, OPTION_LINE_WIDTH, OPTION_PROCESS_DANGLING_HREF, OPTION_PROCESS_DANGLING_HREF_DISCARD, OPTION_PROCESS_DANGLING_HREF_RECORD, OPTION_PROCESS_DANGLING_HREF_THROW, OPTION_SCHEMA_LOCATION, OPTION_SKIP_ESCAPE, OPTION_USE_ENCODED_ATTRIBUTE_STYLE, OPTION_XML_MAP, SCHEMA_LOCATION, TYPE, XML_NS, XSI_NS, XSI_URI |
Fields inherited from interface org.eclipse.emf.ecore.resource.Resource |
RESOURCE__CONTENTS, RESOURCE__ERRORS, RESOURCE__IS_LOADED, RESOURCE__IS_MODIFIED, RESOURCE__IS_TRACKING_MODIFICATION, RESOURCE__RESOURCE_SET, RESOURCE__URI, RESOURCE__WARNINGS |
Constructor Summary | |
XMLResourceImpl()
Constructor for XMLResourceImpl. |
|
XMLResourceImpl(URI uri)
Constructor for XMLResourceImpl. |
Method Summary | |
void |
attached(EObject eObject)
Called when the object is attached to this resource, i.e., when it's eResource changes to be this one. |
protected XMLHelper |
createXMLHelper()
|
protected XMLLoad |
createXMLLoad()
|
protected XMLSave |
createXMLSave()
|
void |
detached(EObject eObject)
Called when the object is detached from this resource, i.e., when it's eResource changes to no longer be this one. |
void |
doLoad(java.io.InputStream inputStream,
java.util.Map options)
Called to load the resource. |
void |
doSave(java.io.OutputStream outputStream,
java.util.Map options)
Called to save the resource. |
protected void |
doUnload()
Does all the work of unloading the resource. |
java.util.Map |
getDefaultLoadOptions()
Returns the map of options that, in addition to the overriding options specified during load, are used to to control load behavior. |
java.util.Map |
getDefaultSaveOptions()
Returns the map of options that, in addition to the overriding options specified during save, are used to to control save behavior. |
java.lang.String |
getEncoding()
Get the XML encoding for this resource. |
protected EObject |
getEObjectByID(java.lang.String id)
Returns the object based on the fragment as an ID. |
java.util.Map |
getEObjectToIDMap()
Returns the Map of EObjects as keys and IDs as values. |
java.lang.String |
getID(EObject eObject)
Returns the ID if there is one for the given object; if there is no ID, it returns null. |
java.util.Map |
getIDToEObjectMap()
Returns the Map with IDs as keys and EObjects as values. |
java.lang.String |
getURIFragment(EObject eObject)
Returns the URI fragment that,
when passed to getEObject will return the given object. |
protected void |
init()
|
protected boolean |
isPath(java.lang.String uriFragment)
|
void |
setEncoding(java.lang.String encoding)
Set the XML encoding for this resource. |
void |
setID(EObject eObject,
java.lang.String id)
Sets the ID of the object. |
void |
setUseZip(boolean useZip)
Set whether the contents will be zipped. |
java.lang.String |
toKeyString()
Returns a string representation of the ID map. |
protected boolean |
useIDs()
|
boolean |
useZip()
Returns whether the contents will be zipped. |
Methods inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl |
addModificationTrackingAdapters, basicSetResourceSet, createModificationTrackingAdapter, getAllContents, getContents, getDefaultURIConverter, getEObject, getEObject, getEObjectForURIFragmentRootSegment, getErrors, getResourceSet, getURI, getURIConverter, getURIFragmentRootSegment, getWarnings, isContentZipEntry, isLoaded, isModified, isTrackingModification, load, load, newContentZipEntry, removeModificationTrackingAdapters, save, save, setLoaded, setModified, setTrackingModification, setURI, toString, unload, unloaded |
Methods inherited from class org.eclipse.emf.common.notify.impl.NotifierImpl |
eAdapters, eDeliver, eNotificationRequired, eNotify, eSetDeliver |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.emf.ecore.resource.Resource |
getAllContents, getContents, getEObject, getErrors, getResourceSet, getURI, getWarnings, isLoaded, isModified, isTrackingModification, load, load, save, save, setModified, setTrackingModification, setURI, unload |
Methods inherited from interface org.eclipse.emf.common.notify.Notifier |
eAdapters, eDeliver, eNotify, eSetDeliver |
Field Detail |
protected java.util.Map idToEObjectMap
ID
to EObject
.
It is used to store IDs during a load or if the user
sets the ID of an object.protected java.util.Map eObjectToIDMap
EObject
to ID
.
It is used to store IDs during a load or if the user
sets the ID of an object.protected java.lang.String encoding
protected boolean useZip
protected XMLLoad xmlLoad
protected XMLSaveImpl xmlSave
Constructor Detail |
public XMLResourceImpl()
public XMLResourceImpl(URI uri)
uri
- Method Detail |
protected void init()
protected boolean useIDs()
public java.util.Map getDefaultSaveOptions()
XMLResource
getDefaultSaveOptions
in interface XMLResource
public java.util.Map getDefaultLoadOptions()
XMLResource
getDefaultLoadOptions
in interface XMLResource
protected XMLHelper createXMLHelper()
protected XMLLoad createXMLLoad()
protected XMLSave createXMLSave()
public void doLoad(java.io.InputStream inputStream, java.util.Map options) throws java.io.IOException
ResourceImpl
doLoad
in class ResourceImpl
org.eclipse.emf.ecore.resource.impl.ResourceImpl
inputStream
- the streamoptions
- the load options.UnsupportedOperationException.
- public void doSave(java.io.OutputStream outputStream, java.util.Map options) throws java.io.IOException
ResourceImpl
doSave
in class ResourceImpl
org.eclipse.emf.ecore.resource.impl.ResourceImpl
outputStream
- the streamoptions
- the save options.UnsupportedOperationException.
- public boolean useZip()
XMLResource
useZip
in interface XMLResource
useZip
in class ResourceImpl
org.eclipse.emf.ecore.resource.impl.ResourceImpl
ResourceImpl.newContentZipEntry()
,
ResourceImpl.isContentZipEntry(ZipEntry)
public void setUseZip(boolean useZip)
XMLResource
setUseZip
in interface XMLResource
public java.lang.String getEncoding()
XMLResource
getEncoding
in interface XMLResource
public void setEncoding(java.lang.String encoding)
XMLResource
setEncoding
in interface XMLResource
public java.util.Map getIDToEObjectMap()
XMLResource
getIDToEObjectMap
in interface XMLResource
public java.util.Map getEObjectToIDMap()
XMLResource
getEObjectToIDMap
in interface XMLResource
public java.lang.String getID(EObject eObject)
XMLResource
getID
in interface XMLResource
public void setID(EObject eObject, java.lang.String id)
eObjectToIDMap
.
Clients may override it to set the ID as an actual attribute object the object.setID
in interface XMLResource
eObject
- the object.id
- the object's ID.public java.lang.String getURIFragment(EObject eObject)
Resource
fragment
that,
when passed to getEObject
will return the given object.
In other words,
the following is true
for any object contained by a resource:
Resource resource = eObject.eResource(); eObject == resource.getEObject(resource.getURIFragment(eObject))An implementation may choose to use IDs or to use structured URI fragments, as supported by
eURIFragmentSegment
.
getURIFragment
in interface Resource
getURIFragment
in class ResourceImpl
org.eclipse.emf.ecore.resource.Resource
eObject
- the object to identify.fragment
for the object.Resource.getEObject(String)
,
InternalEObject.eURIFragmentSegment(EStructuralFeature, EObject)
protected EObject getEObjectByID(java.lang.String id)
ResourceImpl
getEObjectByID
in class ResourceImpl
protected boolean isPath(java.lang.String uriFragment)
public void attached(EObject eObject)
Resource.Internal
eResource
changes to be this one.
An implementation that resolves
based on IDs
will need to walk the tree
of this object
in order to tabulate an index.
An implementation that needs to track modification
will also need to walk the tree
in order to add the necessary adapter.
In either of these cases,
editing of containment relations will be significantly more expensive.
attached
in class ResourceImpl
org.eclipse.emf.ecore.resource.Resource.Internal
eObject
- the attached object.Resource.Internal.detached(EObject)
public void detached(EObject eObject)
Resource.Internal
eResource
changes to no longer be this one.
An implementation that resolves
based on IDs
will need to walk the tree
of this object
in order clean up it's index.
An implementation that needs to track modification
will also need to walk the tree
in order to remove the added adapter.
In either of these cases,
editing of containment relations will be significantly more expensive.
detached
in class ResourceImpl
org.eclipse.emf.ecore.resource.Resource.Internal
eObject
- the attached object.Resource.Internal.attached(EObject)
protected void doUnload()
idToEObjectMap
and eObjectToIDMap
as necessary.doUnload
in class ResourceImpl
public java.lang.String toKeyString()
ID
map.toKeyString
in class ResourceImpl
|
Copyright 2001-2003 IBM Corporation and others. All Rights Reserved. |
||||||||
PREV CLASS SOURCE NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |