org.teiid.connector.basic
Class BasicConnectorCapabilities

java.lang.Object
  extended by org.teiid.connector.basic.BasicConnectorCapabilities
All Implemented Interfaces:
ConnectorCapabilities
Direct Known Subclasses:
JDBCCapabilities, LDAPConnectorCapabilities, LoopbackCapabilities, ObjectConnectorCapabilities, SalesforceCapabilities, TextCapabilities, XMLCapabilities, XMLSourceCapabilities

public class BasicConnectorCapabilities
extends java.lang.Object
implements ConnectorCapabilities

This class is a base implementation of the ConnectorCapabilities interface. It is implemented to return false for all capabilities. Subclass this base class and override any methods necessary to specify capabilities the connector actually supports.


Field Summary
protected  int maxInCriteriaSize
           
 
Constructor Summary
BasicConnectorCapabilities()
          Construct the basic capabilities class.
 
Method Summary
 int getMaxFromGroups()
          The number of groups supported in the from clause.
 int getMaxInCriteriaSize()
          Get the integer value representing the number of values allowed in an IN criteria in the WHERE clause of a query
 java.util.List getSupportedFunctions()
          Return null to indicate no functions are supported.
 boolean requiresCriteria()
          Whether the source supports queries without criteria.
 boolean supportsAggregates()
          Support indicates connector accepts GROUP BY and HAVING clauses as well as aggregate functions in the SELECT clause.
 boolean supportsAggregatesAvg()
          Support indicates connector can accept the AVG aggregate function
 boolean supportsAggregatesCount()
          Support indicates connector can accept the COUNT aggregate function
 boolean supportsAggregatesCountStar()
          Support indicates connector can accept the COUNT(*) aggregate function
 boolean supportsAggregatesDistinct()
          Support indicates connector can accept DISTINCT within aggregate functions
 boolean supportsAggregatesMax()
          Support indicates connector can accept the MAX aggregate function
 boolean supportsAggregatesMin()
          Support indicates connector can accept the MIN aggregate function
 boolean supportsAggregatesSum()
          Support indicates connector can accept the SUM aggregate function
 boolean supportsAliasedGroup()
          Support indicates connector can accept groups with aliases
 boolean supportsAndCriteria()
          Support indicates connector accepts logical criteria connected by AND
 boolean supportsBatchedUpdates()
          Whether the source supports IBatchedUpdates
 boolean supportsBetweenCriteria()
          Support indicates connector accepts criteria of form (element BETWEEN constant AND constant)
 boolean supportsBulkInsert()
          Whether the source supports IBulkInsert
 boolean supportsCaseExpressions()
          Support indicates connector can accept queries with non-searched CASE WHEN ...
 boolean supportsCompareCriteria()
          Support indicates connector accepts criteria of form (element operator constant)
 boolean supportsCompareCriteriaEquals()
          Support indicates connector accepts criteria of form (element = constant)
 boolean supportsCompareCriteriaGreaterThan()
          Support indicates connector accepts criteria of form (element > constant)
 boolean supportsCompareCriteriaGreaterThanOrEqual()
          Support indicates connector accepts criteria of form (element >= constant)
 boolean supportsCompareCriteriaLessThan()
          Support indicates connector accepts criteria of form (element < constant)
 boolean supportsCompareCriteriaLessThanOrEqual()
          Support indicates connector accepts criteria of form (element <= constant)
 boolean supportsCompareCriteriaNotEquals()
          Support indicates connector accepts criteria of form (element <> constant)
 boolean supportsCorrelatedSubqueries()
          Support indicates connector can accept correalted subqueries wherever subqueries are accepted
 boolean supportsCriteria()
          Support indicates connector can accept a WHERE criteria on queries
 boolean supportsExcept()
          Support indicates that the connector supports the EXCEPT of two queries.
 boolean supportsExistsCriteria()
          Support indicates connector accepts the EXISTS criteria
 boolean supportsFullOuterJoins()
          Support indicates connector can accept full outer joins
 boolean supportsFunctionsInGroupBy()
          Support indicates that the connector supports functions in GROUP BY, such as: SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate)
 boolean supportsInCriteria()
          Support indicates connector accepts criteria of form (element IN set)
 boolean supportsInCriteriaSubquery()
          Support indicates connector accepts IN criteria with a subquery on the right side
 boolean supportsInlineViews()
          Support indicates connector can accept inline views (subqueries in the FROM clause).
 boolean supportsIntersect()
          Support indicates that the connector supports the INTERSECT of two queries.
 boolean supportsIsNullCriteria()
          Support indicates connector accepts criteria of form (element IS NULL)
 boolean supportsJoins()
          Support indicates connector can accept joins
 boolean supportsLikeCriteria()
          Support indicates connector accepts criteria of form (element LIKE constant)
 boolean supportsLikeCriteriaEscapeCharacter()
          Support indicates connector accepts criteria of form (element LIKE constant ESCAPE char) - CURRENTLY NOT USED
 boolean supportsNotCriteria()
          Support indicates connector accepts logical criteria NOT
 boolean supportsOrCriteria()
          Support indicates connector accepts logical criteria connected by OR
 boolean supportsOrderBy()
          Support indicates connector accepts ORDER BY clause, including multiple elements and ascending and descending sorts.
 boolean supportsOuterJoins()
          Support indicates connector can accept right or left outer joins
 boolean supportsQuantifiedCompareCriteria()
          Support indicates connector accepts quantified subquery comparison criteria
 boolean supportsQuantifiedCompareCriteriaAll()
          Support indicates connector accepts the quantified comparison criteria that use ALL
 boolean supportsQuantifiedCompareCriteriaSome()
          Support indicates connector accepts the quantified comparison criteria that use SOME
 boolean supportsRowLimit()
          Gets whether the connector can limit the number of rows returned by a query.
 boolean supportsRowOffset()
          Gets whether the connector supports a SQL clause (similar to the LIMIT with an offset) that can return result sets that start in the middle of the resulting rows returned by a query
 boolean supportsScalarFunctions()
          Support indicates that the connector supports scalar functions.
 boolean supportsScalarSubqueries()
          Support indicates connector can accept scalar subqueries in the SELECT, WHERE, and HAVING clauses
 boolean supportsSearchedCaseExpressions()
          Support indicates connector can accept queries with searched CASE WHEN ...
 boolean supportsSelectDistinct()
          Support indicates connector can accept queries with SELECT DISTINCT
 boolean supportsSelectLiterals()
          Support indicates connector can accept literals in the SELECT clause
 boolean supportsSelfJoins()
          Support indicates connector can accept self-joins where a group is joined to itself with aliases.
 boolean supportsSetQueryOrderBy()
          Support indicates that the connector supports an ORDER BY on a SetQuery.
 boolean supportsUnions()
          Support indicates that the connector supports the UNION of two queries.
 boolean useAnsiJoin()
          Whether the source prefers to use ANSI style joins.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maxInCriteriaSize

