Interface IPackage
The public interface for Package
[DefaultImplementationType(typeof(Package))]
[XmlDefaultImplementationType(typeof(Package))]
[ModelRepresentationClass("http://schema.omg.org/spec/MOF/2.0/cmof.xml#//Package")]
public interface IPackage : IPackageableElement, INamespace, INamedElement, IElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
NestedPackage
References the owned members that are Packages. Subsets Package::ownedMember and redefines Basic::Package::nestedPackage. The set of contained packages.
[Browsable(false)]
[XmlElementName("nestedPackage")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("nestingPackage")]
IOrderedSetExpression<IPackage> NestedPackage { get; }
Property Value
NestingPackage
References the owning package of a package. Subsets NamedElement::namespace and redefines Basic::Package::nestingPackage. The containing package.
[Browsable(false)]
[XmlElementName("nestingPackage")]
[XmlAttribute(true)]
[XmlOpposite("nestedPackage")]
IPackage NestingPackage { get; set; }
Property Value
OwnedMember
Specifies the members that are owned by this Package. Redefines Namespace::ownedMember.
[Browsable(false)]
[XmlElementName("ownedMember")]
[XmlAttribute(false)]
[Containment]
IListExpression<IPackageableElement> OwnedMember { get; }
Property Value
OwnedType
References the owned members that are Types. Subsets Package::ownedMember and redefines Basic::Package::ownedType. The set of contained 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. Subsets Element::ownedElement.
[Browsable(false)]
[XmlElementName("packageMerge")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("receivingPackage")]
IOrderedSetExpression<IPackageMerge> PackageMerge { get; }
Property Value
URI
The uRI property
[XmlElementName("uri")]
[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
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. self.member->includes(el) result = (ownedMember->includes(el)) or (elementImport-> select(ei|ei.visibility = #public)-> collect(ei|ei.importedElement)->includes(el)) or (packageImport-> select(pi|pi.visibility = #public)-> collect(pi| pi.importedPackage.member->includes(el))->notEmpty())
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()