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

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

    public class FilterExpressionDefinition

extends java.lang.Object

Represents the definition of a contributed filter expression type, as specifed in an extension of the org.eclipse.datatools.connectivity.oda.dynamicResultSet extension point.

Since:
  3.2 (DTP 1.7)

Field Summary
`static java.lang.String` `ATTR_CLASS`
`static java.lang.String` `ATTR_DESC`
`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` `ATTR_NEGATABLE`
`static java.lang.String` `ATTR_OPTIONABLE`
`static java.lang.String` `ELEMENT_NAME`

Method Summary
`CustomExpression` `createExpression()` Creates and returns an instance of CustomExpression for use in an ODA filter specification, based on the class defined in the attribute specified in this definition.
`CustomExpression` `createExpression(ExpressionVariable variable, ExpressionArguments args)` Creates and returns an instance of CustomExpression for use in an ODA filter specification, based on the class defined in the attribute specified in this definition.
`ExtensionContributor` `getContributor()` Returns the contributor of this type of custom expression.
`java.lang.String` `getDeclaringExtensionId()` Gets the unique id of the dynamicResultSets extension that declares this type of custom filter expression.
`java.lang.String` `getDescription()` Gets the brief translateable description of this type of filter expression.
`java.lang.String` `getDisplayName()` Gets the translateable name that can be used to refer to this particular expression in dialogs presented to the user.
`java.lang.String` `getId()` Gets the id that uniquely identifies this type of custom filter expression 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.
`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 filter expression.
`boolean` `isNegatable()` Indicates whether this expression can be negated, i.e.
`boolean` `isOptionable()` Indicates whether this expression can be optional and skipped in a filter specification, if none of its expected argument values are provided.
`boolean` `supportsDataSetType(java.lang.String odaDataSourceId, java.lang.String odaDataSetId)` Indicates whether this type of custom filter expression 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_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_NEGATABLE

    public static final java.lang.String ATTR_NEGATABLE

See Also:
  Constant Field Values

### ATTR_OPTIONABLE

    public static final java.lang.String ATTR_OPTIONABLE

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 CustomExpression createExpression()
                                      throws OdaException

  Creates and returns an instance of CustomExpression for use in an ODA filter specification, based on the class defined in the attribute specified in this definition.

  Returns:
    an instance of `CustomExpression` or its subclass
  Throws:
    `OdaException`

### createExpression

    public CustomExpression createExpression(ExpressionVariable variable,
                                             ExpressionArguments args)
                                      throws OdaException

  Creates and returns an instance of CustomExpression for use in an ODA filter specification, based on the class defined in the attribute specified in this definition.

  Parameters:
    `variable` - the expression variable to set on the created instance; may be null
    `args` - the expression arguments to set on the created instance; may be null
  Returns:
    an instance of `CustomExpression` or its subclass
  Throws:
    `OdaException`

### supportsDataSetType

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

  Indicates whether this type of custom filter expression 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 expression; false otherwise

### getDeclaringExtensionId

    public java.lang.String getDeclaringExtensionId()

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

  Returns:
    unique id of the declaring dynamicResultSets extension

### getId

    public java.lang.String getId()

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

  Returns:
    id of this type of custom filter expression

### getDisplayName

    public java.lang.String getDisplayName()

  Gets the translateable name that can be used to refer to this particular expression in dialogs presented to the user. Defaults to the expression type id if no name is specified. The name should be unique within the extension.

  Returns:
    display name of this type of custom filter expression

### getDescription

    public java.lang.String getDescription()

  Gets the brief translateable description of this type of filter expression.

  Returns:
    description text, or null if none

### getContributor

    public ExtensionContributor getContributor()

  Returns the contributor of this type of custom 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()}`

### isNegatable

    public boolean isNegatable()

  Indicates whether this expression can be negated, i.e. applied with a NotExpression. Default value is false if none is specified in the extension.

  Returns:
    true if this expression can be negated; false otherwise

### isOptionable

    public boolean isOptionable()

  Indicates whether this expression can be optional and skipped in a filter specification, if none of its expected argument values are provided. Default value is false if none is specified in the extension.

  Returns:
    true if this expression can be skipped when no argument values are available; false otherwise

### getVariableRestrictions

    public VariableRestrictions getVariableRestrictions()

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

  Returns:
    an instance of VariableRestrictions