Table of Contents

Interface IOperation

Namespace
NMF.Interop.Cmof
Assembly
NMF.UMLInterop.dll

The public interface for Operation

[DefaultImplementationType(typeof(Operation))]
[XmlDefaultImplementationType(typeof(Operation))]
[ModelRepresentationClass("http://www.omg.org/spec/MOF/20131001/cmof.xmi#//Operation")]
public interface IOperation : IBehavioralFeature, IFeature, IRedefinableElement, INamespace, INamedElement, IElement, IObject, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inherited Members

Properties

BodyCondition

An optional Constraint on the result values of an invocation of this Operation.

[Browsable(false)]
[XmlElementName("bodyCondition")]
[XmlAttribute(false)]
[Containment]
IConstraint BodyCondition { get; set; }

Property Value

IConstraint

Class

The class that owns the operation.

[Browsable(false)]
[XmlElementName("class")]
[XmlAttribute(true)]
[XmlOpposite("ownedOperation")]
IClass Class { get; set; }

Property Value

IClass

Datatype

The DataType that owns this Operation.

[Browsable(false)]
[XmlElementName("datatype")]
[XmlAttribute(true)]
[XmlOpposite("ownedOperation")]
IDataType Datatype { get; set; }

Property Value

IDataType

IsQuery

Specifies whether an execution of the BehavioralFeature leaves the state of the system unchanged (isQuery=true) or whether side effects may occur (isQuery=false).

[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isQuery")]
[XmlAttribute(true)]
bool IsQuery { get; set; }

Property Value

bool

Postcondition

An optional set of Constraints specifying the state of the system when the Operation is completed.

[Browsable(false)]
[XmlElementName("postcondition")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<IConstraint> Postcondition { get; }

Property Value

IOrderedSetExpression<IConstraint>

Precondition

An optional set of Constraints on the state of the system when the Operation is invoked.

[Browsable(false)]
[XmlElementName("precondition")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<IConstraint> Precondition { get; }

Property Value

IOrderedSetExpression<IConstraint>

RedefinedOperation

References the Operations that are redefined by this Operation.

[XmlElementName("redefinedOperation")]
[XmlAttribute(true)]
ISetExpression<IOperation> RedefinedOperation { get; }

Property Value

ISetExpression<IOperation>

Methods

At_most_one_return(object, object)

An operation can have at most one return parameter; i.e., an owned parameter with the direction set to 'return' self.ownedParameter->select(par | par.direction = #return)->size() <= 1

bool At_most_one_return(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Only_body_for_query(object, object)

A bodyCondition can only be specified for a query operation. bodyCondition->notEmpty() implies isQuery

bool Only_body_for_query(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

ReturnResult()

The query returnResult() returns the set containing the return parameter of the Operation if one exists, otherwise, it returns an empty set result = ownedParameter->select (par | par.direction = #return)

ISetExpression<IParameter> ReturnResult()

Returns

ISetExpression<IParameter>

Events

At_most_one_returnCalled

Gets fired after the operation at_most_one_return got called

event EventHandler<OperationCallEventArgs> At_most_one_returnCalled

Event Type

EventHandler<OperationCallEventArgs>

At_most_one_returnCalling

Gets fired before the operation at_most_one_return gets called

event EventHandler<OperationCallEventArgs> At_most_one_returnCalling

Event Type

EventHandler<OperationCallEventArgs>

BodyConditionChanged

Gets fired when the BodyCondition property changed its value

event EventHandler<ValueChangedEventArgs> BodyConditionChanged

Event Type

EventHandler<ValueChangedEventArgs>

BodyConditionChanging

Gets fired before the BodyCondition property changes its value

event EventHandler<ValueChangedEventArgs> BodyConditionChanging

Event Type

EventHandler<ValueChangedEventArgs>

ClassChanged

Gets fired when the Class property changed its value

event EventHandler<ValueChangedEventArgs> ClassChanged

Event Type

EventHandler<ValueChangedEventArgs>

ClassChanging

Gets fired before the Class property changes its value

event EventHandler<ValueChangedEventArgs> ClassChanging

Event Type

EventHandler<ValueChangedEventArgs>

DatatypeChanged

Gets fired when the Datatype property changed its value

event EventHandler<ValueChangedEventArgs> DatatypeChanged

Event Type

EventHandler<ValueChangedEventArgs>

DatatypeChanging

Gets fired before the Datatype property changes its value

event EventHandler<ValueChangedEventArgs> DatatypeChanging

Event Type

EventHandler<ValueChangedEventArgs>

IsQueryChanged

Gets fired when the IsQuery property changed its value

event EventHandler<ValueChangedEventArgs> IsQueryChanged

Event Type

EventHandler<ValueChangedEventArgs>

IsQueryChanging

Gets fired before the IsQuery property changes its value

event EventHandler<ValueChangedEventArgs> IsQueryChanging

Event Type

EventHandler<ValueChangedEventArgs>

Only_body_for_queryCalled

Gets fired after the operation only_body_for_query got called

event EventHandler<OperationCallEventArgs> Only_body_for_queryCalled

Event Type

EventHandler<OperationCallEventArgs>

Only_body_for_queryCalling

Gets fired before the operation only_body_for_query gets called

event EventHandler<OperationCallEventArgs> Only_body_for_queryCalling

Event Type

EventHandler<OperationCallEventArgs>

ReturnResultCalled

Gets fired after the operation returnResult got called

event EventHandler<OperationCallEventArgs> ReturnResultCalled

Event Type

EventHandler<OperationCallEventArgs>

ReturnResultCalling

Gets fired before the operation returnResult gets called

event EventHandler<OperationCallEventArgs> ReturnResultCalling

Event Type

EventHandler<OperationCallEventArgs>