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

java.lang.Object
  extended by 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