Interface CDOPackageUnit

All Superinterfaces:
CDOTimeProvider, Comparable<CDOPackageUnit>
All Known Subinterfaces:
InternalCDOPackageUnit

public interface CDOPackageUnit extends Comparable<CDOPackageUnit>, CDOTimeProvider
Represents a tree structure of nested packages that are registered with a package registry and that can only be serialized as a whole.

A package unit is the granule of committing or lazy loading packages. It contains some overall information like type, state, commit time and nested package info objects that describe all the nested packages.

Since:
2.0
Author:
Eike Stepper
No Implement
This interface is not intended to be implemented by clients.
No Extend
This interface is not intended to be extended by clients.
  • Method Details

    • getPackageRegistry

      CDOPackageRegistry getPackageRegistry()
      Returns the package registry this package unit is managed by.
    • getID

      String getID()
      Returns the ID of this package unit.

      Same as getTopLevelPackageInfo(). CDOPackageInfo.getPackageURI().

    • getState

      Returns the current state of this package unit.
    • getType

      Returns the current type of this package unit.
    • getOriginalType

      CDOPackageUnit.Type getOriginalType()
      Returns the type of this package unit as it was at the time it was originally committed by a client.
    • getTimeStamp

      long getTimeStamp()
      Returns the time this package unit was originally committed.
      Specified by:
      getTimeStamp in interface CDOTimeProvider
    • getTopLevelPackageInfo

      CDOPackageInfo getTopLevelPackageInfo()
      Returns the package info object that describes the top level package of the nested package tree structure described by this package unit.
    • getPackageInfo

      CDOPackageInfo getPackageInfo(String packageURI)
      Returns the package info object that describes the package with the given namespace URI, or null if this package unit does not contain a package with this URI.
    • getPackageInfos

      CDOPackageInfo[] getPackageInfos()
      Returns all package info objects of the nested package tree structure described by this package unit in depth-first traversal order.
    • getEPackages

      EPackage[] getEPackages(boolean loadOnDemand)
      Returns all packages of the nested package tree structure described by this package unit in depth-first traversal order.
      Parameters:
      loadOnDemand - If true and this package unit is not LOADED the package unit is implicitely loaded. If false and this package unit is not LOADED an empty array is returned.
    • isSystem

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

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

    • isResource

      boolean isResource()
      Returns true is this package unit describes the model Eresource , false otherwise.

      Note that the model Eresource is expected to bepresent as generated NATIVE models in all deployments.

      Since:
      4.0