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.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.teiid.connector.api.ConnectorCapabilities
ConnectorCapabilities.SupportedJoinCriteria
 
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<java.lang.String> getSupportedFunctions()
          Return null to indicate no functions are supported.
 ConnectorCapabilities.SupportedJoinCriteria getSupportedJoinCriteria()
          Get the supported join criteria.
 boolean requiresCriteria()
          Whether the source supports queries without criteria.
 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 supportsBatchedUpdates()
          Whether the source supports IBatchedUpdates
 boolean supportsBetweenCriteria()
          Support indicates connector accepts criteria of form (element BETWEEN constant AND constant)
NOT CURRENTLY USED - between is rewritten as compound compare criteria
 boolean supportsBulkUpdate()
          Whether the source supports updates with multiple value sets
 boolean supportsCaseExpressions()
          Support indicates connector can accept queries with non-searched CASE WHEN ...
 boolean supportsCompareCriteriaEquals()
          Support indicates connector accepts criteria of form (element = constant)
 boolean supportsCompareCriteriaOrdered()
          Support indicates connector accepts criteria of form (element <=|>= constant)
The query engine will may pushdown queries containing < or > if NOT is also supported.
 boolean supportsCorrelatedSubqueries()
          Support indicates connector can accept correlated subqueries wherever subqueries are accepted
 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 supportsGroupBy()
          Whether the source supports an explicit GROUP BY clause
 boolean supportsHaving()
          Whether the source supports the HAVING clause
 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 supportsInnerJoins()
          Support indicates connector can accept inner or cross joins
 boolean supportsInsertWithQueryExpression()
          Support indicates that the connector can accept INSERTs with values specified by an ISetQuery.
 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 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)
 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 left outer joins
 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 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 supportsSelectExpression()
          Support indicates connector can accept expressions other than element symbols 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
 

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

supportsAliasedGroup

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

Specified by:
supportsAliasedGroup 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 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

supportsBetweenCriteria

public boolean supportsBetweenCriteria()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element BETWEEN constant AND constant)
NOT CURRENTLY USED - between is rewritten as compound compare criteria

Specified by:
supportsBetweenCriteria 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

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)

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

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

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

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 correlated 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
NOT CURRENTLY USED - case is pushed down as searched case

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

getSupportedFunctions

public java.util.List<java.lang.String> 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)


NOT CURRENTLY USED - group by expressions create an inline view for pushdown

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

supportsGroupBy

public boolean supportsGroupBy()
Description copied from interface: ConnectorCapabilities
Whether the source supports an explicit GROUP BY clause

Specified by:
supportsGroupBy in interface ConnectorCapabilities

supportsHaving

public boolean supportsHaving()
Description copied from interface: ConnectorCapabilities
Whether the source supports the HAVING clause

Specified by:
supportsHaving in interface ConnectorCapabilities

supportsInnerJoins

public boolean supportsInnerJoins()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept inner or cross joins

Specified by:
supportsInnerJoins in interface ConnectorCapabilities

supportsSelectExpression

public boolean supportsSelectExpression()
Description copied from interface: ConnectorCapabilities
Support indicates connector can accept expressions other than element symbols in the SELECT clause. Specific supports for the expression type are still checked.

Specified by:
supportsSelectExpression in interface ConnectorCapabilities

getSupportedJoinCriteria

public ConnectorCapabilities.SupportedJoinCriteria getSupportedJoinCriteria()
Description copied from interface: ConnectorCapabilities
Get the supported join criteria. A null return value will be treated as ConnectorCapabilities.SupportedJoinCriteria.ANY

Specified by:
getSupportedJoinCriteria in interface ConnectorCapabilities

supportsCompareCriteriaOrdered

public boolean supportsCompareCriteriaOrdered()
Description copied from interface: ConnectorCapabilities
Support indicates connector accepts criteria of form (element <=|>= constant)
The query engine will may pushdown queries containing < or > if NOT is also supported.

Specified by:
supportsCompareCriteriaOrdered in interface ConnectorCapabilities

supportsInsertWithQueryExpression

public boolean supportsInsertWithQueryExpression()
Description copied from interface: ConnectorCapabilities
Support indicates that the connector can accept INSERTs with values specified by an ISetQuery.

Specified by:
supportsInsertWithQueryExpression in interface ConnectorCapabilities

supportsBulkUpdate

public boolean supportsBulkUpdate()
Description copied from interface: ConnectorCapabilities
Whether the source supports updates with multiple value sets

Specified by:
supportsBulkUpdate in interface ConnectorCapabilities


Copyright © 2009. All Rights Reserved.