org.makumba.providers
Class QueryAnalysisProvider

java.lang.Object
  extended by org.makumba.providers.QueryAnalysisProvider
Direct Known Subclasses:
HQLQueryAnalysisProvider, MqlQueryAnalysisProvider, OQLQueryAnalysisProvider

public abstract class QueryAnalysisProvider
extends Object

Version:
$Id: QueryAnalysisProvider.java 3691 2009-02-11 00:28:38Z rosso_nero $
Author:

Field Summary
(package private)  boolean initializedCache
           
(package private)  NamedResources inlinedQueries
           
 
Constructor Summary
QueryAnalysisProvider()
           
 
Method Summary
 Object checkExprSetOrNullable(String from, String expr)
          Checks if an expression is valid, nullable or set
 Object checkLabelSetOrNullable(String from, String referenceSequence)
          Checks if an id is nullable, and if so, return the path to the null pointer
abstract  FieldDefinition getAlternativeField(DataDefinition dd, String fn)
          Returns a possible alternative field to the one indicated.
abstract  String getParameterSyntax()
          return the first character(s) in a parameter designator
abstract  String getPrimaryKeyNotation(String label)
          Returns the notation of the primary key in the query language
 QueryAnalysis getQueryAnalysis(String query)
           
protected abstract  QueryAnalysis getRawQueryAnalysis(String query)
           
 String inlineFunctions(String query)
           
(package private) static boolean isMakId(char c)
          Checks if a character can be part of a makumba identifier
static void main(String[] args)
           
abstract  boolean selectGroupOrOrderAsLabels()
          Returns whether the GROUP BY or ORDER BY sections can include labels
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inlinedQueries

NamedResources inlinedQueries

initializedCache

boolean initializedCache
Constructor Detail

QueryAnalysisProvider

public QueryAnalysisProvider()
Method Detail

getRawQueryAnalysis

protected abstract QueryAnalysis getRawQueryAnalysis(String query)

getQueryAnalysis

public QueryAnalysis getQueryAnalysis(String query)

inlineFunctions

public String inlineFunctions(String query)

selectGroupOrOrderAsLabels

public abstract boolean selectGroupOrOrderAsLabels()
Returns whether the GROUP BY or ORDER BY sections can include labels


getAlternativeField

public abstract FieldDefinition getAlternativeField(DataDefinition dd,
                                                    String fn)
Returns a possible alternative field to the one indicated.


getPrimaryKeyNotation

public abstract String getPrimaryKeyNotation(String label)
Returns the notation of the primary key in the query language

Parameters:
label - the label of the object
Returns:
the notation for the primary key of the object

checkExprSetOrNullable

public Object checkExprSetOrNullable(String from,
                                     String expr)
Checks if an expression is valid, nullable or set

Parameters:
expr - the expression
Returns:
The path to the null pointer (if the object is nullable), null otherwise

isMakId

static boolean isMakId(char c)
Checks if a character can be part of a makumba identifier

Parameters:
c - the character to check
Returns:
true if the character can be part of a makumba identifier, false otherwise

checkLabelSetOrNullable

public Object checkLabelSetOrNullable(String from,
                                      String referenceSequence)
Checks if an id is nullable, and if so, return the path to the null pointer

Parameters:
referenceSequence - a sequence like field1.field2.field3
Returns:
The path to the null pointer (if the object is nullable), null otherwise

getParameterSyntax

public abstract String getParameterSyntax()
return the first character(s) in a parameter designator


main

public static void main(String[] args)