## org.eclipse.uml2.uml
Interface Expression

All Superinterfaces:
  Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, NamedElement, org.eclipse.emf.common.notify.Notifier, PackageableElement, ParameterableElement, TypedElement, ValueSpecification

All Known Subinterfaces:
  StringExpression

    public interface Expression

extends ValueSpecification

A representation of the model object 'Expression'. An expression is a structured tree of symbols that denotes a (possibly empty) set of values when evaluated in a context. An expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands which are value specifications.

The following features are supported:

- `Symbol`
- `Operand`

See Also:
  `UMLPackage.getExpression()`

Field Summary

Fields inherited from interface org.eclipse.uml2.uml.NamedElement
`SEPARATOR`

Fields inherited from interface org.eclipse.uml2.uml.NamedElement
`SEPARATOR`

Method Summary
`ValueSpecification` `createOperand(java.lang.String name, Type type, org.eclipse.emf.ecore.EClass eClass)` Creates a new `ValueSpecification`, with the specified 'Name', and 'Type', and appends it to the 'Operand' containment reference list
`ValueSpecification` `getOperand(java.lang.String name, Type type)` Retrieves the first `ValueSpecification` with the specified 'Name', and 'Type' from the 'Operand' containment reference list
`ValueSpecification` `getOperand(java.lang.String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)` Retrieves the first `ValueSpecification` with the specified 'Name', and 'Type' from the 'Operand' containment reference list
`org.eclipse.emf.common.util.EList<ValueSpecification>` `getOperands()` Returns the value of the 'Operand' containment reference list.
`java.lang.String` `getSymbol()` Returns the value of the 'Symbol' attribute
`boolean` `isSetSymbol()` Returns whether the value of the '`Symbol`' attribute is set
`void` `setSymbol(java.lang.String value)` Sets the value of the '`Symbol`' attribute
`void` `unsetSymbol()` Unsets the value of the '`Symbol`' attribute

Methods inherited from interface org.eclipse.uml2.uml.ValueSpecification
`booleanValue, integerValue, isComputable, isNull, stringValue, unlimitedValue`

Methods inherited from interface org.eclipse.uml2.uml.NamedElement

`allNamespaces, allOwningPackages, createDependency, createNameExpression, createUsage, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership`

Methods inherited from interface org.eclipse.uml2.uml.Element

`addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf`

Methods inherited from interface org.eclipse.emf.ecore.EModelElement
`getEAnnotation, getEAnnotations`

Methods inherited from interface org.eclipse.emf.ecore.EObject
`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Methods inherited from interface org.eclipse.uml2.uml.ParameterableElement
`getOwningTemplateParameter, getTemplateParameter, isCompatibleWith, isTemplateParameter, setOwningTemplateParameter, setTemplateParameter`

Methods inherited from interface org.eclipse.uml2.uml.Element

`addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf`

Methods inherited from interface org.eclipse.emf.ecore.EModelElement
`getEAnnotation, getEAnnotations`

Methods inherited from interface org.eclipse.emf.ecore.EObject
`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Methods inherited from interface org.eclipse.uml2.uml.TypedElement
`getType, setType`

Methods inherited from interface org.eclipse.uml2.uml.NamedElement

`allNamespaces, allOwningPackages, createDependency, createNameExpression, createUsage, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership`

Methods inherited from interface org.eclipse.uml2.uml.Element

`addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf`

Methods inherited from interface org.eclipse.emf.ecore.EModelElement
`getEAnnotation, getEAnnotations`

Methods inherited from interface org.eclipse.emf.ecore.EObject
`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Method Detail

### getSymbol

    java.lang.String getSymbol()

  Returns the value of the 'Symbol' attribute. The symbol associated with the node in the expression tree.

  Returns:
    the value of the 'Symbol' attribute.
  See Also:
    `isSetSymbol()`, `unsetSymbol()`, `setSymbol(String)`, `UMLPackage.getExpression_Symbol()`

### setSymbol

    void setSymbol(java.lang.String value)

  Sets the value of the '`Symbol`' attribute.

  Parameters:
    `value` - the new value of the 'Symbol' attribute.
  See Also:
    `isSetSymbol()`, `unsetSymbol()`, `getSymbol()`

### unsetSymbol

    void unsetSymbol()

  Unsets the value of the '`Symbol`' attribute.

  See Also:
    `isSetSymbol()`, `getSymbol()`, `setSymbol(String)`

### isSetSymbol

    boolean isSetSymbol()

  Returns whether the value of the '`Symbol`' attribute is set.

  Returns:
    whether the value of the 'Symbol' attribute is set.
  See Also:
    `unsetSymbol()`, `getSymbol()`, `setSymbol(String)`

### getOperands

    org.eclipse.emf.common.util.EList<ValueSpecification> getOperands()

  Returns the value of the 'Operand' containment reference list. The list contents are of type `ValueSpecification`.

  This feature subsets the following features:

  - '`Owned Element`'
  Specifies a sequence of operands.

  Returns:
    the value of the 'Operand' containment reference list.
  See Also:
    `UMLPackage.getExpression_Operand()`

### createOperand

    ValueSpecification createOperand(java.lang.String name,
                                     Type type,
                                     org.eclipse.emf.ecore.EClass eClass)

  Creates a new `ValueSpecification`, with the specified 'Name', and 'Type', and appends it to the 'Operand' containment reference list.

  Parameters:
    `name` - The 'Name' for the new `ValueSpecification`, or `null`.
    `type` - The 'Type' for the new `ValueSpecification`, or `null`.
    `eClass` - The Ecore class of the `ValueSpecification` to create.
  Returns:
    The new `ValueSpecification`.
  See Also:
    `getOperands()`

### getOperand

    ValueSpecification getOperand(java.lang.String name,
                                  Type type)

  Retrieves the first `ValueSpecification` with the specified 'Name', and 'Type' from the 'Operand' containment reference list.

  Parameters:
    `name` - The 'Name' of the `ValueSpecification` to retrieve, or `null`.
    `type` - The 'Type' of the `ValueSpecification` to retrieve, or `null`.
  Returns:
    The first `ValueSpecification` with the specified 'Name', and 'Type', or `null`.
  See Also:
    `getOperands()`

### getOperand

    ValueSpecification getOperand(java.lang.String name,
                                  Type type,
                                  boolean ignoreCase,
                                  org.eclipse.emf.ecore.EClass eClass,
                                  boolean createOnDemand)

  Retrieves the first `ValueSpecification` with the specified 'Name', and 'Type' from the 'Operand' containment reference list.

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

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