## org.eclipse.datatools.connectivity.oda.spec.manifest
Class FunctionExpressionDefinition

    java.lang.Object
      org.eclipse.datatools.connectivity.oda.spec.manifest.FunctionExpressionDefinition

    public class FunctionExpressionDefinition

extends java.lang.Object

Represents the definition of a value expression function type, as specified in an extension of the org.eclipse.datatools.connectivity.oda.dynamicResultSet extension point.

Since:
  3.2.2 (DTP 1.7.2)

Field Summary
`static java.lang.String` `ATTR_CAN_IGNORE_DUPLS`
`static java.lang.String` `ATTR_CLASS`
`static java.lang.String` `ATTR_DESC`
`static java.lang.String` `ATTR_DISPLAY_NAME`
`static java.lang.String` `ATTR_ID`
`static java.lang.String` `ATTR_MAX_ARGS`
`static java.lang.String` `ATTR_MIN_ARGS`
`static java.lang.String` `ATTR_NAME`
`static java.lang.String` `ELEMENT_NAME`

Method Summary
`boolean` `canIgnoreDuplicateValues()` Indicates whether this function type is capable of ignoring duplicate values of its input variable.
`CustomFunction` `createExpression()` Creates and returns an instance of CustomFunction based on the class attribute specified in this definition.
`ExtensionContributor` `getContributor()` Returns the contributor of this type of custom function expression.
`java.lang.String` `getDeclaringExtensionId()` Gets the unique id of the dynamicResultSets extension that declares this type of custom function type.
`java.lang.String` `getDescription()` Gets the brief translateable description, if any.
`java.lang.String` `getDisplayName()` Gets the translatable name that will be used to refer to this particular function expression type in dialogs presented to the user.
`java.lang.String` `getId()` Gets the id that uniquely identifies this type of custom function type within the contributing extension.
`static java.lang.String` `getIdAttributeValue(org.eclipse.core.runtime.IConfigurationElement exprElement)` For internal use only.
`java.lang.Integer` `getMaxArguments()` Gets the maximum number of argument values required by this expression type.
`java.lang.Integer` `getMinArguments()` Gets the minimum number of argument values required by this expression type.
`java.lang.String` `getName()` Gets the expression name of this function type.
`IValidator` `getValidator()` Gets the concrete class that implements the `IValidator` to validate this expression.
`VariableRestrictions` `getVariableRestrictions()` Gets the restriction info on the types of expression variable that can be applied with this type of function value expression.
`boolean` `supportsDataSetType(java.lang.String odaDataSourceId, java.lang.String odaDataSetId)` Indicates whether this type of custom function type supports the specified data set type of the specified data source type.
`boolean` `supportsUnboundedMaxArguments()` Indicates whether this expression type has no upper limit on the number of argument values.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ELEMENT_NAME

    public static final java.lang.String ELEMENT_NAME

See Also:
  Constant Field Values

### ATTR_ID

    public static final java.lang.String ATTR_ID

See Also:
  Constant Field Values

### ATTR_NAME

    public static final java.lang.String ATTR_NAME

See Also:
  Constant Field Values

### ATTR_DISPLAY_NAME

    public static final java.lang.String ATTR_DISPLAY_NAME

See Also:
  Constant Field Values

### ATTR_DESC

    public static final java.lang.String ATTR_DESC

See Also:
  Constant Field Values

### ATTR_CLASS

    public static final java.lang.String ATTR_CLASS

See Also:
  Constant Field Values

### ATTR_MIN_ARGS

    public static final java.lang.String ATTR_MIN_ARGS

See Also:
  Constant Field Values

### ATTR_MAX_ARGS

    public static final java.lang.String ATTR_MAX_ARGS

See Also:
  Constant Field Values

### ATTR_CAN_IGNORE_DUPLS

    public static final java.lang.String ATTR_CAN_IGNORE_DUPLS

See Also:
  Constant Field Values

Method Detail

### getIdAttributeValue

    public static java.lang.String getIdAttributeValue(org.eclipse.core.runtime.IConfigurationElement exprElement)
                                                throws OdaException

  For internal use only.

  Throws:
    `OdaException`

### createExpression

    public CustomFunction createExpression()
                                    throws OdaException

  Creates and returns an instance of CustomFunction based on the class attribute specified in this definition.

  Returns:
    an instance of `CustomFunction` or its subclass, with no assigned function arguments
  Throws:
    `OdaException`

### supportsDataSetType

    public boolean supportsDataSetType(java.lang.String odaDataSourceId,
                                       java.lang.String odaDataSetId)

  Indicates whether this type of custom function type supports the specified data set type of the specified data source type.

  Parameters:
    `odaDataSourceId` - id of an ODA data source extension
    `odaDataSetId` - id of an ODA data set defined within the data source extension
  Returns:
    true if this ODA data set type can be used with this type of custom function type; false otherwise

### getDeclaringExtensionId

    public java.lang.String getDeclaringExtensionId()

  Gets the unique id of the dynamicResultSets extension that declares this type of custom function type.

  Returns:
    unique id of the declaring dynamicResultSets extension

### getId

    public java.lang.String getId()

  Gets the id that uniquely identifies this type of custom function type within the contributing extension.

  Returns:
    id of this type of custom function type

### getName

    public java.lang.String getName()

  Gets the expression name of this function type. Default to the function id if no name is specified.

  Returns:
    the name of this type of custom function type

### getDisplayName

    public java.lang.String getDisplayName()

  Gets the translatable name that will be used to refer to this particular function expression type in dialogs presented to the user. Default to the function name if no display name is specified.

  Returns:
    the display name of this type of custom function type

### getDescription

    public java.lang.String getDescription()

  Gets the brief translateable description, if any.

  Returns:
    description text, or null if none

### getContributor

    public ExtensionContributor getContributor()

  Returns the contributor of this type of custom function expression.

  Returns:
    an instance of the `ExtensionContributor` that defines its scope and capabilities

### getValidator

    public IValidator getValidator()
                            throws OdaException

  Gets the concrete class that implements the `IValidator` to validate this expression.

  Returns:
    an instance of the contributor's validator, or null if none is specified
  Throws:
    `OdaException` - if exception occurs in instantiating its defined validator class

### getMinArguments

    public java.lang.Integer getMinArguments()

  Gets the minimum number of argument values required by this expression type. The value may be greater than or equal to 0.

  Returns:
    an Integer for the minimum number of expected argument values

### supportsUnboundedMaxArguments

    public boolean supportsUnboundedMaxArguments()

  Indicates whether this expression type has no upper limit on the number of argument values.

  Returns:
    true if no upper limit on number of argument values; false otherwise

### getMaxArguments

    public java.lang.Integer getMaxArguments()

  Gets the maximum number of argument values required by this expression type.

  Returns:
    an Integer for the maximum number of expected argument values, or null if no upper limit on the maximum arguments.
  See Also:
    `#supportsUnboundedMaxArguments()}`

### canIgnoreDuplicateValues

    public boolean canIgnoreDuplicateValues()

  Indicates whether this function type is capable of ignoring duplicate values of its input variable. Default value is false if none is specified in the extension.

  Returns:
    true if this function type is capable of ignoring duplicate values of its target variable; false otherwise

### getVariableRestrictions

    public VariableRestrictions getVariableRestrictions()

  Gets the restriction info on the types of expression variable that can be applied with this type of function value expression.

  Returns:
    an instance of VariableRestrictions