## org.eclipse.datatools.connectivity.oda.design
Interface ExpressionParameterDefinition

All Superinterfaces:
  org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier

    public interface ExpressionParameterDefinition

extends org.eclipse.emf.ecore.EObject

A representation of the model object 'Expression Parameter Definition'. The definition of a parameter for the value of an expression's argument. An expression argument parameter design may specify either static argument value(s), or a data set input parameter. Static values are pre-defined values of an expression argument, and are not exposed as a data set parameter. Alternatively, a data set input parameter may be defined to dynamically collect user input value(s). A data set input parameter definiiton here may be a nested new instance, or may reference one of the existing DataSetParameters. The dynamic input parameter, if specified, overrides any static values defined.

The following features are supported:

- `Static Values`
- `Dynamic Input Parameter`

Since:
  3.3 (DTP 1.8)
See Also:
  `DesignPackage.getExpressionParameterDefinition()`

Field Summary
`static java.lang.String` `copyright`

Method Summary
`void` `addStaticValue(java.lang.Object aValue)` Appends the specified value to the list of static values.
`ParameterDefinition` `getDynamicInputParameter()` Returns the value of the 'Dynamic Input Parameter' containment reference.
`int` `getEffectiveStaticValueCount()` Gets the number of effective static values defined.
`StaticValues` `getStaticValues()` Returns the value of the 'Static Values' containment reference.
`boolean` `hasDynamicInputParameter()` Indicates whether this has defined an input parameter design to dynamically collect its value.
`boolean` `hasEffectiveStaticValues()` Indicates whether this has static values that are effective.
`void` `setDynamicInputParameter(ParameterDefinition value)` Sets the value of the '`Dynamic Input Parameter`' containment reference.
`void` `setStaticValues(StaticValues value)` Sets the value of the '`Static Values`' containment reference.

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`

Field Detail

### copyright

    static final java.lang.String copyright

  See Also:
    Constant Field Values

Method Detail

### getStaticValues

    StaticValues getStaticValues()

  Returns the value of the 'Static Values' containment reference.

  If the meaning of the 'Static Values' containment reference isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Static Values' containment reference.
  See Also:
    `setStaticValues(StaticValues)`, `DesignPackage.getExpressionParameterDefinition_StaticValues()`

### setStaticValues

    void setStaticValues(StaticValues value)

  Sets the value of the '`Static Values`' containment reference.

  Parameters:
    `value` - the new value of the 'Static Values' containment reference.
  See Also:
    `getStaticValues()`

### getDynamicInputParameter

    ParameterDefinition getDynamicInputParameter()

  Returns the value of the 'Dynamic Input Parameter' containment reference.

  If the meaning of the 'Dynamic Input Parameter' containment reference isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Dynamic Input Parameter' containment reference.
  See Also:
    `setDynamicInputParameter(ParameterDefinition)`, `DesignPackage.getExpressionParameterDefinition_DynamicInputParameter()`

### setDynamicInputParameter

    void setDynamicInputParameter(ParameterDefinition value)

  Sets the value of the '`Dynamic Input Parameter`' containment reference.

  Parameters:
    `value` - the new value of the 'Dynamic Input Parameter' containment reference.
  See Also:
    `getDynamicInputParameter()`

### hasDynamicInputParameter

    boolean hasDynamicInputParameter()

  Indicates whether this has defined an input parameter design to dynamically collect its value.

  Returns:
    true if a dynamic input parameter design is defined; false otherwise

### hasEffectiveStaticValues

    boolean hasEffectiveStaticValues()

  Indicates whether this has static values that are effective. Static values may be defined but not effective if this also has a dynamic input parameter defined.

  Returns:
    true if this has effective static value(s); false otherwise

### getEffectiveStaticValueCount

    int getEffectiveStaticValueCount()

  Gets the number of effective static values defined. Static values may be defined but not effective if this also has a dynamic input parameter defined.

  Returns:
    number of effective static values

### addStaticValue

    void addStaticValue(java.lang.Object aValue)

  Appends the specified value to the list of static values. It is the responsibility of the caller to ensure compatible type of value object is added to the list.

  Parameters:
    `aValue` - a value to add; may be null