protected int maxInCriteriaSize
Constructor Detail

BasicConnectorCapabilities

public BasicConnectorCapabilities()
Construct the basic capabilities class.

Method Detail

supportsSelectDistinct

public boolean supportsSelectDistinct()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept queries with SELECT DISTINCT

Specified by:
supportsSelectDistinct in interface ConnectorCapabilities

supportsSelectLiterals

public boolean supportsSelectLiterals()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept literals in the SELECT clause

Specified by:
supportsSelectLiterals in interface ConnectorCapabilities
Since:
4.2
See Also:
ConnectorCapabilities.supportsSelectLiterals()

supportsAliasedGroup

public boolean supportsAliasedGroup()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept groups with aliases

Specified by:
supportsAliasedGroup in interface ConnectorCapabilities

supportsJoins

public boolean supportsJoins()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept joins

Specified by:
supportsJoins in interface ConnectorCapabilities

supportsSelfJoins

public boolean supportsSelfJoins()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept self-joins where a group is joined to itself with aliases. Connector must also support ConnectorCapabilities.supportsAliasedGroup().

Specified by:
supportsSelfJoins in interface ConnectorCapabilities

supportsOuterJoins

public boolean supportsOuterJoins()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept right or left outer joins

Specified by:
supportsOuterJoins in interface ConnectorCapabilities

