org.eclipse.uml2.uml
Interface Operation

All Superinterfaces:
BehavioralFeature, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, Feature, NamedElement, Namespace, org.eclipse.emf.common.notify.Notifier, ParameterableElement, RedefinableElement, TemplateableElement

public interface Operation
extends BehavioralFeature, ParameterableElement, TemplateableElement

A representation of the model object 'Operation'. An operation is a behavioral feature of a classifier that specifies the name, type, parameters, and constraints for invoking an associated behavior. An operation may invoke both the execution of method behaviors as well as other behavioral responses. Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.

The following features are supported:

See Also:
UMLPackage.getOperation()

Method Summary
 Constraint createBodyCondition(java.lang.String name)
          Creates a new Constraint,with the specified 'Name', and sets the 'Body Condition' reference
 Constraint createBodyCondition(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)
          Creates a new Constraint, with the specified 'Name', and sets the 'Body Condition' reference
 Constraint createPostcondition(java.lang.String name)
          Creates a new Constraint, with the specified 'Name', and appends it to the 'Postcondition' reference list
 Constraint createPostcondition(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)
          Creates a new Constraint, with the specified 'Name', and appends it to the 'Postcondition' reference list
 Constraint createPrecondition(java.lang.String name)
          Creates a new Constraint, with the specified 'Name', and appends it to the 'Precondition' reference list
 Constraint createPrecondition(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)
          Creates a new Constraint, with the specified 'Name', and appends it to the 'Precondition' reference list
 Constraint getBodyCondition()
          Returns the value of the 'Body Condition' reference
 Class getClass_()
          Returns the value of the 'Class' container reference.
 DataType getDatatype()
          Returns the value of the 'Datatype' container reference.
 Interface getInterface()
          Returns the value of the 'Interface' container reference.
 int getLower()
          Returns the value of the 'Lower' attribute.
 Constraint getPostcondition(java.lang.String name)
          Retrieves the first Constraint with the specified 'Name' from the 'Postcondition' reference list
 Constraint getPostcondition(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
          Retrieves the first Constraint with the specified 'Name' from the 'Postcondition' reference list
 org.eclipse.emf.common.util.EList<Constraint> getPostconditions()
          Returns the value of the 'Postcondition' reference list.
 Constraint getPrecondition(java.lang.String name)
          Retrieves the first Constraint with the specified 'Name' from the 'Precondition' reference list
 Constraint getPrecondition(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
          Retrieves the first Constraint with the specified 'Name' from the 'Precondition' reference list
 org.eclipse.emf.common.util.EList<Constraint> getPreconditions()
          Returns the value of the 'Precondition' reference list.
 Operation getRedefinedOperation(java.lang.String name, org.eclipse.emf.common.util.EList<java.lang.String> ownedParameterNames, org.eclipse.emf.common.util.EList<Type> ownedParameterTypes)
          Retrieves the first Operation with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Redefined Operation' reference list
 Operation getRedefinedOperation(java.lang.String name, org.eclipse.emf.common.util.EList<java.lang.String> ownedParameterNames, org.eclipse.emf.common.util.EList<Type> ownedParameterTypes, boolean ignoreCase)
          Retrieves the first Operation with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Redefined Operation' reference list
 org.eclipse.emf.common.util.EList<Operation> getRedefinedOperations()
          Returns the value of the 'Redefined Operation' reference list.
 Parameter getReturnResult()
          Retrieves the (only) return result parameter for this operation
 Type getType()
          Returns the value of the 'Type' reference
 int getUpper()
          Returns the value of the 'Upper' attribute.
 boolean isOrdered()
          Returns the value of the 'Is Ordered' attribute.
 boolean isQuery()
          Returns the value of the 'Is Query' attribute.
 boolean isUnique()
          Returns the value of the 'Is Unique' attribute.
 int lowerBound()
          If this operation has a return parameter, lower equals the value of lower for that parameter.
 org.eclipse.emf.common.util.EList<Parameter> 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)
 void setBodyCondition(Constraint value)
          Sets the value of the 'Body Condition' reference
 void setClass_(Class value)
          Sets the value of the 'Class' container reference
 void setDatatype(DataType value)
          Sets the value of the 'Datatype' container reference
 void setInterface(Interface value)
          Sets the value of the 'Interface' container reference
 void setIsOrdered(boolean value)
          Sets the value of the 'Is Ordered' attribute
 void setIsQuery(boolean value)
          Sets the value of the 'Is Query' attribute
 void setIsUnique(boolean value)
          Sets the value of the 'Is Unique' attribute
 void setLower(int value)
          Sets the value of the 'Lower' attribute
 void setType(Type value)
          Sets the value of the 'Type' reference
 void setUpper(int value)
          Sets the value of the 'Upper' attribute
 int upperBound()
          If this operation has a return parameter, upper equals the value of upper for that parameter.
 boolean validateAtMostOneReturn(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          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
 boolean validateOnlyBodyForQuery(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          A bodyCondition can only be specified for a query operation.
 
Methods inherited from interface org.eclipse.uml2.uml.BehavioralFeature
createOwnedParameter, createOwnedParameterSet, createReturnResult, getConcurrency, getMethod, getMethod, getMethods, getOwnedParameter, getOwnedParameter, getOwnedParameters, getOwnedParameterSet, getOwnedParameterSet, getOwnedParameterSets, getRaisedException, getRaisedException, getRaisedExceptions, isAbstract, setConcurrency, setIsAbstract
 
Methods inherited from interface org.eclipse.uml2.uml.Namespace
createElementImport, createElementImport, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateMembersDistinguishable
 
Methods inherited from interface org.eclipse.uml2.uml.Feature
getFeaturingClassifier, getFeaturingClassifier, getFeaturingClassifiers, isStatic, setIsStatic
 
Methods inherited from interface org.eclipse.uml2.uml.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
 
Methods inherited from interface org.eclipse.uml2.uml.ParameterableElement
getOwningTemplateParameter, getTemplateParameter, isCompatibleWith, isTemplateParameter, setOwningTemplateParameter, setTemplateParameter
 
Methods inherited from interface org.eclipse.uml2.uml.TemplateableElement
createOwnedTemplateSignature, createOwnedTemplateSignature, createTemplateBinding, getOwnedTemplateSignature, getTemplateBinding, getTemplateBinding, getTemplateBindings, isTemplate, parameterableElements, setOwnedTemplateSignature
 

Method Detail

isQuery

boolean isQuery()
Returns the value of the 'Is Query' attribute. The default value is "false". Specifies whether an execution of the BehavioralFeature leaves the state of the system unchanged (isQuery=true) or whether side effects may occur (isQuery=false).

Returns:
the value of the 'Is Query' attribute.
See Also:
setIsQuery(boolean), UMLPackage.getOperation_IsQuery()

setIsQuery

void setIsQuery(boolean value)
Sets the value of the 'Is Query' attribute.

Parameters:
value - the new value of the 'Is Query' attribute.
See Also:
isQuery()

isOrdered

boolean isOrdered()
Returns the value of the 'Is Ordered' attribute. The default value is "false". This information is derived from the return result for this Operation. Specifies whether the return parameter is ordered or not, if present.

Returns:
the value of the 'Is Ordered' attribute.
See Also:
setIsOrdered(boolean), UMLPackage.getOperation_IsOrdered()

setIsOrdered

void setIsOrdered(boolean value)
Sets the value of the 'Is Ordered' attribute.

Parameters:
value - the new value of the 'Is Ordered' attribute.
See Also:
isOrdered()

isUnique

boolean isUnique()
Returns the value of the 'Is Unique' attribute. The default value is "true". This information is derived from the return result for this Operation. Specifies whether the return parameter is unique or not, if present.

Returns:
the value of the 'Is Unique' attribute.
See Also:
setIsUnique(boolean), UMLPackage.getOperation_IsUnique()

setIsUnique

void setIsUnique(boolean value)
Sets the value of the 'Is Unique' attribute.

Parameters:
value - the new value of the 'Is Unique' attribute.
See Also:
isUnique()

getLower

int getLower()
Returns the value of the 'Lower' attribute. The default value is "1". This information is derived from the return result for this Operation. Specifies the lower multiplicity of the return parameter, if present.

Returns:
the value of the 'Lower' attribute.
See Also:
setLower(int), UMLPackage.getOperation_Lower()

setLower

void setLower(int value)
Sets the value of the 'Lower' attribute.

Parameters:
value - the new value of the 'Lower' attribute.
See Also:
getLower()

getUpper

int getUpper()
Returns the value of the 'Upper' attribute. The default value is "1". This information is derived from the return result for this Operation. Specifies the upper multiplicity of the return parameter, if present.

Returns:
the value of the 'Upper' attribute.
See Also:
setUpper(int), UMLPackage.getOperation_Upper()

setUpper

void setUpper(int value)
Sets the value of the 'Upper' attribute.

Parameters:
value - the new value of the 'Upper' attribute.
See Also:
getUpper()

getClass_

Class getClass_()
Returns the value of the 'Class' container reference. It is bidirectional and its opposite is 'Owned Operation'. The class that owns the operation.

Returns:
the value of the 'Class' container reference.
See Also:
setClass_(org.eclipse.uml2.uml.Class), UMLPackage.getOperation_Class(), Class.getOwnedOperations()

setClass_

void setClass_(Class value)
Sets the value of the 'Class' container reference.

Parameters:
value - the new value of the 'Class' container reference.
See Also:
getClass_()

getPreconditions

org.eclipse.emf.common.util.EList<Constraint> getPreconditions()
Returns the value of the 'Precondition' reference list. The list contents are of type Constraint. An optional set of Constraints on the state of the system when the Operation is invoked.

Returns:
the value of the 'Precondition' reference list.
See Also:
UMLPackage.getOperation_Precondition()

createPrecondition

Constraint createPrecondition(java.lang.String name,
                              org.eclipse.emf.ecore.EClass eClass)
Creates a new Constraint, with the specified 'Name', and appends it to the 'Precondition' reference list.

Parameters:
name - The 'Name' for the new Constraint, or null.
eClass - The Ecore class of the Constraint to create.
Returns:
The new Constraint.
See Also:
getPreconditions()

createPrecondition

Constraint createPrecondition(java.lang.String name)
Creates a new Constraint, with the specified 'Name', and appends it to the 'Precondition' reference list.

Parameters:
name - The 'Name' for the new Constraint, or null.
Returns:
The new Constraint.
See Also:
getPreconditions()

getPrecondition

Constraint getPrecondition(java.lang.String name)
Retrieves the first Constraint with the specified 'Name' from the 'Precondition' reference list.

Parameters:
name - The 'Name' of the Constraint to retrieve, or null.
Returns:
The first Constraint with the specified 'Name', or null.
See Also:
getPreconditions()

getPrecondition

Constraint getPrecondition(java.lang.String name,
                           boolean ignoreCase,
                           org.eclipse.emf.ecore.EClass eClass,
                           boolean createOnDemand)
Retrieves the first Constraint with the specified 'Name' from the 'Precondition' reference list.

Parameters:
name - The 'Name' of the Constraint to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the Constraint to retrieve, or null.
createOnDemand - Whether to create a Constraint on demand if not found.
Returns:
The first Constraint with the specified 'Name', or null.
See Also:
getPreconditions()

getPostconditions

org.eclipse.emf.common.util.EList<Constraint> getPostconditions()
Returns the value of the 'Postcondition' reference list. The list contents are of type Constraint. An optional set of Constraints specifying the state of the system when the Operation is completed.

Returns:
the value of the 'Postcondition' reference list.
See Also:
UMLPackage.getOperation_Postcondition()

createPostcondition

Constraint createPostcondition(java.lang.String name,
                               org.eclipse.emf.ecore.EClass eClass)
Creates a new Constraint, with the specified 'Name', and appends it to the 'Postcondition' reference list.

Parameters:
name - The 'Name' for the new Constraint, or null.
eClass - The Ecore class of the Constraint to create.
Returns:
The new Constraint.
See Also:
getPostconditions()

createPostcondition

Constraint createPostcondition(java.lang.String name)
Creates a new Constraint, with the specified 'Name', and appends it to the 'Postcondition' reference list.

Parameters:
name - The 'Name' for the new Constraint, or null.
Returns:
The new Constraint.
See Also:
getPostconditions()

getPostcondition

Constraint getPostcondition(java.lang.String name)
Retrieves the first Constraint with the specified 'Name' from the 'Postcondition' reference list.

Parameters:
name - The 'Name' of the Constraint to retrieve, or null.
Returns:
The first Constraint with the specified 'Name', or null.
See Also:
getPostconditions()

getPostcondition

Constraint getPostcondition(java.lang.String name,
                            boolean ignoreCase,
                            org.eclipse.emf.ecore.EClass eClass,
                            boolean createOnDemand)
Retrieves the first Constraint with the specified 'Name' from the 'Postcondition' reference list.

Parameters:
name - The 'Name' of the Constraint to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the Constraint to retrieve, or null.
createOnDemand - Whether to create a Constraint on demand if not found.
Returns:
The first Constraint with the specified 'Name', or null.
See Also:
getPostconditions()

getRedefinedOperations

org.eclipse.emf.common.util.EList<Operation> getRedefinedOperations()
Returns the value of the 'Redefined Operation' reference list. The list contents are of type Operation. References the Operations that are redefined by this Operation.

Returns:
the value of the 'Redefined Operation' reference list.
See Also:
UMLPackage.getOperation_RedefinedOperation()

getRedefinedOperation

Operation getRedefinedOperation(java.lang.String name,
                                org.eclipse.emf.common.util.EList<java.lang.String> ownedParameterNames,
                                org.eclipse.emf.common.util.EList<Type> ownedParameterTypes)
Retrieves the first Operation with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Redefined Operation' reference list.

Parameters:
name - The 'Name' of the Operation to retrieve, or null.
ownedParameterNames - The 'Owned Parameter Names' of the Operation to retrieve, or null.
ownedParameterTypes - The 'Owned Parameter Types' of the Operation to retrieve, or null.
Returns:
The first Operation with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types', or null.
See Also:
getRedefinedOperations()

getRedefinedOperation

Operation getRedefinedOperation(java.lang.String name,
                                org.eclipse.emf.common.util.EList<java.lang.String> ownedParameterNames,
                                org.eclipse.emf.common.util.EList<Type> ownedParameterTypes,
                                boolean ignoreCase)
Retrieves the first Operation with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Redefined Operation' reference list.

Parameters:
name - The 'Name' of the Operation to retrieve, or null.
ownedParameterNames - The 'Owned Parameter Names' of the Operation to retrieve, or null.
ownedParameterTypes - The 'Owned Parameter Types' of the Operation to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
Returns:
The first Operation with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types', or null.
See Also:
getRedefinedOperations()

getDatatype

DataType getDatatype()
Returns the value of the 'Datatype' container reference. It is bidirectional and its opposite is 'Owned Operation'. The DataType that owns this Operation.

Returns:
the value of the 'Datatype' container reference.
See Also:
setDatatype(DataType), UMLPackage.getOperation_Datatype(), DataType.getOwnedOperations()

setDatatype

void setDatatype(DataType value)
Sets the value of the 'Datatype' container reference.

Parameters:
value - the new value of the 'Datatype' container reference.
See Also:
getDatatype()

getBodyCondition

Constraint getBodyCondition()
Returns the value of the 'Body Condition' reference. An optional Constraint on the result values of an invocation of this Operation.

Returns:
the value of the 'Body Condition' reference.
See Also:
setBodyCondition(Constraint), UMLPackage.getOperation_BodyCondition()

setBodyCondition

void setBodyCondition(Constraint value)
Sets the value of the 'Body Condition' reference.

Parameters:
value - the new value of the 'Body Condition' reference.
See Also:
getBodyCondition()

createBodyCondition

Constraint createBodyCondition(java.lang.String name,
                               org.eclipse.emf.ecore.EClass eClass)
Creates a new Constraint, with the specified 'Name', and sets the 'Body Condition' reference.

Parameters:
name - The 'Name' for the new Constraint, or null.
eClass - The Ecore class of the Constraint to create.
Returns:
The new Constraint.
See Also:
getBodyCondition()

createBodyCondition

Constraint createBodyCondition(java.lang.String name)
Creates a new Constraint,with the specified 'Name', and sets the 'Body Condition' reference.

Parameters:
name - The 'Name' for the new Constraint, or null.
Returns:
The new Constraint.
See Also:
getBodyCondition()

getType

Type getType()
Returns the value of the 'Type' reference. This information is derived from the return result for this Operation. Specifies the return result of the operation, if present.

Returns:
the value of the 'Type' reference.
See Also:
setType(Type), UMLPackage.getOperation_Type()

setType

void setType(Type value)
Sets the value of the 'Type' reference.

Parameters:
value - the new value of the 'Type' reference.
See Also:
getType()

getInterface

Interface getInterface()
Returns the value of the 'Interface' container reference. It is bidirectional and its opposite is 'Owned Operation'. The Interface that owns this Operation.

Returns:
the value of the 'Interface' container reference.
See Also:
setInterface(Interface), UMLPackage.getOperation_Interface(), Interface.getOwnedOperations()

setInterface

void setInterface(Interface value)
Sets the value of the 'Interface' container reference.

Parameters:
value - the new value of the 'Interface' container reference.
See Also:
getInterface()

validateAtMostOneReturn

boolean validateAtMostOneReturn(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                java.util.Map<java.lang.Object,java.lang.Object> context)
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

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateOnlyBodyForQuery

boolean validateOnlyBodyForQuery(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                 java.util.Map<java.lang.Object,java.lang.Object> context)
A bodyCondition can only be specified for a query operation. bodyCondition->notEmpty() implies isQuery

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

getReturnResult

Parameter getReturnResult()
Retrieves the (only) return result parameter for this operation.


lowerBound

int lowerBound()
If this operation has a return parameter, lower equals the value of lower for that parameter. Otherwise lower is not defined. result = if returnResult()->notEmpty() then returnResult()->any().lower else Set{} endif


upperBound

int upperBound()
If this operation has a return parameter, upper equals the value of upper for that parameter. Otherwise upper is not defined. result = if returnResult()->notEmpty() then returnResult()->any().upper else Set{} endif


returnResult

org.eclipse.emf.common.util.EList<Parameter> 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)


Copyright 2003, 2007 IBM Corporation and others.
All Rights Reserved.