org.eclipse.ocl.examples.domain.utilities
Class StandaloneProjectMap.PackageDescriptor

java.lang.Object
  extended by org.eclipse.ocl.examples.domain.utilities.StandaloneProjectMap.PackageDescriptor
All Implemented Interfaces:
org.eclipse.emf.ecore.EPackage.Descriptor, StandaloneProjectMap.IPackageDescriptor, StandaloneProjectMap.IPackageDescriptor.Internal
Enclosing class:
StandaloneProjectMap

public static final class StandaloneProjectMap.PackageDescriptor
extends java.lang.Object
implements StandaloneProjectMap.IPackageDescriptor.Internal

PackageDescriptor supports lazy class loading and initialization of a compiled Ecore package. Class loading occurs in the context of the ProjectMap, which performs classpath scans, so it is assumed that everything is visible. Re-use in a larger context may require a new ProjectMap to be created. If a PackageDescriptor is installed under multiple URIs, the resource created by the first load is shared by all subsequent resolutions. If a PackageDescriptor is set to useModel, the *.ecore file is loaded to provide the EPackage, rather than the Java className.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.ocl.examples.domain.utilities.StandaloneProjectMap.IPackageDescriptor
StandaloneProjectMap.IPackageDescriptor.Internal
 
Field Summary
protected  java.lang.String className
           
protected  org.eclipse.emf.common.util.URI genModelURI
           
protected  org.eclipse.emf.common.util.URI nsURI
           
