org.eclipse.datatools.connectivity.oda.spec.util
Class QuerySpecificationHelper

java.lang.Object
  extended by org.eclipse.datatools.connectivity.oda.spec.util.QuerySpecificationHelper

public class QuerySpecificationHelper
extends java.lang.Object

The helper that locates the factory class, associated with an org.eclipse.datatools.connectivity.oda.dynamicResultSet extension, to create and/or access the content of a QuerySpecification.
Provides convenient methods to create and access specification instances.

Since:
3.3 (DTP 1.8)

Constructor Summary
QuerySpecificationHelper(ExtensionContributor contributor)
          Constructor for use with the specified dynamicResultSet extension contributor.
QuerySpecificationHelper(QuerySpecificationFactory factory)
          Constructor for use with the specified query specification factory.
QuerySpecificationHelper(java.lang.String dynamicResultSetExtnId)
          Constructor for use with the specified dynamicResultSet extension id.
 
Method Summary
 AdvancedQuerySpecification createAdvancedQuerySpecification()
          Returns an empty advanced query specification instance created by the QuerySpecificationFactory specified in the constructor.
 QuerySpecification createQuerySpecification()
          Returns an empty query specification instance created by the QuerySpecificationFactory specified in the constructor.
 QuerySpecification createQuerySpecification(FilterExpression filterExpr)
          Creates a query specification instance with the specified filter expression root.
 QuerySpecification createQuerySpecification(FilterExpression filterExpr, ResultProjection projectionSpec, SortSpecification sortSpec)
          Creates a query specification instance with the specified filter expression root, result projection, and/or sort specification.
 QuerySpecification createQuerySpecification(ResultProjection projectionSpec)
          Creates a query specification instance with the specified result projection.
 QuerySpecification createQuerySpecification(SortSpecification sortSpec)
          Creates a query specification instance with the specified sort specification.
 ResultProjection createResultProjection()
          Returns an empty result projection instance created by the QuerySpecificationFactory specified in the constructor.
 ResultSetSpecification createResultSetSpecification()
          Returns an empty result set specification instance created by the QuerySpecificationFactory specified in the constructor.
 SortSpecification createSortSpecification()
          Returns an empty sort specification instance created by the QuerySpecificationFactory specified in the constructor.
 SortSpecification createSortSpecification(int sortMode)
          Returns an empty sort specification instance created by the QuerySpecificationFactory specified in the constructor.
static java.lang.String getContentAsString(QuerySpecification querySpec)
          Returns the string representation of the content found in the specified QuerySpecification.
 QuerySpecificationFactory getFactory()
          Gets the associated query specification factory instance.
static FilterExpression getFilterSpecification(QuerySpecification querySpec)
          Gets the filter expression root from the specified querySpec.
static java.util.logging.Logger getLogger(java.lang.String loggerName)
          Gets a Logger by the specified name.
static ResultProjection getResultProjection(QuerySpecification querySpec)
          Gets the result projection from the specified querySpec.
static ResultSetSpecification getResultSetSpecification(QuerySpecification querySpec)
          Gets the result set specification from the specified querySpec.
static SortSpecification getSortSpecification(QuerySpecification querySpec)
          Gets the sort specification from the specified querySpec.
static void logValidationException(java.lang.String className, java.lang.Throwable exception)
          Logs the validation exception message at the FINE log level.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QuerySpecificationHelper

public QuerySpecificationHelper(java.lang.String dynamicResultSetExtnId)
Constructor for use with the specified dynamicResultSet extension id.

Parameters:
dynamicResultSetExtnId - the id of an extension that implements the oda.dynamicResultSet extension point; may be null to use the default factory

QuerySpecificationHelper

public QuerySpecificationHelper(ExtensionContributor contributor)
Constructor for use with the specified dynamicResultSet extension contributor.

Parameters:
contributor - contributor of a dynamicResultSet extension; may be null to use the default factory

QuerySpecificationHelper

public QuerySpecificationHelper(QuerySpecificationFactory factory)
Constructor for use with the specified query specification factory.

Parameters:
factory - the factory to create instances of query specification classes
Method Detail

getFactory

public QuerySpecificationFactory getFactory()
Gets the associated query specification factory instance.

Returns:
associated query specification factory instance

createQuerySpecification

public QuerySpecification createQuerySpecification(FilterExpression filterExpr)
Creates a query specification instance with the specified filter expression root.

Parameters:
filterExpr - a composite or atomic FilterExpression with corresponding variable and argument values; may be null
Returns:
a new QuerySpecification instance

