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

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

    public class ResultExtensionExplorer

extends java.lang.Object

This singleton explorer is the entry point to explore and access the manifest of all the extensions that implement the `org.eclipse.datatools.connectivity.oda.dynamicResultSet` extension point. The `ResultExtensionExplorer` singleton instance is retrieved using the `getInstance()` method.

Since:
  3.3 (DTP 1.8)

Field Summary
`static java.lang.String` `AGGREGATE_GROUP_NAME`
`static java.lang.String` `DTP_ODA_DYNAMIC_RESULT_SETS_EXT_POINT`
`static java.lang.String` `FILTER_GROUP_NAME`
`static java.lang.String` `VALUE_EXPR_GROUP_NAME`

Method Summary
`AggregateDefinition` `getContributedAggregateDefinition(ExtensionContributor extensionContributor, java.lang.String exprId)` Gets the definition of the specified custom aggregate declared by the specified expression contributor.
`AggregateDefinition[]` `getContributedAggregateDefinitions(ExtensionContributor extensionContributor)` Gets the collection of custom aggregate definitions declared by the specified contributor.
`FilterExpressionDefinition` `getContributedFilterDefinition(ExtensionContributor extensionContributor, java.lang.String exprId)` Gets the definition of the specified custom filter expression declared by the specified expression contributor.
`FilterExpressionDefinition[]` `getContributedFilterDefinitions(ExtensionContributor extensionContributor)` Gets the collection of custom filter expression definitions declared by the specified contributor.
`ExtensionContributor[]` `getContributorsOfDataSet(java.lang.String odaDataSourceId, java.lang.String odaDataSetId)` Gets the collection of contributors that contribute dynamicResultSet extension to the specified data set type defined within the specified data source type.
`AggregateDefinition` `getExtensionAggregateDefinition(java.lang.String extensionId, java.lang.String exprId)` Gets the definition of the specified custom aggregate type declared by the specified extension.
`AggregateDefinition[]` `getExtensionAggregateDefinitions(java.lang.String extensionId)` Gets the collection of custom aggregate definitions declared by the specified extension.
`CombinedExpressionOperatorDefinition` `getExtensionCombinedOperatorDefinition(java.lang.String extensionId, java.lang.String operatorId)` Gets the definition of the specified supported or custom value expression combined operator declared by the specified extension.
`CombinedExpressionOperatorDefinition[]` `getExtensionCombinedOperatorDefinitions(java.lang.String extensionId)` Gets the collection of supported and custom value expression combined operator definitions declared by the specified extension.
`ExtensionContributor` `getExtensionContributor(java.lang.String extensionId)` Returns the contributor of the specified extension.
`FilterExpressionDefinition` `getExtensionFilterDefinition(java.lang.String extensionId, java.lang.String exprId)` Gets the definition of the specified custom filter expression type declared by the specified extension.
`FilterExpressionDefinition[]` `getExtensionFilterDefinitions(java.lang.String extensionId)` Gets the collection of custom filter expression definitions declared by the specified extension.
`FunctionExpressionDefinition` `getExtensionFunctionDefinition(java.lang.String extensionId, java.lang.String functionId)` Gets the definition of the specified supported or custom value expression function declared by the specified extension.
`FunctionExpressionDefinition[]` `getExtensionFunctionDefinitions(java.lang.String extensionId)` Gets the collection of supported and custom value expression function definitions declared by the specified extension.
`static ResultExtensionExplorer` `getInstance()` Gets the singleton instance to explore the manifest of the dynamicResultSet extensions.
`void` `refresh()` Refresh the explorer, and allows it to get the latest extension manifests.
`static void` `releaseInstance()` Singleton instance release method.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DTP_ODA_DYNAMIC_RESULT_SETS_EXT_POINT

    public static final java.lang.String DTP_ODA_DYNAMIC_RESULT_SETS_EXT_POINT

See Also:
  Constant Field Values

### FILTER_GROUP_NAME

    public static final java.lang.String FILTER_GROUP_NAME

See Also:
  Constant Field Values

### AGGREGATE_GROUP_NAME

    public static final java.lang.String AGGREGATE_GROUP_NAME

See Also:
  Constant Field Values

### VALUE_EXPR_GROUP_NAME

    public static final java.lang.String VALUE_EXPR_GROUP_NAME

See Also:
  Constant Field Values

Method Detail