protected  StandaloneProjectMap.IProjectDescriptor projectDescriptor
           
 
Constructor Summary
StandaloneProjectMap.PackageDescriptor(StandaloneProjectMap.IProjectDescriptor projectDescriptor, org.eclipse.emf.common.util.URI nsURI, org.eclipse.emf.common.util.URI genModelURI)
           
 
Method Summary
 void addEcorePackage(java.lang.String ecorePackage)
          Internal callback from Ecore model pre-parse to register the Ecore Package URI.
 StandaloneProjectMap.GenModelEcorePackageHandler createGenModelEcorePackageHandler()
          Internal preparation for Ecore model pre-parse.
 org.eclipse.emf.common.util.URI getEcoreModelURI()
          Return the project relative Ecore Model URI.
 org.eclipse.emf.ecore.EFactory getEFactory()
           
 org.eclipse.emf.ecore.EPackage getEPackage()
           
 org.eclipse.emf.common.util.URI getGenModelURI()
          Return the project relative Gen Model URI.
 org.eclipse.emf.common.util.URI getNsURI()
          Return the Package NS URI.
 StandaloneProjectMap.IProjectDescriptor getProjectDescriptor()
          Return the Project Descriptor containing this package.
 void setClassName(java.lang.String className)
          Internal partial configuration.
 void setUseModel(boolean useModel, org.eclipse.emf.ecore.EPackage.Registry packageRegistry)
          Configure the package registry to load the Ecore Model rather than the Java Class.
 void setUseModelAndPackage(org.eclipse.emf.ecore.EPackage ePackage, org.eclipse.emf.ecore.EPackage.Registry packageRegistry)
          Configure the package registry to load the Java Class for the package URI, and the Ecore model for the platform:/* accesses.
 void setUsePackage(org.eclipse.emf.ecore.EPackage ePackage, org.eclipse.emf.ecore.EPackage.Registry packageRegistry)
          Configure the package registry to use the provided EPackage rather than the Java Class.
 java.lang.String toString()
           
 void unload(org.eclipse.emf.ecore.EPackage.Registry packageRegistry)
          Unload the package registry to force a reload.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

projectDescriptor

protected final StandaloneProjectMap.IProjectDescriptor projectDescriptor

nsURI

protected final org.eclipse.emf.common.util.URI nsURI

genModelURI

protected final org.eclipse.emf.common.util.URI genModelURI

className

protected java.lang.String className
Constructor Detail

StandaloneProjectMap.PackageDescriptor

public StandaloneProjectMap.PackageDescriptor(StandaloneProjectMap.IProjectDescriptor projectDescriptor,
                                              org.eclipse.emf.common.util.URI nsURI,
                                              org.eclipse.emf.common.util.URI genModelURI)
Method Detail

addEcorePackage

public void addEcorePackage(java.lang.String ecorePackage)
Description copied from interface: StandaloneProjectMap.IPackageDescriptor.Internal
Internal callback from Ecore model pre-parse to register the Ecore Package URI.

Specified by:
addEcorePackage in interface StandaloneProjectMap.IPackageDescriptor.Internal

createGenModelEcorePackageHandler

public StandaloneProjectMap.GenModelEcorePackageHandler createGenModelEcorePackageHandler()
Description copied from interface: StandaloneProjectMap.IPackageDescriptor.Internal
Internal preparation for Ecore model pre-parse.

Specified by:
createGenModelEcorePackageHandler in interface StandaloneProjectMap.IPackageDescriptor.Internal

getEFactory

public org.eclipse.emf.ecore.EFactory getEFactory()
Specified by:
getEFactory in interface org.eclipse.emf.ecore.EPackage.Descriptor

getEPackage

public org.eclipse.emf.ecore.EPackage getEPackage()
Specified by:
getEPackage in interface org.eclipse.emf.ecore.EPackage.Descriptor

getEcoreModelURI

public org.eclipse.emf.common.util.URI getEcoreModelURI()
Description copied from interface: StandaloneProjectMap.IPackageDescriptor
Return the project relative Ecore Model URI.

Specified by:
getEcoreModelURI in interface StandaloneProjectMap.IPackageDescriptor

getGenModelURI

public org.eclipse.emf.common.util.URI getGenModelURI()
Description copied from interface: StandaloneProjectMap.IPackageDescriptor
Return the project relative Gen Model URI.

Specified by:
getGenModelURI in interface StandaloneProjectMap.IPackageDescriptor

getNsURI

public org.eclipse.emf.common.util.URI getNsURI()
Description copied from interface: StandaloneProjectMap.IPackageDescriptor
Return the Package NS URI.

Specified by:
getNsURI in interface StandaloneProjectMap.IPackageDescriptor

getProjectDescriptor

public StandaloneProjectMap.IProjectDescriptor getProjectDescriptor()
Description copied from interface: StandaloneProjectMap.IPackageDescriptor
Return the Project Descriptor containing this package.

Specified by:
getProjectDescriptor in interface StandaloneProjectMap.IPackageDescriptor

setClassName

public void setClassName(java.lang.String className)
Description copied from interface: StandaloneProjectMap.IPackageDescriptor.Internal
Internal partial configuration.

Specified by:
setClassName in interface StandaloneProjectMap.IPackageDescriptor.Internal

setUseModel

public void setUseModel(boolean useModel,
                        org.eclipse.emf.ecore.EPackage.Registry packageRegistry)
Description copied from interface: StandaloneProjectMap.IPackageDescriptor
Configure the package registry to load the Ecore Model rather than the Java Class.

Specified by:
setUseModel in interface StandaloneProjectMap.IPackageDescriptor

setUseModelAndPackage

public void setUseModelAndPackage(org.eclipse.emf.ecore.EPackage ePackage,
                                  org.eclipse.emf.ecore.EPackage.Registry packageRegistry)
Description copied from interface: StandaloneProjectMap.IPackageDescriptor
Configure the package registry to load the Java Class for the package URI, and the Ecore model for the platform:/* accesses.

Specified by:
setUseModelAndPackage in interface StandaloneProjectMap.IPackageDescriptor

setUsePackage

public void setUsePackage(org.eclipse.emf.ecore.EPackage ePackage,
                          org.eclipse.emf.ecore.EPackage.Registry packageRegistry)
Description copied from interface: StandaloneProjectMap.IPackageDescriptor
Configure the package registry to use the provided EPackage rather than the Java Class.

Specified by:
setUsePackage in interface StandaloneProjectMap.IPackageDescriptor

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

unload

public void unload(org.eclipse.emf.ecore.EPackage.Registry packageRegistry)
Description copied from interface: StandaloneProjectMap.IPackageDescriptor
Unload the package registry to force a reload.

Specified by:
unload in interface StandaloneProjectMap.IPackageDescriptor