预订演示

请注意 : 本帮助页面不适用于最新版本的Enterprise Architect. 最新的帮助文档在这里.

前页 后页

包类

A Package object corresponds to a Package element in the Enterprise Architect Browser window. Packages can be accessed either through the Repository Models collection (a Model is a special form of Package) or through the 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 repository

t_package

Learn more

Package Attributes

Attribute

Remarks

See also

Alias

String
Notes: Read only
Alias

BatchLoad

Long
Notes: Read/Write
Flag to indicate that the Package is batch loaded during batch import from controlled Packages.
Not currently used.

BatchSave

Long
Notes: Read/Write
Boolean value to indicate whether the Package is included in the batch XMI export list or not.

CodePath

String
Notes: Read/Write
The path where associated source code is found.
Not currently used.

Connectors

Collection
Notes: Read only
The collection of connectors.
Collection Class

Created

Date
Notes: Read/Write
Date the Package was created.

Diagrams

Collection
Notes: Read only
A collection of diagrams contained in this Package.
Collection Class

Element

Element
Notes: Read only
The associated element object; use to get/set common information such as Stereotype, Complexity, Alias, Author, Constraints, Tagged Values and Scenarios.
Element Class

Elements

Collection
Notes: Read only
A collection of elements that belong to this Package.
Collection Class

Flags

String
Notes: Read/Write
Extended information about the Package.

IsControlled

Boolean
Notes: Read/Write
Indicates if the Package has been marked as Controlled.

IsModel

Boolean
Notes: Read only
Indicates if the Package is a model or a Package.

IsNamespace

Boolean
Notes: Read/Write
True indicates that 'Package is a Namespace root'.
Use 0 and 1 to set False and True.

IsProtected

Boolean
Notes: Read/Write
Indicates if the Package has been marked as 'Protected'.

IsVersionControlled

Boolean
Notes: Read only
Indicates whether or not this Package is under Version Control.

LastLoadDate

Date
Notes: Read/Write
The date XML was last loaded for the Package.

LastSaveDate

Date
Notes: Read/Write
The date XML was last saved from the Package.

LogXML

Boolean
Notes: Read/Write
Indicates if XMI export information is to be logged.

Modified

Date
Notes: Read/Write
Date the Package was last modified.

Name

String
Notes: Read/Write
The name of the Package.

Notes

String
Notes: Read/Write
Notes about this Package.

ObjectType

ObjectType
Notes: Read only
Distinguishes objects referenced through a Dispatch interface.
ObjectType

Owner

String
Notes: Read/Write.
The Package owner when using controlled Packages.

PackageGUID

Variant
Notes: Read only
The global Package ID; valid across models.

PackageID

Long
Notes: Read only
The local Package ID number.
Valid only in this model file.

Packages

Collection
Notes: Read only
A collection of contained Packages that can be walked through.
Collection Class

ParentID

Long
Notes: Read/Write
The ID of the Package that is the parent of this one.
0 indicates that this Package is a model (that is, it has no parent).

StereotypeEx

String
Notes: Read/Write
All the applied stereotypes of the element in a comma-separated list. Reading the value will provide the stereotype name only; assigning the value accepts either fully-qualified or simple names.
When setting this attribute, LastError (from the GetLastError method) will be non-empty on error.

TreePos

Long
Notes: Read/Write
The relative position in the tree compared to other Packages (use to sort Packages).

TypeInfoProperties

Notes: Read only
Returns an interface pointer of TypeInfoProperties.
TypeInfoProperties Class

UMLVersion

String
Notes: Read/Write
The UML version for XMI export purposes.

UseDTD

Boolean
Notes: Read/Write
Indicates if a DTD is to be used when exporting XMI.

Version

String
Notes: Read/Write
The version of the Package.

XMLPath

String
Notes: Read/Write
The path to which the XML is saved when using controlled Packages.

Package Methods

Method

Remarks

See also

ApplyGroupLock (string aGroupName)

Boolean
Notes: Applies a group lock to the Package object, for the specified group, on behalf of the current user. User Security applies to the use of this function; if the user does not have permission to apply or release locks on elements, diagrams and Packages, the operation will fail.
Returns True if the operation is successful; returns False if the operation is unsuccessful. Use GetLastError() to retrieve error information.
Parameters:

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