supportsFullOuterJoins

public boolean supportsFullOuterJoins()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept full outer joins

Specified by:
supportsFullOuterJoins in interface ConnectorCapabilities

supportsCriteria

public boolean supportsCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept a WHERE criteria on queries

Specified by:
supportsCriteria in interface ConnectorCapabilities

supportsBetweenCriteria

public boolean supportsBetweenCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element BETWEEN constant AND constant)

Specified by:
supportsBetweenCriteria in interface ConnectorCapabilities

supportsCompareCriteria

public boolean supportsCompareCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element operator constant)

Specified by:
supportsCompareCriteria in interface ConnectorCapabilities

supportsCompareCriteriaEquals

public boolean supportsCompareCriteriaEquals()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element = constant)

Specified by:
supportsCompareCriteriaEquals in interface ConnectorCapabilities

supportsCompareCriteriaNotEquals

public boolean supportsCompareCriteriaNotEquals()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element <> constant)

Specified by:
supportsCompareCriteriaNotEquals in interface ConnectorCapabilities

supportsCompareCriteriaLessThan

public boolean supportsCompareCriteriaLessThan()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element < constant)

Specified by:
supportsCompareCriteriaLessThan in interface ConnectorCapabilities

supportsCompareCriteriaLessThanOrEqual

public boolean supportsCompareCriteriaLessThanOrEqual()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element <= constant)

Specified by:
supportsCompareCriteriaLessThanOrEqual in interface ConnectorCapabilities

supportsCompareCriteriaGreaterThan

public boolean supportsCompareCriteriaGreaterThan()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element > constant)

Specified by:
supportsCompareCriteriaGreaterThan in interface ConnectorCapabilities

supportsCompareCriteriaGreaterThanOrEqual

public boolean supportsCompareCriteriaGreaterThanOrEqual()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element >= constant)

Specified by:
supportsCompareCriteriaGreaterThanOrEqual in interface ConnectorCapabilities

supportsLikeCriteria

public boolean supportsLikeCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element LIKE constant)

Specified by:
supportsLikeCriteria in interface ConnectorCapabilities

supportsLikeCriteriaEscapeCharacter

public boolean supportsLikeCriteriaEscapeCharacter()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element LIKE constant ESCAPE char) - CURRENTLY NOT USED

Specified by:
supportsLikeCriteriaEscapeCharacter in interface ConnectorCapabilities

supportsInCriteria

public boolean supportsInCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element IN set)

Specified by:
supportsInCriteria in interface ConnectorCapabilities

supportsInCriteriaSubquery

public boolean supportsInCriteriaSubquery()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts IN criteria with a subquery on the right side

Specified by:
supportsInCriteriaSubquery in interface ConnectorCapabilities

supportsIsNullCriteria

public boolean supportsIsNullCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element IS NULL)

Specified by:
supportsIsNullCriteria in interface ConnectorCapabilities

supportsAndCriteria

public boolean supportsAndCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts logical criteria connected by AND

Specified by:
supportsAndCriteria in interface ConnectorCapabilities

supportsOrCriteria

public boolean supportsOrCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts logical criteria connected by OR

Specified by:
supportsOrCriteria in interface ConnectorCapabilities

supportsNotCriteria

public boolean supportsNotCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts logical criteria NOT

Specified by:
supportsNotCriteria in interface ConnectorCapabilities

supportsExistsCriteria

public boolean supportsExistsCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts the EXISTS criteria

Specified by:
supportsExistsCriteria in interface ConnectorCapabilities

supportsQuantifiedCompareCriteria

public boolean supportsQuantifiedCompareCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts quantified subquery comparison criteria

Specified by:
supportsQuantifiedCompareCriteria in interface ConnectorCapabilities

supportsQuantifiedCompareCriteriaSome

public boolean supportsQuantifiedCompareCriteriaSome()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts the quantified comparison criteria that use SOME

Specified by:
supportsQuantifiedCompareCriteriaSome in interface ConnectorCapabilities

supportsQuantifiedCompareCriteriaAll

public boolean supportsQuantifiedCompareCriteriaAll()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts the quantified comparison criteria that use ALL

Specified by:
supportsQuantifiedCompareCriteriaAll in interface ConnectorCapabilities

supportsOrderBy

public boolean supportsOrderBy()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts ORDER BY clause, including multiple elements and ascending and descending sorts.

Specified by:
supportsOrderBy in interface ConnectorCapabilities

supportsAggregates

public boolean supportsAggregates()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts GROUP BY and HAVING clauses as well as aggregate functions in the SELECT clause.

Specified by:
supportsAggregates in interface ConnectorCapabilities

supportsAggregatesSum

public boolean supportsAggregatesSum()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept the SUM aggregate function

Specified by:
supportsAggregatesSum in interface ConnectorCapabilities

supportsAggregatesAvg

public boolean supportsAggregatesAvg()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept the AVG aggregate function

Specified by:
supportsAggregatesAvg in interface ConnectorCapabilities

supportsAggregatesMin

public boolean supportsAggregatesMin()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept the MIN aggregate function

Specified by:
supportsAggregatesMin in interface ConnectorCapabilities

supportsAggregatesMax

public boolean supportsAggregatesMax()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept the MAX aggregate function

Specified by:
supportsAggregatesMax in interface ConnectorCapabilities

supportsAggregatesCount

public boolean supportsAggregatesCount()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept the COUNT aggregate function

Specified by:
supportsAggregatesCount in interface ConnectorCapabilities

supportsAggregatesCountStar

public boolean supportsAggregatesCountStar()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept the COUNT(*) aggregate function

Specified by:
supportsAggregatesCountStar in interface ConnectorCapabilities

supportsAggregatesDistinct

public boolean supportsAggregatesDistinct()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept DISTINCT within aggregate functions

Specified by:
supportsAggregatesDistinct in interface ConnectorCapabilities

supportsScalarSubqueries

public boolean supportsScalarSubqueries()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept scalar subqueries in the SELECT, WHERE, and HAVING clauses

Specified by:
supportsScalarSubqueries in interface ConnectorCapabilities

supportsCorrelatedSubqueries

public boolean supportsCorrelatedSubqueries()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept correalted subqueries wherever subqueries are accepted

Specified by:
supportsCorrelatedSubqueries in interface ConnectorCapabilities

supportsCaseExpressions

public boolean supportsCaseExpressions()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept queries with non-searched CASE WHEN ... END

Specified by:
supportsCaseExpressions in interface ConnectorCapabilities

supportsSearchedCaseExpressions

public boolean supportsSearchedCaseExpressions()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept queries with searched CASE WHEN ... END

Specified by:
supportsSearchedCaseExpressions in interface ConnectorCapabilities

supportsScalarFunctions

public boolean supportsScalarFunctions()
Description copied from interface: ConnectorCapabilities
Support indicates that the connector supports scalar functions.

Specified by:
supportsScalarFunctions in interface ConnectorCapabilities

getSupportedFunctions

public java.util.List getSupportedFunctions()
Return null to indicate no functions are supported.

Specified by:
getSupportedFunctions in interface ConnectorCapabilities
Returns:
null
See Also:
ConnectorCapabilities.getSupportedFunctions()

supportsInlineViews

public boolean supportsInlineViews()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept inline views (subqueries in the FROM clause).

Specified by:
supportsInlineViews in interface ConnectorCapabilities

supportsUnions