### getInstance

    public static ResultExtensionExplorer getInstance()

  Gets the singleton instance to explore the manifest of the dynamicResultSet extensions.

  Returns:
    the singleton instance

### releaseInstance

    public static void releaseInstance()

  Singleton instance release method.

### refresh

    public void refresh()

  Refresh the explorer, and allows it to get the latest extension manifests.

### getContributorsOfDataSet

    public ExtensionContributor[] getContributorsOfDataSet(java.lang.String odaDataSourceId,
                                                           java.lang.String odaDataSetId)
                                                    throws java.lang.IllegalArgumentException,
                                                           OdaException

  Gets the collection of contributors that contribute dynamicResultSet extension to the specified data set type defined within 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:
    an array of `ExtensionContributor`; or an empty array if no supporting contributor is registered
  Throws:
    `OdaException`
    `java.lang.IllegalArgumentException`

### getContributedFilterDefinitions

    public FilterExpressionDefinition[] getContributedFilterDefinitions(ExtensionContributor extensionContributor)
                                                                 throws java.lang.IllegalArgumentException,
                                                                        OdaException

  Gets the collection of custom filter expression definitions declared by the specified contributor.

  Parameters:
    `extensionContributor` - contributor of a dynamicResultSet extension
  Returns:
    an array of `FilterExpressionDefinition` declared by the specified contributor; or an empty array if none
  Throws:
    `java.lang.IllegalArgumentException`
    `OdaException`

### getContributedFilterDefinition

    public FilterExpressionDefinition getContributedFilterDefinition(ExtensionContributor extensionContributor,
                                                                     java.lang.String exprId)
                                                              throws java.lang.IllegalArgumentException,
                                                                     OdaException

  Gets the definition of the specified custom filter expression declared by the specified expression contributor.

  Parameters:
    `extensionContributor` - contributor of a dynamicResultSet extension
    `exprId` - id of a custom filter expression
  Returns:
    an instance of `FilterExpressionDefinition`, or null if no matching definition is found
  Throws:
    `java.lang.IllegalArgumentException`
    `OdaException`

### getExtensionFilterDefinitions

    public FilterExpressionDefinition[] getExtensionFilterDefinitions(java.lang.String extensionId)
                                                               throws java.lang.IllegalArgumentException,
                                                                      OdaException

  Gets the collection of custom filter expression definitions declared by the specified extension.

  Parameters:
    `extensionId` - unique id of an extension that implements the dynamicResultSet extension point
  Returns:
    an array of `FilterExpressionDefinition` defined by the specified extension; or an empty array if none
  Throws:
    `OdaException`
    `java.lang.IllegalArgumentException`

### getExtensionFilterDefinition

    public FilterExpressionDefinition getExtensionFilterDefinition(java.lang.String extensionId,
                                                                   java.lang.String exprId)
                                                            throws java.lang.IllegalArgumentException,
                                                                   OdaException

  Gets the definition of the specified custom filter expression type declared by the specified extension.

  Parameters:
    `extensionId` - unique id of an extension that implements the dynamicResultSet extension point
    `exprId` - id of a custom filter expression
  Returns:
    an instance of `FilterExpressionDefinition`, or null if no matching definition is found
  Throws:
    `java.lang.IllegalArgumentException`
    `OdaException`

### getExtensionContributor

    public ExtensionContributor getExtensionContributor(java.lang.String extensionId)
                                                 throws OdaException

  Returns the contributor of the specified extension.

  Parameters:
    `extensionId` - unique id of an extension that implements the dynamicResultSet extension point
  Returns:
    an instance of the `ExtensionContributor` that defines its scope and capabilities
  Throws:
    `OdaException`

### getContributedAggregateDefinitions

    public AggregateDefinition[] getContributedAggregateDefinitions(ExtensionContributor extensionContributor)
                                                             throws java.lang.IllegalArgumentException,
                                                                    OdaException

  Gets the collection of custom aggregate definitions declared by the specified contributor.

  Parameters:
    `extensionContributor` - contributor of a dynamicResultSet extension
  Returns:
    an array of `AggregateDefinition` declared by the specified contributor; or an empty array if none
  Throws:
    `java.lang.IllegalArgumentException` - if specified argument is invalid or null
    `OdaException`