ApplyGroupLockRecursive (string aGroupName, boolean IncludeElements, boolean IncludeDiagrams, boolean IncludeSubPackages)

Boolean
Notes: Applies a group lock to the Package object, object, and all of the Package, diagrams and elements contained within that Package, for the specified group, on behalf of the current user. User Security applies to the use of this function; if the user does not have permission to apply or release locks on elements, diagrams and Packages, the operation will fail.
Returns True if the operation is successful; returns False if the operation is unsuccessful. Use 'GetLastError()' to retrieve error information.
Parameters

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



  • IncludeElements: Boolean - Recursively apply group lock to child elements



  • IncludeDiagrams: Boolean - Recursively apply group lock to child diagrams



  • IncludeSubPackages: Boolean - Recursively apply group lock to child Packages

ApplyUserLock ()

Boolean
Notes: Applies a user lock to the Package object for the current user. User Security applies to the use of this function; if the user does not have permission to apply or release locks on elements, diagrams and Packages, the operation will fail.
Returns True if the operation is successful; returns False if the operation is unsuccessful. Use 'GetLastError()' to retrieve error information.

ApplyUserLockRecursive (boolean IncludeElements, boolean IncludeDiagrams, boolean IncludeSubPackages)

Boolean
Notes: Applies user locks to the Package object, and all of the Packages, diagrams and elements contained within that Package. User Security applies to the use of this function; if the user does not have permission to apply or release locks on elements, diagrams and Packages, the operation will fail.
Returns True if the operation is successful; returns False if the operation is unsuccessful. Use GetLastError() to retrieve error information.
Parameters

  • IncludeElements: Boolean - Recursively apply user lock to child elements

  • IncludeDiagrams: Boolean - Recursively apply user lock to child diagrams

  • IncludeSubPackages: Boolean - Recursively apply user lock to child Packages

Clone

LDISPATCH
Notes: Inserts a copy of the Package into the same parent as the original Package.
Returns the newly-created Package.

FindObject (string DottedID)

LPDISPATCH
Notes: 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.
Parameters

  • 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
Notes: Returns a string value describing the most recent error that occurred in relation to this object.

GetTXAlias (string Code, long Flag)

String
Notes: Returns the Alias of the element for a given language.
Parameters

  • Code: String - Two-letter language code (found on the 'Translations' page of the 'Manage Model Options' dialog)

  • Flag: Long
         -  0 = Get the currently-stored translated Alias
         -  1 = Get the currently-stored translated Alias, and auto translate if the original Alias has changed
         -  2 = Always fetch the translated Alias from online

Translate Page

GetTXNote (string Code, long Flag)

String
Returns the Notes of the element for a given language.
Parameters

  • Code: String - Two-letter language code (found on the 'Translations' page of the 'Manage Model Options' dialog)



  • Flag: Long
        -  0 = Get the currently-stored translated Notes
        -  1 = Get the currently-stored translated Notes, and auto translate if the original Notes have changed
        -  2 = Always fetch the translated Notes from online

Translate Page

SetTXAlias (string Code, string Translation)

String
Notes - Set the translated Alias of the element for a given language.

  • Code: String - Two-letter language code (found on the 'Translations' page of the 'Manage Model Options' dialog)

  • Translation: String - The translated Alias

Translate Page

SetTXName (string Code, string Translation)

String
Notes - Set the translated name of the element for a given language.

  • Code: String - Two-letter language code (found on the 'Translations' page of the 'Manage Model Options' dialog)

  • Translation: String - The translated name

Translate Page

SetTXNote (string Code, string Translation)

String
Notes - Set the translated Notes of the element for a given language.

  • Code: String - Two-letter language code (found on the 'Translations' page of the 'Manage Model Options' dialog)

  • Translation: String - The translated Notes

Translate Page

GetTXName (string Code, long Flag)

