org.eclipse.ocl.examples.pivot.manager
Class Orphanage

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.BasicNotifierImpl
      extended by org.eclipse.emf.common.notify.impl.NotifierImpl
          extended by org.eclipse.emf.ecore.resource.impl.ResourceImpl
              extended by org.eclipse.ocl.examples.pivot.manager.Orphanage
All Implemented Interfaces:
org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.resource.Resource, org.eclipse.emf.ecore.resource.Resource.Internal

public class Orphanage
extends org.eclipse.emf.ecore.resource.impl.ResourceImpl

An Orphanage provides a Resource that weakly contains elements such as type specializations that should require a container for the purposes of validation, but which should be eligible for garbage collection whenever no longer in use.


Nested Class Summary
protected  class Orphanage.WeakContentsEList
          WeakContentsEList is used in place of the conventional ContentsEList to provide the weak references to the orphanage Resource.contents using a WeakHashMap.
 
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl
org.eclipse.emf.ecore.resource.impl.ResourceImpl.ContentsEList<E extends java.lang.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 java.lang.Object & org.eclipse.emf.common.notify.Adapter>, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EObservableAdapterList
 
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
static org.eclipse.emf.common.util.URI ORPHANAGE_URI
           
 
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_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
Orphanage(org.eclipse.emf.common.util.URI uri)
           
 
Method Summary
 void add(org.eclipse.emf.ecore.EObject eObject)
           
static void disposeInstance()
           
protected  void doUnload()
           
 org.eclipse.emf.common.util.EList<org.eclipse.emf.ecore.EObject> getContents()
           
static Orphanage getOrphanage(org.eclipse.emf.ecore.EObject eObject)
          Return the Orphanage for an eObject, which is the Orphanage resource in the same ResourceSet as the eObject, else the global Orphanage.
static Orphanage getOrphanage(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
          Return the Orphanage for an eObject, which is the Orphanage resource in the resourceSet if non-null, else the global Orphanage.
 
Methods inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl
addModificationTrackingAdapters, attached, attachedHelper, basicSetResourceSet, createModificationTrackingAdapter, delete, detached, detachedHelper, doLoad, doSave, getAllContents, getAllProperContents, getAllProperContents, getDefaultURIConverter, getEObject, getEObject, getEObjectByID, getEObjectForURIFragmentRootSegment, getErrors, getIntrinsicIDToEObjectMap, getResourceSet, getTimeStamp, getURI, getURIConverter, getURIFragment, getURIFragmentRootSegment, getWarnings, handleLoadResponse, handleSaveResponse, isAttachedDetachedHelperRequired, isContentZipEntry, isLoaded, isLoading, isModified, isTrackingModification, load, load, mergeMaps, newContentZipEntry, removeModificationTrackingAdapters, save, save, saveOnlyIfChangedWithFileBuffer, saveOnlyIfChangedWithMemoryBuffer, setIntrinsicIDToEObjectMap, setLoaded, setModified, setTimeStamp, setTrackingModification, setURI, 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 class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Field Detail

ORPHANAGE_URI

public static final org.eclipse.emf.common.util.URI ORPHANAGE_URI
Constructor Detail

Orphanage

public Orphanage(org.eclipse.emf.common.util.URI uri)
Method Detail

disposeInstance

public static void disposeInstance()

getOrphanage

public static Orphanage getOrphanage(org.eclipse.emf.ecore.EObject eObject)
Return the Orphanage for an eObject, which is the Orphanage resource in the same ResourceSet as the eObject, else the global Orphanage.


getOrphanage

public static Orphanage getOrphanage(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
Return the Orphanage for an eObject, which is the Orphanage resource in the resourceSet if non-null, else the global Orphanage.


add

public void add(org.eclipse.emf.ecore.EObject eObject)

doUnload

protected void doUnload()
Overrides:
doUnload in class org.eclipse.emf.ecore.resource.impl.ResourceImpl

getContents

public org.eclipse.emf.common.util.EList<org.eclipse.emf.ecore.EObject> getContents()
Specified by:
getContents in interface org.eclipse.emf.ecore.resource.Resource
Overrides:
getContents in class org.eclipse.emf.ecore.resource.impl.ResourceImpl