ODA Dynamic Result Set

Identifier:
org.eclipse.datatools.connectivity.oda.dynamicResultSet

Since:
3.3 (DTP 1.8)

Description:
[API] This extension point is for declaring support of dynamic operations, such as filtering, row ordering and projection, on a result set of an ODA data source extension.

Configuration Markup:

<!ELEMENT extension (contributor , filterExpressionTypes? , aggregateExpressionTypes? , valueExpressionTypes?)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #REQUIRED

name  CDATA #IMPLIED

>


<!ELEMENT contributor (supportedDataSetType+ , supportsRowOrdering?)>

<!ATTLIST contributor

validatorClass            CDATA #IMPLIED

specificationFactoryClass CDATA #IMPLIED

>

Defines the scope and capabilities of this extension's contributor.



<!ELEMENT filterExpressionTypes (supportedOdaFilterExpression* , filterType+)>

A grouping of supportedOdaFilterExpression and filterType elements, defining the types of filter expression supported or contributed by this extension for all its supported data set types.



<!ELEMENT filterType (variableRestriction*)>

<!ATTLIST filterType

id           CDATA #REQUIRED

displayName  CDATA #IMPLIED

description  CDATA #IMPLIED

class        CDATA #IMPLIED

minArguments CDATA "1"

maxArguments CDATA "*"

isNegatable  (true | false) "false"

isOptionable (true | false) "false"

>

Defines a type of filter expression contributed by this extension.



<!ELEMENT aggregateExpressionTypes (aggregateType+)>

A grouping of one or more aggregateType elements, defining the types of aggregate expression contributed by this extension for all its supported data set types.



<!ELEMENT aggregateType (variableRestriction*)>

<!ATTLIST aggregateType

id                  CDATA #REQUIRED

displayName         CDATA #IMPLIED

description         CDATA #IMPLIED

class               CDATA #IMPLIED

minInputVariables   CDATA "1"

maxInputVariables   CDATA "1"

canIgnoreDuplicates (true | false) "false"

canIgnoreNull       (true | false) "false"

>

Defines a type of aggregate expression contributed by this extension.



<!ELEMENT variableRestriction ((variableOdaDataTypeRestriction | variableClassRestriction))*>

<!ATTLIST variableRestriction

variableType (ResultSetColumn|InstanceOf|QueryExpression) "ResultSetColumn"

>

Restriction on the type of variables that can be applied with the expression.



<!ELEMENT variableOdaDataTypeRestriction EMPTY>

<!ATTLIST variableOdaDataTypeRestriction

odaScalarDataType (String|Integer|Double|Decimal|Date|Time|Timestamp|Boolean|Blob|Clob|JavaObject)

>

The restriction on the ODA data types of a variable that can be applied with this expression. For example, a string pattern matching expression would restrict its use with a string-typed variable. An expression has no data type restriction if none is specified.



<!ELEMENT variableClassRestriction EMPTY>

<!ATTLIST variableClassRestriction

class CDATA #REQUIRED

>

The restriction on the type of instance variables that can be applied with this expression. An expression has no restriction on the type of instance variable if none is specified.



<!ELEMENT supportedDataSetType EMPTY>

<!ATTLIST supportedDataSetType

odaDataSourceId CDATA #REQUIRED

odaDataSetId    CDATA #REQUIRED

>

The ODA data set type to which this extension contributes filtering support.



<!ELEMENT supportedOdaFilterExpression EMPTY>

<!ATTLIST supportedOdaFilterExpression

name (AndExpression|OrExpression|NotExpression)

>

The type of ODA composite filter expression supported by the extension for all its supported data set types. It must be one of the built-in concrete filter expressions pre-defined by the ODA filter framework.



<!ELEMENT supportsRowOrdering EMPTY>

<!ATTLIST supportsRowOrdering

nullValueOrdering (true | false)

>

Indicates this extension contributes dynamic row ordering of its result sets for all its supported data set types. Absence of this element indicates no support.



<!ELEMENT valueExpressionTypes (combinedOperatorTypes? , functionExpressionType*)>

<!ATTLIST valueExpressionTypes

supportsNestedExpressions (true | false)

>

A grouping of value expression type elements, defining the types of value expression supported and contributed by this extension for all its supported data set types. An extension must implement support of the simple and column value expression types. Support of complex expression types is optional and declared in this element.



<!ELEMENT combinedOperatorTypes (supportedOdaCombinedOperator* , combinedOperatorType*)>

A grouping of supportedOdaCombinedOperator and combinedOperatorType elements, defining the types of expression combined operator supported or contributed by this extension for all its supported data set types.



<!ELEMENT supportedOdaCombinedOperator EMPTY>

<!ATTLIST supportedOdaCombinedOperator

id    (Add|Subtract|Multiply|Divide|Concatenate)

class CDATA #IMPLIED

>

The type of ODA value expression combined operator supported by the extension for all its supported data set types. It must be one of the built-in CombinedValueExpressionOperator types pre-defined by the ODA framework.



<!ELEMENT combinedOperatorType EMPTY>

<!ATTLIST combinedOperatorType

id          CDATA #REQUIRED

displayName CDATA #IMPLIED

literal     CDATA #REQUIRED

class       CDATA #IMPLIED

>

Defines a type of custom combined operator contributed by this extension.



<!ELEMENT functionExpressionType (variableRestriction*)>

<!ATTLIST functionExpressionType

id                  CDATA #REQUIRED

name                CDATA #IMPLIED

displayName         CDATA #IMPLIED

description         CDATA #IMPLIED

class               CDATA #IMPLIED

minArguments        CDATA "1"

maxArguments        CDATA "1"

canIgnoreDuplicates (true | false) "false"

>

Defines a type of custom function value expression contributed by this extension. Its variableRestriction sub-element defines the type of expression variable that can be associated with this function type. The precise data types of the function argument(s) and return value are implementation-specific.



API Information:
See the Java interfaces and classes in the org.eclipse.datatools.connectivity.oda.spec package and its sub-packages.

Supplied Implementation:
A sample implementation of this extension point can be found in the org.eclipse.datatools.connectivity.oda.consumer.testdriver project in DTP CVS under the org.eclipse.datatools.connectivity/tests/ folder.


Copyright (c) 2009, 2010 Actuate Corporation. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/