String
Notes: Returns the name of the element for a given language.
Parameters

  • Code: String - Two-letter language code (found on the 'Translations' page of the 'Manage Model Options' dialog)

  • Flag: Long
         -  0 = Get the currently-stored translated name
         -  1 = Get the currently-stored translated name, and auto translate if the original name has changed
         -  2 = Always fetch the translated name from online

Translate Page

ReleaseUserLock ()

Boolean
Notes: Releases user locks and group locks from the Package object, and all of the Packages, diagrams and elements contained within that Package. User Security applies to the use of this function; if the user does not have permission to apply or release locks on elements, diagrams and Packages, the operation will fail.
Returns True if the operation is successful; returns False if the operation is unsuccessful. Use GetLastError() to retrieve error information.

ReleaseUserLockRecursive (boolean IncludeElements,
boolean IncludeDiagrams,
boolean IncludeSubPackages)

Boolean
Notes: Releases user locks from the Package object, and all of the Packages, diagrams and elements contained within that Package. User Security applies to the use of this function; if the user does not have permission to apply or release locks on elements, diagrams and Packages, the operation will fail.
Returns True if the operation is successful; returns False if the operation is unsuccessful. Use GetLastError() to retrieve error information.
Parameters
IncludeElements: Boolean - Recursively release user locks from child elements
IncludeDiagrams: Boolean - Recursively release user locks from child diagrams
IncludeSubPackages: Boolean - Recursively release user locks from child Packages

SetReadOnly (boolean ReadOnly, boolean IncludeSubPkgs)

Void
Notes: Sets a Package Flag to mark a Package as ReadOnly=1.
If Project Security is enabled, the user must have 'Configure Packages' permission to use this method.
Throws an exception if the operation fails due to the user not having 'Configure Packages' permission; use 'GetLastError()' to retrieve error information.
Parameters

  • ReadOnly: Boolean - Sets or clears the Read Only flag on the Package(s); if:


                             False, any Read Only flag is removed from the Package
                            True, a Read Only flag is applied to the Package

  • IncludeSubPkgs: Boolean - Indicates whether to set/reset the Read Only flag on just the object Package, or on the object Package and all of the nested sub-Packages that it contains; if:


                             False, only the flag on the object Package is set or cleared
                            True, flags are set (or cleared, according to the ReadOnly parameter) for the object Package plus all of the nested sub-Packages that it contains
When working with Version Controlled Packages, the Read Only flag can be applied to Packages whether they are checked-in or checked-out.
User Security applies to setting this flag - if you are prevented from editing the Package, you are also prevented from setting the flag.

Update ()

Boolean
Notes: Updates 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, Stereotypes, Constraints or Files - all the attributes of a typical element.

VersionControlAdd (string ConfigGuid, string XMLFile, string Comment, boolean KeepCheckedOut)

Void
Notes: 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 the Package checked-out

VersionControlCheckin (string Comment)

Void
Notes: Perform checkin of the Version Controlled Package (also see VersionControlCheckinEx).
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)

VersionControlCheckinEx (string Comment, boolean PreserveCrossPkgRefs)

Void
Notes: Perform check-in 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)

  • PreserveCrossPkgRefs: Boolean - Flag to indicate whether to preserve or discard pre-existing Cross Package References when checking-in; this parameter overrides the setting in the 'Preferences' dialog, 'XML Specifications' page
    Unsatisfied cross-Package references are preserved or discarded according to this setting, without prompting the user; see Learn more

VersionControlCheckout (string Comment)

Void
Notes: 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)


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
Notes: 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, the system re-imports the Package from the Package file regardless


See also the menu option 'Version Control | 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
Notes: Returns the Version Control status of the Package, as recorded in the current project database.
Throws an exception if the operation fails; use GetLastError() to retrieve error information.
Return value maps to this 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

  • 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 - The Package is marked as read-only; an earlier revision of the Packagehas 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 - The Package was 'checked out' in this database, by this user, whilst disconnected from Version Control

  • csCheckedOutOfflineByOther - 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
Notes: 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
Notes: Removes Version Control from the Package.
Throws an exception if the operation fails; use 'GetLastError()' to retrieve error information.

VersionControlResynchPkgStatus (boolean ClearSettings)

Notes: 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