Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
)
StateInvariant.invariant = association(
"invariant", Constraint, lower=1, upper=1, composite=True
)
Lifeline.coveredBy = association("coveredBy", InteractionFragment, opposite="covered")
InteractionFragment.covered = association(
"covered", Lifeline, lower=1, upper=1, opposite="coveredBy"
)
Lifeline.interaction = association(
"interaction", Interaction, lower=1, upper=1, opposite="lifeline"
)
Interaction.lifeline = association(
"lifeline", Lifeline, composite=True, opposite="interaction"
)
# 'Lifeline.discriminator' is a simple attribute
Lifeline.discriminator = attribute("discriminator", str)
# 'Message.argument' is a simple attribute
Message.argument = attribute("argument", str)
Message.signature = association("signature", NamedElement, upper=1)
MessageEnd.sendMessage = association(
"sendMessage", Message, upper=1, opposite="sendEvent"
)
Message.sendEvent = association(
"sendEvent", MessageEnd, upper=1, composite=True, opposite="sendMessage"
)
MessageEnd.receiveMessage = association(
"receiveMessage", Message, upper=1, opposite="receiveEvent"
)
Message.receiveEvent = association(
"receiveEvent", MessageEnd, upper=1, composite=True, opposite="receiveMessage"
)
Message.interaction = association(
Classifier.isAbstract = attribute("isAbstract", int, default=False)
Parameter.direction = enumeration("direction", ("inout", "in", "out", "return"), "in")
Operation.isQuery = attribute("isQuery", int, default=False)
Property.aggregation = enumeration(
"aggregation", ("none", "shared", "composite"), "none"
)
Property.isDerivedUnion = attribute("isDerivedUnion", int, default=False)
Property.isDerived = attribute("isDerived", int, default=False)
Property.isReadOnly = attribute("isReadOnly", int, default=False)
# 102: override Property.navigability: property
Property.navigability = property(
overrides.property_navigability, doc=overrides.property_navigability.__doc__
)
Behavior.isReentrant = attribute("isReentrant", int)
BehavioralFeature.isAbstract = attribute("isAbstract", int)
Action.effect = attribute("effect", str)
Comment.body = attribute("body", str)
PackageImport.visibility = enumeration(
"visibility", ("public", "private", "package", "protected"), "public"
)
# 120: override Message.messageKind: property
Message.messageKind = property(
overrides.message_messageKind, doc=overrides.message_messageKind.__doc__
)
Message.messageSort = enumeration(
"messageSort",
(
"synchCall",
"asynchCall",
"asynchSignal",
)
Package.appliedProfile = association(
"appliedProfile", ProfileApplication, composite=True
)
Activity.node = association("node", ActivityNode, composite=True)
# 'Parameter.defaultValue' is a simple attribute
Parameter.defaultValue = attribute("defaultValue", str)
Class.nestedClassifier = association("nestedClassifier", Classifier, composite=True)
# 'Slot.value' is a simple attribute
Slot.value = attribute("value", str)
Include.addition = association("addition", UseCase, lower=1, upper=1)
Realization.realizingClassifier = association(
"realizingClassifier", Classifier, lower=1, upper=1
)
# 'TypedElement.typeValue' is a simple attribute
TypedElement.typeValue = attribute("typeValue", str)
Constraint.constrainedElement = association("constrainedElement", Element)
PackageMerge.mergedPackage = association("mergedPackage", Package, lower=1, upper=1)
BehavioralFeature.formalParameter = association(
"formalParameter", Parameter, composite=True, opposite="ownerFormalParam"
)
Parameter.ownerFormalParam = association(
"ownerFormalParam", BehavioralFeature, upper=1, opposite="formalParameter"
)
Class.ownedAttribute = association(
"ownedAttribute", Property, composite=True, opposite="class_"
)
Property.class_ = association("class_", Class, upper=1, opposite="ownedAttribute")
Extend.extendedCase = association("extendedCase", UseCase, lower=1, upper=1)
# 'Property.defaultValue' is a simple attribute
Property.defaultValue = attribute("defaultValue", str)
Namespace.ownedRule = association("ownedRule", Constraint, composite=True)
)
ObjectNode.isControlType = attribute("isControlType", int, default=False)
StructuralFeature.isReadOnly = attribute("isReadOnly", int, default=False)
NamedElement.visibility = enumeration(
"visibility", ("public", "private", "package", "protected"), "public"
)
NamedElement.name = attribute("name", str)
# 48: override NamedElement.qualifiedName: property
NamedElement.qualifiedName = property(
overrides.namedelement_qualifiedname,
doc=overrides.namedelement_qualifiedname.__doc__,
)
Component.isIndirectlyInstantiated = attribute(
"isIndirectlyInstantiated", int, default=True
)
Association.isDerived = attribute("isDerived", int, default=False)
PackageableElement.visibility = enumeration(
"visibility", ("public", "private", "package", "protected"), "public"
)
ElementImport.visibility = enumeration(
"visibility", ("public", "private", "package", "protected"), "public"
)
ElementImport.alias = attribute("alias", str)
MultiplicityElement.isUnique = attribute("isUnique", int, default=True)
MultiplicityElement.isOrdered = attribute("isOrdered", int, default=True)
Activity.body = attribute("body", str)
Activity.language = attribute("language", str)
Classifier.isAbstract = attribute("isAbstract", int, default=False)
Parameter.direction = enumeration("direction", ("inout", "in", "out", "return"), "in")
"deepHistory",
"shallowHistory",
"join",
"fork",
"junction",
"choice",
"entryPoint",
"exitPoint",
"terminate",
),
"initial",
)
Port.isBehavior = attribute("isBehavior", int)
Port.isService = attribute("isService", int)
ActivityPartition.isDimension = attribute("isDimension", int, default=False)
ActivityPartition.isExternal = attribute("isExternal", int, default=False)
AcceptEventAction.isUnmarshall = attribute("isUnmarshall", int, default=False)
Operation.precondition = association("precondition", Constraint, composite=True)
Package.ownedDiagram = association(
"ownedDiagram", Diagram, composite=True, opposite="package"
)
Diagram.package = association("package", Package, upper=1, opposite="ownedDiagram")
Package.nestedPackage = association(
"nestedPackage", Package, composite=True, opposite="package"
)
Package.package = association("package", Package, upper=1, opposite="nestedPackage")
NamedElement.clientDependency = association(
"clientDependency", Dependency, opposite="client"
)
Dependency.client = association(
"client", NamedElement, lower=1, opposite="clientDependency"
)
"memberEnd", Property, lower=2, composite=True, opposite="association"
)
Classifier.generalization = association(
"generalization", Generalization, composite=True, opposite="specific"
)
Generalization.specific = association(
"specific", Classifier, lower=1, upper=1, opposite="generalization"
)
Realization.abstraction = association(
"abstraction", Component, upper=1, opposite="realization"
)
Component.realization = association(
"realization", Realization, composite=True, opposite="abstraction"
)
# 'ValuePin.value_' is a simple attribute
ValuePin.value_ = attribute("value_", str)
BehavioralFeature.raisedException = association("raisedException", Type)
Activity.action = association("action", Action, composite=True)
# 'Abstraction.mapping' is a simple attribute
Abstraction.mapping = attribute("mapping", str)
ActivityNode.incoming = association("incoming", ActivityEdge, opposite="target")
ActivityEdge.target = association(
"target", ActivityNode, lower=1, upper=1, opposite="incoming"
)
Extend.extensionLocation = association("extensionLocation", ExtensionPoint, lower=1)
Property.interface_ = association(
"interface_", Interface, upper=1, opposite="ownedAttribute"
)
Interface.ownedAttribute = association(
"ownedAttribute", Property, composite=True, opposite="interface_"
)
ActivityGroup.edgeContents = association(
@represents(UML.Artifact)
class ArtifactItem(ElementPresentation, Classified):
def __init__(self, id=None, model=None):
super().__init__(id, model)
self.watch("show_stereotypes", self.update_shapes)
self.watch("subject[NamedElement].name")
self.watch("subject.appliedStereotype", self.update_shapes)
self.watch("subject.appliedStereotype.classifier.name")
self.watch("subject.appliedStereotype.slot", self.update_shapes)
self.watch("subject.appliedStereotype.slot.definingFeature.name")
self.watch("subject.appliedStereotype.slot.value", self.update_shapes)
show_stereotypes = UML.properties.attribute("show_stereotypes", int)
def update_shapes(self, event=None):
self.shape = Box(
Box(
Text(
text=lambda: UML.model.stereotypes_str(self.subject),
style={"min-width": 0, "min-height": 0},
),
EditableText(
text=lambda: self.subject.name or "",
style={"font-weight": FontWeight.BOLD},
),
style={"padding": (4, 34, 4, 4), "min-height": 44},
draw=draw_artifact_icon,
),
*(self.show_stereotypes and stereotype_compartments(self.subject) or []),
"kind",
(
"initial",
"deepHistory",
"shallowHistory",
"join",
"fork",
"junction",
"choice",
"entryPoint",
"exitPoint",
"terminate",
),
"initial",
)
Port.isBehavior = attribute("isBehavior", int)
Port.isService = attribute("isService", int)
ActivityPartition.isDimension = attribute("isDimension", int, default=False)
ActivityPartition.isExternal = attribute("isExternal", int, default=False)
AcceptEventAction.isUnmarshall = attribute("isUnmarshall", int, default=False)
Operation.precondition = association("precondition", Constraint, composite=True)
Package.ownedDiagram = association(
"ownedDiagram", Diagram, composite=True, opposite="package"
)
Diagram.package = association("package", Package, upper=1, opposite="ownedDiagram")
Package.nestedPackage = association(
"nestedPackage", Package, composite=True, opposite="package"
)
Package.package = association("package", Package, upper=1, opposite="nestedPackage")
NamedElement.clientDependency = association(
"clientDependency", Dependency, opposite="client"
)
overrides.namedelement_qualifiedname,
doc=overrides.namedelement_qualifiedname.__doc__,
)
Component.isIndirectlyInstantiated = attribute(
"isIndirectlyInstantiated", int, default=True
)
Association.isDerived = attribute("isDerived", int, default=False)
PackageableElement.visibility = enumeration(
"visibility", ("public", "private", "package", "protected"), "public"
)
ElementImport.visibility = enumeration(
"visibility", ("public", "private", "package", "protected"), "public"
)
ElementImport.alias = attribute("alias", str)
MultiplicityElement.isUnique = attribute("isUnique", int, default=True)
MultiplicityElement.isOrdered = attribute("isOrdered", int, default=True)
Activity.body = attribute("body", str)
Activity.language = attribute("language", str)
Classifier.isAbstract = attribute("isAbstract", int, default=False)
Parameter.direction = enumeration("direction", ("inout", "in", "out", "return"), "in")
Operation.isQuery = attribute("isQuery", int, default=False)
Property.aggregation = enumeration(
"aggregation", ("none", "shared", "composite"), "none"
)
Property.isDerivedUnion = attribute("isDerivedUnion", int, default=False)
Property.isDerived = attribute("isDerived", int, default=False)
Property.isReadOnly = attribute("isReadOnly", int, default=False)
# 102: override Property.navigability: property
Property.navigability = property(
overrides.property_navigability, doc=overrides.property_navigability.__doc__
"subject.appliedStereotype", self.update_shapes
).watch(
"subject.appliedStereotype.classifier.name"
).watch(
"subject.appliedStereotype.slot", self.update_shapes
).watch(
"subject.appliedStereotype.slot.definingFeature.name"
).watch(
"subject.appliedStereotype.slot.value", self.update_shapes
).watch(
"subject[Interface].supplierDependency", self.update_shapes
)
attribute_watches(self, "Interface")
operation_watches(self, "Interface")
show_stereotypes = UML.properties.attribute("show_stereotypes", int)
show_attributes = UML.properties.attribute("show_attributes", int, default=True)
show_operations = UML.properties.attribute("show_operations", int, default=True)
def load(self, name, value):
if name == "folded":
self._folded = Folded(ast.literal_eval(value))
else:
super().load(name, value)
def save(self, save_func):
super().save(save_func)
save_func("folded", self._folded.value)
def _set_folded(self, folded):