Class AcceptEventAction
An AcceptEventAction is an Action that waits for the occurrence of one or more specific Events. <p>From package UML::Actions.</p>
[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//AcceptEventAction")]
public class AcceptEventAction : Action, IAcceptEventAction, IAction, IExecutableNode, IActivityNode, IActivityContent, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inheritance
-
AcceptEventAction
- Implements
- Derived
- Inherited Members
Constructors
AcceptEventAction()
Creates a new instance
public AcceptEventAction()
Properties
Children
Gets the child model elements of this model element
public override IEnumerableExpression<IModelElement> Children { get; }
Property Value
ClassInstance
Gets the Class model for this type
public static IClass ClassInstance { get; }
Property Value
IsUnmarshall
Indicates whether there is a single OutputPin for a SignalEvent occurrence, or multiple OutputPins for attribute values of the instance of the Signal associated with a SignalEvent occurrence. <p>From package UML::Actions.</p>
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isUnmarshall")]
[XmlAttribute(true)]
public bool IsUnmarshall { get; set; }
Property Value
ReferencedElements
Gets the referenced model elements of this model element
public override IEnumerableExpression<IModelElement> ReferencedElements { get; }
Property Value
Result
OutputPins holding the values received from an Event occurrence. <p>From package UML::Actions.</p>
[Browsable(false)]
[XmlElementName("result")]
[XmlAttribute(false)]
[Containment]
public IOrderedSetExpression<IOutputPin> Result { get; }
Property Value
Trigger
The Triggers specifying the Events of which the AcceptEventAction waits for occurrences. <p>From package UML::Actions.</p>
[LowerBound(1)]
[Browsable(false)]
[XmlElementName("trigger")]
[XmlAttribute(false)]
[Containment]
public IOrderedSetExpression<ITrigger> Trigger { get; }
Property Value
Methods
Conforming_type(object, object)
If isUnmarshall=false and all the triggers are for SignalEvents, then the type of the single result OutputPin must either be null or all the signals must conform to it. not isUnmarshall implies result->isEmpty() or let type: Type = result->first().type in type=null or (trigger->forAll(event.oclIsKindOf(SignalEvent)) and trigger.event.oclAsType(SignalEvent).signal->forAll(s | s.conformsTo(type)))
public bool Conforming_type(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
GetAttributeValue(string, int)
Resolves the given attribute name
protected override object GetAttributeValue(string attribute, int index)
Parameters
Returns
- object
The attribute value or null if it could not be found
GetClass()
Gets the Class for this model element
public override IClass GetClass()
Returns
GetCollectionForFeature(string)
Gets the Model element collection for the given feature
protected override IList GetCollectionForFeature(string feature)
Parameters
feature
stringThe requested feature
Returns
- IList
A non-generic list of elements
GetCompositionName(object)
Gets the property name for the given container
protected override string GetCompositionName(object container)
Parameters
container
objectThe container object
Returns
- string
The name of the respective container reference
GetExpressionForAttribute(string)
Gets the property expression for the given attribute
protected override INotifyExpression<object> GetExpressionForAttribute(string attribute)
Parameters
attribute
stringThe requested attribute in upper case
Returns
- INotifyExpression<object>
An incremental property expression
GetModelElementForReference(string, int)
Resolves the given URI to a child model element
protected override IModelElement GetModelElementForReference(string reference, int index)
Parameters
Returns
- IModelElement
The model element or null if it could not be found
GetRelativePathForNonIdentifiedChild(IModelElement)
Gets the relative URI fragment for the given child model element
protected override string GetRelativePathForNonIdentifiedChild(IModelElement element)
Parameters
element
IModelElementThe element that should be looked for
Returns
- string
A fragment of the relative URI
No_input_pins(object, object)
AcceptEventActions may have no input pins. input->size() = 0
public bool No_input_pins(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
No_output_pins(object, object)
There are no OutputPins if the trigger events are only ChangeEvents and/or CallEvents when this action is an instance of AcceptEventAction and not an instance of a descendant of AcceptEventAction (such as AcceptCallAction).
(self.oclIsTypeOf(AcceptEventAction) and
(trigger->forAll(event.oclIsKindOf(ChangeEvent) or
event.oclIsKindOf(CallEvent))))
implies output->size() = 0
public bool No_output_pins(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
One_output_pin(object, object)
If isUnmarshall=false and any of the triggers are for SignalEvents or TimeEvents, there must be exactly one result OutputPin with multiplicity 1..1. not isUnmarshall and trigger->exists(event.oclIsKindOf(SignalEvent) or event.oclIsKindOf(TimeEvent)) implies output->size() = 1 and output->first().is(1,1)
public bool One_output_pin(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
SetFeature(string, object)
Sets a value to the given feature
protected override void SetFeature(string feature, object value)
Parameters
Unmarshall_signal_events(object, object)
If isUnmarshall is true (and this is not an AcceptCallAction), there must be exactly one trigger, which is for a SignalEvent. The number of result output pins must be the same as the number of attributes of the signal. The type and ordering of each result output pin must be the same as the corresponding attribute of the signal. The multiplicity of each result output pin must be compatible with the multiplicity of the corresponding attribute. isUnmarshall and self.oclIsTypeOf(AcceptEventAction) implies trigger->size()=1 and trigger->asSequence()->first().event.oclIsKindOf(SignalEvent) and let attribute: OrderedSet(Property) = trigger->asSequence()->first().event.oclAsType(SignalEvent).signal.allAttributes() in attribute->size()>0 and result->size() = attribute->size() and Sequence{1..result->size()}->forAll(i | result->at(i).type = attribute->at(i).type and result->at(i).isOrdered = attribute->at(i).isOrdered and result->at(i).includesMultiplicity(attribute->at(i)))
public bool Unmarshall_signal_events(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.