### getContributedAggregateDefinition

    public AggregateDefinition getContributedAggregateDefinition(ExtensionContributor extensionContributor,
                                                                 java.lang.String exprId)
                                                          throws java.lang.IllegalArgumentException,
                                                                 OdaException

  Gets the definition of the specified custom aggregate declared by the specified expression contributor.

  Parameters:
    `extensionContributor` - contributor of a dynamicResultSet extension
    `exprId` - id of an aggregate type
  Returns:
    an instance of `AggregateDefinition`, or null if no matching definition is found
  Throws:
    `java.lang.IllegalArgumentException` - if any specified argument is invalid or null
    `OdaException`

### getExtensionAggregateDefinitions

    public AggregateDefinition[] getExtensionAggregateDefinitions(java.lang.String extensionId)
                                                           throws java.lang.IllegalArgumentException,
                                                                  OdaException

  Gets the collection of custom aggregate definitions declared by the specified extension.

  Parameters:
    `extensionId` - unique id of an extension that implements the dynamicResultSet extension point
  Returns:
    an array of `AggregateDefinition` defined by the specified extension; or an empty array if none
  Throws:
    `java.lang.IllegalArgumentException` - if specified argument is invalid or null
    `OdaException`

### getExtensionAggregateDefinition

    public AggregateDefinition getExtensionAggregateDefinition(java.lang.String extensionId,
                                                               java.lang.String exprId)
                                                        throws java.lang.IllegalArgumentException,
                                                               OdaException

  Gets the definition of the specified custom aggregate type declared by the specified extension.

  Parameters:
    `extensionId` - unique id of an extension that implements the dynamicResultSet extension point
    `exprId` - id of an aggregate type
  Returns:
    an instance of `AggregateDefinition`, or null if no matching definition is found
  Throws:
    `java.lang.IllegalArgumentException` - if any specified argument is null or empty
    `OdaException`

### getExtensionCombinedOperatorDefinitions

    public CombinedExpressionOperatorDefinition[] getExtensionCombinedOperatorDefinitions(java.lang.String extensionId)
                                                                                   throws java.lang.IllegalArgumentException,
                                                                                          OdaException

  Gets the collection of supported and custom value expression combined operator definitions declared by the specified extension.

  Parameters:
    `extensionId` - unique id of an extension that implements the dynamicResultSet extension point
  Returns:
    an array of `CombinedExpressionOperatorDefinition` defined by the specified extension; or an empty array if none
  Throws:
    `java.lang.IllegalArgumentException` - if specified argument is invalid or null
    `OdaException`

### getExtensionCombinedOperatorDefinition

    public CombinedExpressionOperatorDefinition getExtensionCombinedOperatorDefinition(java.lang.String extensionId,
                                                                                       java.lang.String operatorId)
                                                                                throws java.lang.IllegalArgumentException,
                                                                                       OdaException

  Gets the definition of the specified supported or custom value expression combined operator declared by the specified extension.

  Parameters:
    `extensionId` - unique id of an extension that implements the dynamicResultSet extension point
    `operatorId` - the id of a value expression combined operator type; may be an ODA built-in operator or a custom type contributed by the extension
  Returns:
    an instance of `CombinedExpressionOperatorDefinition`, or null if no matching definition is found
  Throws:
    `java.lang.IllegalArgumentException` - if any specified argument is null or empty
    `OdaException`

### getExtensionFunctionDefinitions

    public FunctionExpressionDefinition[] getExtensionFunctionDefinitions(java.lang.String extensionId)
                                                                   throws java.lang.IllegalArgumentException,
                                                                          OdaException

  Gets the collection of supported and custom value expression function definitions declared by the specified extension.

  Parameters:
    `extensionId` - unique id of an extension that implements the dynamicResultSet extension point
  Returns:
    an array of `FunctionExpressionDefinition` defined by the specified extension; or an empty array if none
  Throws:
    `java.lang.IllegalArgumentException` - if specified argument is invalid or null
    `OdaException`

### getExtensionFunctionDefinition

    public FunctionExpressionDefinition getExtensionFunctionDefinition(java.lang.String extensionId,
                                                                       java.lang.String functionId)
                                                                throws java.lang.IllegalArgumentException,
                                                                       OdaException

  Gets the definition of the specified supported or custom value expression function declared by the specified extension.

  Parameters:
    `extensionId` - unique id of an extension that implements the dynamicResultSet extension point
    `functionId` - the id of a value expression function type contributed by the extension
  Returns:
    an instance of `FunctionExpressionDefinition`, or null if no matching definition is found
  Throws:
    `java.lang.IllegalArgumentException` - if any specified argument is null or empty
    `OdaException`