|
||||||||||
| 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, NO_NAMESPACE_SCHEMA_LOCATION, 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()
XMLResourcegetDefaultSaveOptions in interface XMLResourcepublic java.util.Map getDefaultLoadOptions()
XMLResourcegetDefaultLoadOptions in interface XMLResourceprotected XMLHelper createXMLHelper()
protected XMLLoad createXMLLoad()
protected XMLSave createXMLSave()
public void doLoad(java.io.InputStream inputStream,
java.util.Map options)
throws java.io.IOException
ResourceImpldoLoad in class ResourceImplorg.eclipse.emf.ecore.resource.impl.ResourceImplinputStream - the streamoptions - the load options.UnsupportedOperationException. -
public void doSave(java.io.OutputStream outputStream,
java.util.Map options)
throws java.io.IOException
ResourceImpldoSave in class ResourceImplorg.eclipse.emf.ecore.resource.impl.ResourceImploutputStream - the streamoptions - the save options.UnsupportedOperationException. - public boolean useZip()
XMLResourceuseZip in interface XMLResourceuseZip in class ResourceImplorg.eclipse.emf.ecore.resource.impl.ResourceImplResourceImpl.newContentZipEntry(),
ResourceImpl.isContentZipEntry(ZipEntry)public void setUseZip(boolean useZip)
XMLResourcesetUseZip in interface XMLResourcepublic java.lang.String getEncoding()
XMLResourcegetEncoding in interface XMLResourcepublic void setEncoding(java.lang.String encoding)
XMLResourcesetEncoding in interface XMLResourcepublic java.util.Map getIDToEObjectMap()
XMLResourcegetIDToEObjectMap in interface XMLResourcepublic java.util.Map getEObjectToIDMap()
XMLResourcegetEObjectToIDMap in interface XMLResourcepublic java.lang.String getID(EObject eObject)
XMLResourcegetID 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 XMLResourceeObject - the object.id - the object's ID.public java.lang.String getURIFragment(EObject eObject)
Resourcefragment 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 ResourcegetURIFragment in class ResourceImplorg.eclipse.emf.ecore.resource.ResourceeObject - the object to identify.fragment for the object.Resource.getEObject(String),
InternalEObject.eURIFragmentSegment(EStructuralFeature, EObject)protected EObject getEObjectByID(java.lang.String id)
ResourceImplgetEObjectByID in class ResourceImplprotected boolean isPath(java.lang.String uriFragment)
public void attached(EObject eObject)
Resource.InternaleResource 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 ResourceImplorg.eclipse.emf.ecore.resource.Resource.InternaleObject - the attached object.Resource.Internal.detached(EObject)public void detached(EObject eObject)
Resource.InternaleResource 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 ResourceImplorg.eclipse.emf.ecore.resource.Resource.InternaleObject - the attached object.Resource.Internal.attached(EObject)protected void doUnload()
idToEObjectMap and eObjectToIDMap as necessary.doUnload in class ResourceImplpublic 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 | |||||||||