Interface IPackage
The public interface for Package
[DefaultImplementationType(typeof(Package))]
[XmlDefaultImplementationType(typeof(Package))]
[ModelRepresentationClass("http://www.omg.org/spec/MOF/20131001/cmof.xmi#//Package")]
public interface IPackage : IPackageableElement, INamespace, INamedElement, IElement, IObject, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
NestedPackage
References the packaged elements that are Packages.
[Browsable(false)]
[XmlElementName("nestedPackage")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("nestingPackage")]
IOrderedSetExpression<IPackage> NestedPackage { get; }
Property Value
NestingPackage
References the Package that owns this Package.
[Browsable(false)]
[XmlElementName("nestingPackage")]
[XmlAttribute(true)]
[XmlOpposite("nestedPackage")]
IPackage NestingPackage { get; set; }
Property Value
OwnedType
References the packaged elements that are Types.
[Browsable(false)]
[XmlElementName("ownedType")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("package")]
IOrderedSetExpression<IType> OwnedType { get; }
Property Value
PackageMerge
References the PackageMerges that are owned by this Package.
[Browsable(false)]
[XmlElementName("packageMerge")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("receivingPackage")]
IOrderedSetExpression<IPackageMerge> PackageMerge { get; }
Property Value
PackagedElement
Specifies the packageable elements that are owned by this Package.
[Browsable(false)]
[XmlElementName("packagedElement")]
[XmlAttribute(false)]
[Containment]
IListExpression<IPackageableElement> PackagedElement { get; }
Property Value
URI
Provides an identifier for the package that can be used for many purposes. A URI is the universally unique identification of the package following the IETF URI specification, RFC 2396 http://www.ietf.org/rfc/rfc2396.txt and it must comply with those syntax rules.
[XmlAttribute(true)]
string URI { get; set; }
Property Value
Methods
Elements_public_or_private(object, object)
If an element that is owned by a package has visibility, it is public or private. self.ownedElements->forAll(e | e.visibility->notEmpty() implies e.visbility = #public or e.visibility = #private)
bool Elements_public_or_private(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
MakesVisible(INamedElement)
The query makesVisible() defines whether a Package makes an element visible outside itself. Elements with no visibility and elements with public visibility are made visible. result = (ownedMember->includes(el)) or (elementImport->select(ei|ei.importedElement = #public)->collect(ei|ei.importedElement)->includes(el)) or (packageImport->select(pi|pi.visibility = #public)->collect(pi|pi.importedPackage.member->includes(el))->notEmpty()) self.member->includes(el)
bool MakesVisible(INamedElement el)
Parameters
Returns
VisibleMembers()
The query visibleMembers() defines which members of a Package can be accessed outside it. result = member->select( m | self.makesVisible(m))
ISetExpression<IPackageableElement> VisibleMembers()