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>