org.eclipse.datatools.connectivity.oda.spec.valueexpr
Class CustomFunction

java.lang.Object
  extended by org.eclipse.datatools.connectivity.oda.spec.ValueExpression
      extended by org.eclipse.datatools.connectivity.oda.spec.valueexpr.AtomicValueExpression
          extended by org.eclipse.datatools.connectivity.oda.spec.valueexpr.FunctionValueExpression
              extended by org.eclipse.datatools.connectivity.oda.spec.valueexpr.CustomFunction
All Implemented Interfaces:
org.eclipse.core.runtime.IExecutableExtension

public class CustomFunction
extends FunctionValueExpression
implements org.eclipse.core.runtime.IExecutableExtension

Represents a custom function value expression contributed by an extension of the org.eclipse.datatools.connectivity.oda.dynamicResultSet extension point.
An ODA dynamicResultSet extension declares its contribution of each custom function value expression in a functionExpressionType element in its extension manifest.

Since:
3.2.2 (DTP 1.7.2)

Field Summary
 
Fields inherited from class org.eclipse.datatools.connectivity.oda.spec.ValueExpression
UNKNOWN_ODA_DATA_TYPE
 
Method Summary
 boolean canIgnoreDuplicateValues()
          Indicates whether this function type is capable of ignoring duplicate values of its input argument.
 java.lang.Object getData(java.lang.String key)
          Gets the value of an extension-defined property of the specified name.
 java.lang.String getDeclaringExtensionId()
          Gets the unique id of the dynamicResultSet extension that declares this custom expression type.
 FunctionExpressionDefinition getDefinition()
          Gets the definition of this expression's capabilities and metadata, as registered by the provider in its extension of the org.eclipse.datatools.connectivity.oda.dynamicResultSet extension point.
 java.lang.String getId()
          Gets the expression id.
 java.lang.String getName()
          Gets the name of this value expression type.
 java.lang.String getQualifiedId()
          Returns the qualified id of this expression type.
 void setData(java.lang.String key, java.lang.Object value)
          Sets the value of an extension-defined property of the specified name.
 void setInitializationData(org.eclipse.core.runtime.IConfigurationElement exprElement, java.lang.String propertyName, java.lang.Object data)
           
 boolean supportsDataSetType(java.lang.String odaDataSourceId, java.lang.String odaDataSetId)
          Indicates whether this expression can be applied to the specified data set type within the data source type.
 boolean supportsDataSetType(SupportedDataSetType dataSetType)
          Indicates whether this expression can be applied to the specified data set type.
 void validateSyntax(ValidationContext context)
          Performs syntactic validation of this expression in the specified context.
 
Methods inherited from class org.eclipse.datatools.connectivity.oda.spec.valueexpr.FunctionValueExpression
getArguments, getOdaDataType, ignoresDuplicateValues, setArguments, setIgnoreDuplicateValues, toString
 
Methods inherited from class org.eclipse.datatools.connectivity.oda.spec.ValueExpression
getVariableType, setOdaDataType, validate, validate
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

setInitializationData

public void setInitializationData(org.eclipse.core.runtime.IConfigurationElement exprElement,
                                  java.lang.String propertyName,
                                  java.lang.Object data)
                           throws org.eclipse.core.runtime.CoreException
Specified by:
setInitializationData in interface org.eclipse.core.runtime.IExecutableExtension
Throws:
org.eclipse.core.runtime.CoreException

getId

public java.lang.String getId()
Gets the expression id. It is unique within the contributing extension.

Returns:
the expression id

getDeclaringExtensionId

public java.lang.String getDeclaringExtensionId()
Gets the unique id of the dynamicResultSet extension that declares this custom expression type.

Returns:
unique id of declaring extension

getQualifiedId

public java.lang.String getQualifiedId()
Description copied from class: FunctionValueExpression
Returns the qualified id of this expression type.

Overrides:
getQualifiedId in class FunctionValueExpression
Returns:
qualified id

getName

public java.lang.String getName()
Description copied from class: ValueExpression
Gets the name of this value expression type. It may be used to identify this in user messages or logging.

Overrides:
getName in class ValueExpression
Returns:
name of this value expression

supportsDataSetType

public boolean supportsDataSetType(java.lang.String odaDataSourceId,
                                   java.lang.String odaDataSetId)
Indicates whether this expression can be applied to the specified data set type within the 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 can be applied to the specified data set type; false otherwise

supportsDataSetType

public boolean supportsDataSetType(SupportedDataSetType dataSetType)
Indicates whether this expression can be applied to the specified data set type.

Parameters:
dataSetType - an instance of SupportedDataSetType
Returns:
true if this can be applied to the specified ODA data set type; false otherwise

canIgnoreDuplicateValues

public boolean canIgnoreDuplicateValues()
Indicates whether this function type is capable of ignoring duplicate values of its input argument. 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 input argument; false otherwise

getDefinition

public FunctionExpressionDefinition getDefinition()
Gets the definition of this expression's capabilities and metadata, as registered by the provider in its extension of the org.eclipse.datatools.connectivity.oda.dynamicResultSet extension point.

Returns:
definition of this custom function value expression

getData

public java.lang.Object getData(java.lang.String key)
Gets the value of an extension-defined property of the specified name. An extension contributor may have arbitrary objects associated with an expression.

Parameters:
key - the name of property
Returns:
the value of the named property, or null if it has not been set

setData

public void setData(java.lang.String key,
                    java.lang.Object value)
Sets the value of an extension-defined property of the specified name. An extension contributor may use this to associate arbitrary objects with an expression.

Parameters:
key - the name of property
value - the new value of the named property

validateSyntax

public void validateSyntax(ValidationContext context)
                    throws OdaException
Description copied from class: ValueExpression
Performs syntactic validation of this expression in the specified context.

Overrides:
validateSyntax in class FunctionValueExpression
Parameters:
context - context for validation; may be null which would limit the scope of validation
Throws:
OdaException - if validation failed. The concrete cause is defined by the subclass implementing this method.