org.eclipse.emf.cdo.common.model
Interface CDOPackageInfo

All Superinterfaces:
Adapter, Comparable<CDOPackageInfo>, EPackage.Descriptor
All Known Subinterfaces:
InternalCDOPackageInfo

public interface CDOPackageInfo
extends Adapter, EPackage.Descriptor, Comparable<CDOPackageInfo>

Describes a single package instance of the nested package tree strucure represented by the containing package unit.

While the containing package unit is in the PROXY state this package info acts as a package descriptor in the associated package registry. When that package unit is loaded all contained package infos/descriptors are resolved and replaced by their actual packages. At the same time the describing package info objects are attached as adapters to the resolved packages. This way the descriptive information is available before and after loading the packages.

No Implement
This interface is not intended to be implemented by clients.
No Extend
This interface is not intended to be extended by clients.

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter
Adapter.Internal
 
Method Summary
 EPackage getEPackage(boolean loadOnDemand)
          Returns the package described by this package info.
 CDOPackageUnit getPackageUnit()
          Returns the package unit containing this package info.
 String getPackageURI()
          Returns the namespace URI of the package described by this package info.
 String getParentURI()
          Returns the namespace URI of the super package of the package described by this package info.
 boolean isCorePackage()
          Returnes true if the package described by this package info is the Ecore model, false oterwise.
 boolean isResourcePackage()
          Returnes true if the package described by this package info is the Eresource model, false oterwise.
 boolean isSystemPackage()
          Returns true is this package info describes one of the models Ecore, Eresource or Etypes, false otherwise.
 boolean isTypePackage()
          Returnes true if the package described by this package info is the Etypes model, false oterwise.
 
Methods inherited from interface org.eclipse.emf.common.notify.Adapter
getTarget, isAdapterForType, notifyChanged, setTarget
 
Methods inherited from interface org.eclipse.emf.ecore.EPackage.Descriptor
getEFactory, getEPackage
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

getPackageUnit

CDOPackageUnit getPackageUnit()
Returns the package unit containing this package info.


getPackageURI

String getPackageURI()
Returns the namespace URI of the package described by this package info.


getParentURI

String getParentURI()
Returns the namespace URI of the super package of the package described by this package info.


getEPackage

EPackage getEPackage(boolean loadOnDemand)
Returns the package described by this package info.

Parameters:
loadOnDemand - If true and the containing package unit is not LOADED the package unit is implicitely loaded. If false and this package unit is not LOADED null is returned.

isCorePackage

boolean isCorePackage()
Returnes true if the package described by this package info is the Ecore model, false oterwise.


isResourcePackage

boolean isResourcePackage()
Returnes true if the package described by this package info is the Eresource model, false oterwise.


isTypePackage

boolean isTypePackage()
Returnes true if the package described by this package info is the Etypes model, false oterwise.

Since:
4.0

isSystemPackage

boolean isSystemPackage()
Returns true is this package info describes one of the models Ecore, Eresource or Etypes, false otherwise.

Note that the models Ecore, Eresource and Etypes are expected to present as generated NATIVE models in all deployments.



Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.