org.eclipse.datatools.connectivity.oda.spec.result
Class CustomAggregate

java.lang.Object
  extended by org.eclipse.datatools.connectivity.oda.spec.result.AggregateExpression
      extended by org.eclipse.datatools.connectivity.oda.spec.result.CustomAggregate
All Implemented Interfaces:
org.eclipse.core.runtime.IExecutableExtension

public class CustomAggregate
extends AggregateExpression
implements org.eclipse.core.runtime.IExecutableExtension

Represents an instance of custom aggregate expression contributed by an extension of the org.eclipse.datatools.connectivity.oda.dynamicResultSet extension point.

Since:
3.2 (DTP 1.7)

Method Summary
 boolean canIgnoreDuplicateValues()
          Indicates whether this aggregate type is capable of ignoring duplicate values of its input variable.
 boolean canIgnoreNullValues()
          Indicates whether this aggregate type is capable of ignoring null values of its input variable.
 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.
 AggregateDefinition 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 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.result.AggregateExpression
add, getAlias, getVariables, ignoresDuplicateValues, ignoresNullValues, setAlias, setIgnoreDuplicateValues, setIgnoreNullValues, setVariables, toString, 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: AggregateExpression
Returns the qualified id of this expression type.

Overrides:
getQualifiedId in class AggregateExpression
Returns:
qualified id

getName

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

Overrides:
getName in class AggregateExpression
Returns:
name of this 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 aggregate 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 aggregate type is capable of ignoring duplicate values of its input variable; false otherwise

canIgnoreNullValues

public boolean canIgnoreNullValues()
Indicates whether this aggregate type is capable of ignoring null values of its input variable. Default value is false if none is specified in the extension.

Returns:
true if this aggregate type is capable of ignoring null values of its input variable; false otherwise

getDefinition

public AggregateDefinition 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 aggregate 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: AggregateExpression
Performs syntactic validation of this expression in the specified context.

Specified by:
validateSyntax in class AggregateExpression
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.