Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.
Package Class
A Package object corresponds to a Package element in the Enterprise Architect Project Browser. It is accessed either through the Repository Models collection (a Model is a special form of Package) or through the Package Packages collection. Note that a Package has an Element object as an attribute; this corresponds to an Enterprise Architect Package element in the t_object table and is used to associate additional information (such as scenarios and constraints) with the logical package. To set additional information for a package, reference the Element object directly. Also note that if you add a Package to a diagram, you should add an instance of the element (not the Package itself) to the DiagramObject Class for a diagram.
Associated table in .EAP file: t_package
Package Attributes
Attribute |
Type |
Notes |
---|---|---|
Alias |
String |
Read only Alias |
BatchLoad |
Long |
Read/Write Flag to indicate that the package is batch loaded during batch import from controlled packages Not currently used |
BatchSave |
Long |
Read/Write Boolean value to indicate whether the package is included in the batch XMI export list or not |
CodePath |
String |
Read/Write The path where associated source code is found Not currently used |
Connectors |
Read only Collection of connectors |
|
Created |
Date |
Read/Write Date the package was created |
Diagrams |
Read only A collection of diagrams contained in this package |
|
Element |
Read only The associated element object; use to get/set common information such as Stereotype, Complexity, Alias, Author, Constraints, Tagged Values and Scenarios |
|
Elements |
Read only A collection of elements that belong to this package |
|
Flags |
String |
Read/Write Extended information about the package |
IsControlled |
Boolean |
Read/Write Indicates if the package has been marked as Controlled |
IsModel |
Boolean |
Read only Indicates if the package is a model or a package |
IsNamespace |
Boolean |
Read/Write True is 'package is a Namespace root' Use 0 and 1 to set False and True |
IsProtected |
Boolean |
Read/Write Indicates if the package has been marked as Protected |
IsVersionControlled |
Boolean |
Read only Indicates whether or not this package is under version control |
LastLoadDate |
Date |
Read/Write The date XML was last loaded for the package |
LastSaveDate |
Date |
Read/Write The date XML was last saved from the package |
LogXML |
Boolean |
Read/Write Indicates if XMI export information is to be logged |
Modified |
Date |
Read/Write Date the package was last modified |
Name |
String |
Read/Write The name of the package |
Notes |
String |
Read/Write Notes about this package |
ObjectType |
Read only Distinguishes objects referenced through a Dispatch interface |
|
Owner |
String |
Read/Write The package owner when using controlled packages |
PackageGUID |
Variant |
Read only The global Package ID; valid across models |
PackageID |
Long |
Read only The local Package ID number Valid only in this model file |
Read only A collection of contained packages that can be walked through |
||
ParentID |
Long |
Read/Write The ID of the package that is the parent of this one 0 indicates this package is a model (that is, it has no parent) |
TreePos |
Long |
Read/Write The relative position in the tree compared to other packages (use to sort packages) |
UMLVersion |
String |
Read/Write The UML version for XMI export purposes |
UseDTD |
Boolean |
Read/Write Indicates if a DTD is to be used when exporting XMI |
Version |
String |
Read/Write The version of the package |
XMLPath |
String |
Read/Write The path to where the XML is saved when using controlled packages |
Package Methods
Method |
Type |
Notes |
---|---|---|
ApplyGroupLock (string aGroupName) |
Boolean |
Applies a group lock to the package object, for the specified group, on behalf of the current user Throws an exception if the operation fails; use GetLastError() to retrieve error information Parameter:
|
ApplyUserLock () |
Boolean |
Applies a user lock to the package object for the current user Throws an exception if the operation fails; use GetLastError() to retrieve error information |
Clone |
LDISPATCH |
Inserts a copy of the package into the same parent as the original package Returns the newly-created package |
FindObject (string DottedID) |
LPDISPATCH |
Returns a package, element, attribute or operation matching the parameter DottedID If the DottedID is not found, an error is returned: Can't find matching object Parameter:
|
GetLastError () |
String |
Returns a string value describing the most recent error that occurred in relation to this object This function is rarely used as an exception is thrown when an error occurs |
ReleaseUserLock () |
Boolean |
Removes an existing User or Group lock from the package object Throws an exception if the operation fails; use GetLastError( ) to retrieve error information |
Update () |
Boolean |
Update the current package object after modification or appending a new item If false is returned, check the GetLastError function for more information Note that a package object also has an element component that must be taken into account; the package object contains information about the package attributes such as hierarchy or contents The element attribute contains information about, for example, Stereotype, Constraints or Files - all the attributes of a typical element |
VersionControlAdd (string ConfigGuid, string XMLFile, string Comment, boolean KeepCheckedOut) |
Void |
Places the package under version control, using the specified Version Control Configuration and the specified XMI filename Throws an exception if the operation fails; use GetLastError( ) to retrieve error information It is recommended that the package be saved using Update() before calling VersionControlAdd(), so that any outstanding changes are not lost Parameters:
|
VersionControlCheckin (string Comment) |
Void |
Perform checkin of the version controlled package (also see VersionControlCheckinEx, below) Throws an exception if the operation fails; use GetLastError( ) to retrieve error information Parameters:
|
VersionControlCheckinEx (string Comment, boolean PreserveCrossPkgRefs) |
Void |
Perform checkin of the version controlled package Throws an exception if the operation fails; use GetLastError( ) to retrieve error information. Parameters:
|
VersionControlCheckout (string Comment) |
Void |
Perform checkout of the version controlled package Throws an exception if the operation fails; use GetLastError( ) to retrieve error information Parameters:
When working in an environment that uses a Private Model deployment and your model contains a significant number of cross-package references, it is recommended that you invoke the Repository.ScanXMIAndReconcile( ) method from time to time, following the re-importation of controlled packages - for example, after using Package.VersionControlGetLatest( ) to update a number of packages, or after performing a number of package check-outs |
VersionControlGetLatest (boolean ForceImport) |
Void |
Updates the local working copy of the package file associated with the object package, before re-importing the package data from the package file Parameters:
See also the version control menu option Get Latest When working in an environment that uses a Private Model deployment and your model contains a significant number of cross-package references, it is recommended that you invoke the Repository.ScanXMIAndReconcile( ) method from time to time, following the re-importation of controlled packages - for example, after using Package.VersionControlGetLatest( ) to update a number of packages, or after performing a number of package check-outs |
VersionControlGetStatus () |
Long |
Returns the version control status of the package, as recorded in the current Enterprise Architect project database Throws an exception if the operation fails; use GetLastError( ) to retrieve error information Return value maps to the following enumerated type: enum EnumCheckOutStatus csUncontrolled - Either unable to communicate with the version control provider associated with the package or the package file is unknown to the provider csCheckedIn - The package is not checked-out to anybody in the current project database csCheckedOutToThisUser - The package is marked as checked-out to the current user, in the current project database csReadOnlyVersion - Package is marked as read-only; an earlier revision of the package has been retrieved from version control csCheckedOutToAnotherUser - The package is marked as checked-out in the current project database, by a user other than the current user csOfflineCheckedIn - The package is not checked-out to anybody in the current project database; however, the version control configuration associated with the package was unable to connect to the VC server csCheckedOutOfflineByUser - Indicates that the package was 'checked out' in this database, by this user, whilst disconnected from version control csCheckedOutOfflineByOther - Indicates that the package was checked out in this project database, by another user, whilst disconnected from version control csDeleted - The package file has been deleted from version control |
VersionControlPutLatest (string CheckInComment) |
Void |
Perform a checkin of the version controlled package, whilst keeping the package checked-out. Throws an exception if the operation fails. Use GetLastError( ) to retrieve error information. When a package that was previously marked as Checked Out Offline, is successfully 'Put' (checkedin) to version control, that package's flags are updated to clear the Checked Out Offline indicator. Parameters:
|
VersionControlRemove () |
Void |
Removes version control from the package. Throws an exception if the operation fails. Use GetLastError( ) to retrieve error information. |
VersionControlResynchPkgStatus (boolean ClearSettings) |
|
Synchronizes the version control status of the single object package recorded in your current model with the package status reported by your version control provider. Parameters:
|
Learn More:
- Repository Models
- Package Packages
- Version Control - Get Latest
- Resynchronize the Status of Version Controlled Packages
- Preserving Cross Package References