public boolean supportsUnions()
Description copied from interface: ConnectorCapabilities
Support indicates that the connector supports the UNION of two queries.

Specified by:
supportsUnions in interface ConnectorCapabilities
Since:
4.2
See Also:
ConnectorCapabilities.supportsUnions()

getMaxInCriteriaSize

public int getMaxInCriteriaSize()
Description copied from interface: ConnectorCapabilities
Get the integer value representing the number of values allowed in an IN criteria in the WHERE clause of a query

Specified by:
getMaxInCriteriaSize in interface ConnectorCapabilities
Since:
4.2
See Also:
ConnectorCapabilities.getMaxInCriteriaSize()

supportsFunctionsInGroupBy

public boolean supportsFunctionsInGroupBy()
Description copied from interface: ConnectorCapabilities

Support indicates that the connector supports functions in GROUP BY, such as: SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate)

This capability requires both ConnectorCapabilities.supportsAggregates() and ConnectorCapabilities.supportsScalarFunctions() to be true as well to take effective.

Specified by:
supportsFunctionsInGroupBy in interface ConnectorCapabilities
Since:
5.0
See Also:
ConnectorCapabilities.supportsFunctionsInGroupBy()

supportsRowLimit

public boolean supportsRowLimit()
Description copied from interface: ConnectorCapabilities
Gets whether the connector can limit the number of rows returned by a query.

Specified by:
supportsRowLimit in interface ConnectorCapabilities

supportsRowOffset

public boolean supportsRowOffset()
Description copied from interface: ConnectorCapabilities
Gets whether the connector supports a SQL clause (similar to the LIMIT with an offset) that can return result sets that start in the middle of the resulting rows returned by a query

Specified by:
supportsRowOffset in interface ConnectorCapabilities

getMaxFromGroups

public int getMaxFromGroups()
Description copied from interface: ConnectorCapabilities
The number of groups supported in the from clause. Added for a Sybase limitation.

Specified by:
getMaxFromGroups in interface ConnectorCapabilities
Returns:
the number of groups supported in the from clause, or -1 if there is no limit
See Also:
ConnectorCapabilities.getMaxFromGroups()

supportsExcept

public boolean supportsExcept()
Description copied from interface: ConnectorCapabilities
Support indicates that the connector supports the EXCEPT of two queries.

Specified by:
supportsExcept in interface ConnectorCapabilities
See Also:
ConnectorCapabilities.supportsExcept()

supportsIntersect

public boolean supportsIntersect()
Description copied from interface: ConnectorCapabilities
Support indicates that the connector supports the INTERSECT of two queries.

Specified by:
supportsIntersect in interface ConnectorCapabilities
See Also:
ConnectorCapabilities.supportsIntersect()

supportsSetQueryOrderBy

public boolean supportsSetQueryOrderBy()
Description copied from interface: ConnectorCapabilities
Support indicates that the connector supports an ORDER BY on a SetQuery.

Specified by:
supportsSetQueryOrderBy in interface ConnectorCapabilities
See Also:
ConnectorCapabilities.supportsSetQueryOrderBy()

useAnsiJoin

public boolean useAnsiJoin()
Description copied from interface: ConnectorCapabilities
Whether the source prefers to use ANSI style joins.

Specified by:
useAnsiJoin in interface ConnectorCapabilities

requiresCriteria

public boolean requiresCriteria()
Description copied from interface: ConnectorCapabilities
Whether the source supports queries without criteria.

Specified by:
requiresCriteria in interface ConnectorCapabilities

supportsBatchedUpdates

public boolean supportsBatchedUpdates()
Description copied from interface: ConnectorCapabilities
Whether the source supports IBatchedUpdates

Specified by:
supportsBatchedUpdates in interface ConnectorCapabilities

supportsBulkInsert

public boolean supportsBulkInsert()
Description copied from interface: ConnectorCapabilities
Whether the source supports IBulkInsert

Specified by:
supportsBulkInsert in interface ConnectorCapabilities


Copyright © 2009. All Rights Reserved.