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

    java.lang.Object
      org.eclipse.datatools.connectivity.oda.spec.result.AggregateExpression
          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.