createQuerySpecification

public QuerySpecification createQuerySpecification(ResultProjection projectionSpec)
Creates a query specification instance with the specified result projection.

Parameters:
projectionSpec - the projection specification of a query result set; may be null
Returns:
a new QuerySpecification instance

createQuerySpecification

public QuerySpecification createQuerySpecification(SortSpecification sortSpec)
Creates a query specification instance with the specified sort specification.

Parameters:
sortSpec - the SortSpecification representing sorting characteristics of a query result set; may be null
Returns:
a new QuerySpecification instance

createQuerySpecification

public QuerySpecification createQuerySpecification(FilterExpression filterExpr,
                                                   ResultProjection projectionSpec,
                                                   SortSpecification sortSpec)
Creates a query specification instance with the specified filter expression root, result projection, and/or sort specification.

Parameters:
filterExpr - a composite or atomic FilterExpression with corresponding variable and argument values; may be null
projectionSpec - the projection specification of a query result set; may be null
sortSpec - the SortSpecification representing sorting characteristics; may be null of a query result set
Returns:
a new QuerySpecification instance

createQuerySpecification

public QuerySpecification createQuerySpecification()
Returns an empty query specification instance created by the QuerySpecificationFactory specified in the constructor.

Returns:
a new QuerySpecification instance

createAdvancedQuerySpecification

public AdvancedQuerySpecification createAdvancedQuerySpecification()
Returns an empty advanced query specification instance created by the QuerySpecificationFactory specified in the constructor.

Returns:
a new AdvancedQuerySpecification instance

createResultSetSpecification

public ResultSetSpecification createResultSetSpecification()
Returns an empty result set specification instance created by the QuerySpecificationFactory specified in the constructor.

Returns:
a new ResultSetSpecification instance

createResultProjection

public ResultProjection createResultProjection()
Returns an empty result projection instance created by the QuerySpecificationFactory specified in the constructor.

Returns:
a new ResultProjection instance

createSortSpecification

public SortSpecification createSortSpecification()
Returns an empty sort specification instance created by the QuerySpecificationFactory specified in the constructor.

Returns:
a new SortSpecification instance

createSortSpecification

public SortSpecification createSortSpecification(int sortMode)
Returns an empty sort specification instance created by the QuerySpecificationFactory specified in the constructor. By specifiying a sort mode, a sort key that gets added to the sort specification will be validated to match the sort mode.

Parameters:
sortMode - the sort mode of this SortSpecification; one of IDataSetMetaData.sortModeNone, IDataSetMetaData.sortModeSingleOrder, IDataSetMetaData.sortModeColumnOrder, IDataSetMetaData.sortModeSingleColumn.
Returns:
a new SortSpecification instance with the defined mode,

getFilterSpecification

public static FilterExpression getFilterSpecification(QuerySpecification querySpec)
Gets the filter expression root from the specified querySpec.

Parameters:
querySpec - a query specification
Returns:
the composite or atomic FilterExpression with corresponding variable and argument values, or null if none is available

getResultProjection

public static ResultProjection getResultProjection(QuerySpecification querySpec)
Gets the result projection from the specified querySpec.

Parameters:
querySpec - a query specification
Returns:
the projection specification of the query's result set(s), or null if none is available

getSortSpecification

public static SortSpecification getSortSpecification(QuerySpecification querySpec)
Gets the sort specification from the specified querySpec.

Parameters:
querySpec - a query specification
Returns:
the sort specification of the query's result set(s), or null if none is available

getResultSetSpecification

public static ResultSetSpecification getResultSetSpecification(QuerySpecification querySpec)
Gets the result set specification from the specified querySpec.

Parameters:
querySpec - a query specification
Returns:
the result set specification instance in the specified querySpec, or null if none is available

getContentAsString

public static java.lang.String getContentAsString(QuerySpecification querySpec)
Returns the string representation of the content found in the specified QuerySpecification. This utility method may be used for logging and debugging purpose.

Parameters:
querySpec - a query specification
Returns:
string representation of the query specification

getLogger

public static java.util.logging.Logger getLogger(java.lang.String loggerName)
Gets a Logger by the specified name.

Parameters:
loggerName - the name of logger
Returns:
the Logger associated with the specified name

logValidationException

public static void logValidationException(java.lang.String className,
                                          java.lang.Throwable exception)
Logs the validation exception message at the FINE log level.

Parameters:
className - name of class that initiates the logging
exception - validation exception