MSL resource implementation. This package provides the MSL implementation of the EMF {@link org.eclipse.emf.ecore.resource.Resource} interface, and the resource factory responsible for creating MSL resources.

Package Specification

The {@link org.eclipse.gmf.runtime.emf.core.internal.resources.MResource} interface is the abstract specification of an MSL resource, which extensions of the MSL can implement to customize certain key MSL behaviours such as creating, destroying, iterating, and managing the IDs of model elements.

Custom MResources are typically created by custom implementations of the {@link org.eclipse.gmf.runtime.emf.core.internal.resources.MResourceFactory} interface, which must also implement the EMF {@link org.eclipse.emf.ecore.resource.Resource.Factory Resource.Factory} interface. MResourceFactory also defines an API for customization proxy resolution.

If required, custom MResources should consider extending the {@link org.eclipse.gmf.runtime.emf.core.internal.resources.LogicalResource} class to inherit support for decomposition of resources into multiple "physical" parts. This is typically useful only if the resource is to be persisted in files in a version-control system.

Other classes in this package are responsible for the MSL's customization of EMF's XMI persistence capabilities and the handling of dangling references and other problems in serialization and deserialization.

@see org.eclipse.gmf.runtime.emf.core.util.EObjectUtil @see org.eclipse.gmf.runtime.emf.core.util.ResourceUtil @see org.eclipse.gmf.runtime.emf.core.util.ProxyUtil @canBeSeenBy org.eclipse.gmf.runtime.emf.core.*