Package

public 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 DiagramObjects collection 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 to where associated source code is found. Not currently used.

Connectors

Collection

Read only. Collection of connectors.

Created

Date

Read/Write. Date the package was created.

Diagrams

Collection

Read only. A collection of diagrams contained in this package.

Element

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

Collection

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. 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

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.

Packages

Collection

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:

  • aGroupName: String - The name of the security group for which to apply the lock.

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:

  • DottedID: String - Is in the form object.object.object where object is replaced by the name of a package, element attribute or operation. Examples include MyNamespace.Class1, CStudent.m_Name, MathClass.DoubleIt(int).

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:

  • ConfigGuid: String - Name corresponding to the Unique ID of the version control configuration to use.
  • XMLFile: String - Name of the XML file to use for this package. This filename is relative to the Working Copy folder specified for the Config.
  • Comment: String - Log message that is added to the version controlled file's history (where applicable).
  • KeepCheckedOut: Boolean - Specify True to add to version control and keep package checked-out.

VersionControlCheckin (string Comment)

Void

Perform checkin of the version controlled package.

Throws an exception if the operation fails. Use GetLastError( ) to retrieve error information.

Parameters:

  • Comment: String - Log message that is added to the version controlled file's history (where applicable).

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:

  • Comment: String - Log message that is added to the version controlled file's history (where applicable).

VersionControlGetLatest (boolean ForceImport)

 

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:

  • ForceImport: Boolean - Used if the package data in the model is found to be up-to-date with respect to the version controlled package file. If:
  • False, the package data that exists in the model is accepted as being up-to-date and no attempt is made to re-import data from the package file
  • True, Enterprise Architect re-imports the package from the package file regardless.

See also the version control menu option Get Latest.

VersionControlGetStatus ()

Long

Returns the version control status of the package. Throws an exception if the operation fails. Use GetLastError( ) to retrieve error information.

Return value maps to the following enumerated type:

enum EnumCheckOutStatus
{
    csUncontrolled = 0,
    csCheckedIn,
    csCheckedOutToThisUser,
    csReadOnlyVersion,
    csCheckedOutToAnotherUser,
    csOfflineCheckedIn,
    csCheckedOutOfflineByUser,
    csCheckedOutOfflineByOther,
    csDeleted,
};

csUncontrolled - Either unable to communicate with the version control provider associated with the package or the package file is unknown to the provider.

csReadOnlyVersion - Package is marked as read-only. An earlier revision of the package has been retrieved from version control.

csOfflineCheckedOutToThisUser - Indicates that the package was 'checked out' by this user whilst disconnected from version control.

csOfflineNotCheckedOutToThisUser - Indicates that Enterprise Architect can not currently connect to the version control config and the package was not previously checked out to this user.

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:

  • Comment: String - Log message added to the version controlled file's history (where applicable).

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:

  • ClearSettings: Boolean - used if the package file associated with the specified package is reported by the version control provider as uncontrolled. If ClearSettings is:
  • True, the version control settings are cleared from the package
  • False, the version control settings remain unchanged.