net.wotonomy.access
Class EOSQLExpression

java.lang.Object
  extended by net.wotonomy.access.EOSQLExpression

public abstract class EOSQLExpression
extends java.lang.Object

Version:
$Revision: 894 $
Author:
ezamudio@nasoft.com, $Author: cgruber $

Field Summary
protected  net.wotonomy.foundation.NSMutableDictionary _aliasesByEntityName
           
protected  net.wotonomy.foundation.NSMutableDictionary _aliasesByRelationshipPath
           
protected  net.wotonomy.foundation.NSMutableArray _bindings
           
protected  net.wotonomy.foundation.NSMutableArray _contextStack
           
protected static net.wotonomy.foundation.NSTimestampFormatter _defaultDateFormatter
           
protected  EOEntity _entity
           
protected static char[] _hexChars
           
protected  java.lang.StringBuffer _joinClauseString
           
protected  java.lang.StringBuffer _listString
           
protected  java.lang.StringBuffer _orderByString
           
protected static boolean _quoteExternalNames
           
protected  java.lang.String _statement
           
protected  java.lang.String _upperFunctionName
           
protected  boolean _useAliases
           
protected  java.lang.StringBuffer _valueListString
           
protected  java.lang.String _whereClauseString
           
static java.lang.String BindVariableAttributeKey
           
static java.lang.String BindVariableColumnKey
           
static java.lang.String BindVariableNameKey
           
static java.lang.String BindVariablePlaceHolderKey
           
static java.lang.String BindVariableValueKey
           
 
Constructor Summary
EOSQLExpression(EOEntity entity)
           
 
Method Summary
 java.lang.String _aliasForRelatedAttributeRelationshipPath(EOAttribute a, java.lang.String path)
           
 java.lang.String _aliasForRelationshipPath(java.lang.String path)
           
protected  net.wotonomy.foundation.NSTimestampFormatter _defaultDateFormatter()
           
protected  java.lang.StringBuffer _listString()
           
protected  java.lang.StringBuffer _orderByString()
           
 EOEntity _rootEntityForExpression()
           
 void _setEntity(EOEntity value)
           
 java.lang.String _sqlStringForJoinSemanticMatchSemantic(int semantic, int match)
           
protected  java.lang.String _stringForDate(net.wotonomy.foundation.NSTimestamp timestamp)
           
protected  java.lang.StringBuffer _valueList()
           
 void addBindVariableDictionary(net.wotonomy.foundation.NSDictionary dict)
           
 void addCreateClauseForAttribute(EOAttribute attr)
          Adds the SQL to create the attribute to the attribute list.
 void addInsertListAttribute(EOAttribute attr, java.lang.Object o)
           
 void addJoinClause(java.lang.String left, java.lang.String right, int semantic)
           
 void addOrderByAttributeOrdering(EOSortOrdering order)
           
 void addSelectListAttribute(EOAttribute attr)
           
 void addUpdateListAttribute(EOAttribute attr, java.lang.Object o)
           
 net.wotonomy.foundation.NSMutableDictionary aliasesByRelationshipPath()
           
 java.lang.String allowsNullClauseForConstraint(boolean flag)
           
 void appendItemToListString(java.lang.String item, java.lang.StringBuffer list)
           
 java.lang.String assembleDeleteStatementWithQualifier(EOQualifier q, java.lang.String tableList, java.lang.String whereClause)
           
 java.lang.String assembleInsertStatementWithRow(net.wotonomy.foundation.NSDictionary row, java.lang.String tableList, java.lang.String columnList, java.lang.String valueList)
           
 java.lang.String assembleJoinClause(java.lang.String leftName, java.lang.String rightName, int semantic)
           
 java.lang.String assembleSelectStatementWithAttributes(net.wotonomy.foundation.NSArray attributes, boolean lock, EOQualifier q, net.wotonomy.foundation.NSArray fetchOrder, java.lang.String selectString, java.lang.String columnList, java.lang.String tableList, java.lang.String whereClause, java.lang.String joinClause, java.lang.String orderByClause, java.lang.String lockClause)
           
 java.lang.String assembleUpdateStatementWithRow(net.wotonomy.foundation.NSDictionary row, EOQualifier q, java.lang.String tableList, java.lang.String updateList, java.lang.String whereClause)
           
 net.wotonomy.foundation.NSArray bindVariableDictionaries()
           
abstract  net.wotonomy.foundation.NSMutableDictionary bindVariableDictionaryForAttribute(EOAttribute attr, java.lang.Object o)
           
 java.lang.String columnTypeStringForAttribute(EOAttribute attr)
           
 EOEntity entity()
           
 java.lang.String externalNameQuoteCharacter()
           
 java.lang.String formatSQLString(java.lang.String value, java.lang.String format)
           
 java.lang.String formatStringValue(java.lang.String s)
          Returns the received string wrapped in single quotes, with any quotes or escape chars found inside it properly escaped.
 java.lang.String formatValueForAttribute(java.lang.Object value, EOAttribute attr)
           
 java.lang.String joinClauseString()
           
 void joinExpression()
           
 java.lang.String listString()
           
 java.lang.String lockClause()
           
 boolean mustUseBindVariableForAttribute(EOAttribute attr)
           
 java.lang.String orderByString()
           
 void prepareConstraintStatementForRelationship(EORelationship rel, net.wotonomy.foundation.NSArray arr1, net.wotonomy.foundation.NSArray arr2)
           
 void prepareDeleteExpressionForQualifier(EOQualifier q)
           
 void prepareInsertExpressionWithRow(net.wotonomy.foundation.NSDictionary row)
           
 void prepareSelectExpressionWithAttributes(net.wotonomy.foundation.NSArray atts, boolean lock, EOFetchSpecification fspec)
           
 void prepareUpdateExpressionWithRow(net.wotonomy.foundation.NSDictionary row, EOQualifier q)
          Build an UPDATE statement with the given information.
 void setStatement(java.lang.String statement)
           
 void setUseAliases(boolean flag)
           
 void setUseBindVariables(boolean flag)
           
static void setUseQuotedExternalNames(boolean flag)
          Deprecated. Check externalNameQuoteCharacter instead.
 void setWhereClauseString(java.lang.String clause)
           
 boolean shouldUseBindVariableForAttribute(EOAttribute attr)
           
 char sqlEscapeChar()
           
 java.lang.String sqlPatternFromShellPattern(java.lang.String pattern)
           
 java.lang.String sqlPatternFromShellPatternWithEscapeCharacter(java.lang.String pattern, char escape)
           
 java.lang.String sqlStringForAttribute(EOAttribute attr)
           
 java.lang.String sqlStringForAttributeNamed(java.lang.String name)
           
 java.lang.String sqlStringForAttributePath(net.wotonomy.foundation.NSArray path)
          Returns a string representing the path from the first relationship in the array to the last one.
 java.lang.String sqlStringForCaseInsensitiveLike(java.lang.String key, java.lang.String value)
           
 java.lang.String sqlStringForConjoinedQualifiers(net.wotonomy.foundation.NSArray qualifiers)
           
 java.lang.String sqlStringForData(net.wotonomy.foundation.NSData data)
           
 java.lang.String sqlStringForDisjoinedQualifiers(net.wotonomy.foundation.NSArray qualifiers)
           
 java.lang.String sqlStringForKeyComparisonQualifier(EOKeyComparisonQualifier q)
           
 java.lang.String sqlStringForKeyValueQualifier(EOKeyValueQualifier q)
           
 java.lang.String sqlStringForNegatedQualifier(EOQualifier q)
           
static java.lang.String sqlStringForNumber(java.lang.Number number)
           
 java.lang.String sqlStringForQualifier(EOQualifierSQLGeneration sql)
           
 java.lang.String sqlStringForSchemaObjectName(java.lang.String name)
           
 java.lang.String sqlStringForSelector(net.wotonomy.foundation.NSSelector sel, java.lang.Object value)
           
static java.lang.String sqlStringForString(java.lang.String s)
           
 java.lang.String sqlStringForValue(java.lang.Object value, java.lang.String keyPath)
           
 java.lang.String statement()
           
 java.lang.String tableListWithRootEntity(EOEntity root)
           
 java.lang.String toString()
           
 boolean useAliases()
           
 boolean useBindVariables()
           
static boolean useQuotedExternalNames()
          Deprecated. Use the instance method externalNameQuoteCharacter instead.
 java.lang.String valueList()
           
 java.lang.String whereClauseString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BindVariableAttributeKey

public static final java.lang.String BindVariableAttributeKey
See Also:
Constant Field Values

BindVariableColumnKey

public static final java.lang.String BindVariableColumnKey
See Also:
Constant Field Values

BindVariableNameKey

public static final java.lang.String BindVariableNameKey
See Also:
Constant Field Values

BindVariablePlaceHolderKey

public static final java.lang.String BindVariablePlaceHolderKey
See Also:
Constant Field Values

BindVariableValueKey

public static final java.lang.String BindVariableValueKey
See Also:
Constant Field Values

_hexChars

protected static final char[] _hexChars

_aliasesByRelationshipPath

protected net.wotonomy.foundation.NSMutableDictionary _aliasesByRelationshipPath

_aliasesByEntityName

protected net.wotonomy.foundation.NSMutableDictionary _aliasesByEntityName

_bindings

protected net.wotonomy.foundation.NSMutableArray _bindings

_contextStack

protected net.wotonomy.foundation.NSMutableArray _contextStack

_defaultDateFormatter

protected static net.wotonomy.foundation.NSTimestampFormatter _defaultDateFormatter

_entity

protected EOEntity _entity

_joinClauseString

protected java.lang.StringBuffer _joinClauseString

_listString

protected java.lang.StringBuffer _listString

_orderByString

protected java.lang.StringBuffer _orderByString

_statement

protected java.lang.String _statement

_upperFunctionName

protected java.lang.String _upperFunctionName

_useAliases

protected boolean _useAliases

_quoteExternalNames

protected static boolean _quoteExternalNames

_valueListString

protected java.lang.StringBuffer _valueListString

_whereClauseString

protected java.lang.String _whereClauseString
Constructor Detail

EOSQLExpression

public EOSQLExpression(EOEntity entity)
Method Detail

_aliasForRelatedAttributeRelationshipPath

public java.lang.String _aliasForRelatedAttributeRelationshipPath(EOAttribute a,
                                                                  java.lang.String path)

_aliasForRelationshipPath

public java.lang.String _aliasForRelationshipPath(java.lang.String path)

_defaultDateFormatter

protected net.wotonomy.foundation.NSTimestampFormatter _defaultDateFormatter()

_listString

protected java.lang.StringBuffer _listString()

_orderByString

protected java.lang.StringBuffer _orderByString()

_rootEntityForExpression

public EOEntity _rootEntityForExpression()

_setEntity

public void _setEntity(EOEntity value)

_sqlStringForJoinSemanticMatchSemantic

public java.lang.String _sqlStringForJoinSemanticMatchSemantic(int semantic,
                                                               int match)

_stringForDate

protected java.lang.String _stringForDate(net.wotonomy.foundation.NSTimestamp timestamp)

_valueList

protected java.lang.StringBuffer _valueList()

addBindVariableDictionary

public void addBindVariableDictionary(net.wotonomy.foundation.NSDictionary dict)

addCreateClauseForAttribute

public void addCreateClauseForAttribute(EOAttribute attr)
Adds the SQL to create the attribute to the attribute list. The appended text is of the form attr_name attr_type allow_null

Parameters:
attr - The attribute to create the SQL for.

addInsertListAttribute

public void addInsertListAttribute(EOAttribute attr,
                                   java.lang.Object o)

addJoinClause

public void addJoinClause(java.lang.String left,
                          java.lang.String right,
                          int semantic)

addOrderByAttributeOrdering

public void addOrderByAttributeOrdering(EOSortOrdering order)

addSelectListAttribute

public void addSelectListAttribute(EOAttribute attr)

addUpdateListAttribute

public void addUpdateListAttribute(EOAttribute attr,
                                   java.lang.Object o)

aliasesByRelationshipPath

public net.wotonomy.foundation.NSMutableDictionary aliasesByRelationshipPath()

allowsNullClauseForConstraint

public java.lang.String allowsNullClauseForConstraint(boolean flag)

appendItemToListString

public void appendItemToListString(java.lang.String item,
                                   java.lang.StringBuffer list)

assembleDeleteStatementWithQualifier

public java.lang.String assembleDeleteStatementWithQualifier(EOQualifier q,
                                                             java.lang.String tableList,
                                                             java.lang.String whereClause)

assembleInsertStatementWithRow

public java.lang.String assembleInsertStatementWithRow(net.wotonomy.foundation.NSDictionary row,
                                                       java.lang.String tableList,
                                                       java.lang.String columnList,
                                                       java.lang.String valueList)

assembleJoinClause

public java.lang.String assembleJoinClause(java.lang.String leftName,
                                           java.lang.String rightName,
                                           int semantic)

assembleSelectStatementWithAttributes

public java.lang.String assembleSelectStatementWithAttributes(net.wotonomy.foundation.NSArray attributes,
                                                              boolean lock,
                                                              EOQualifier q,
                                                              net.wotonomy.foundation.NSArray fetchOrder,
                                                              java.lang.String selectString,
                                                              java.lang.String columnList,
                                                              java.lang.String tableList,
                                                              java.lang.String whereClause,
                                                              java.lang.String joinClause,
                                                              java.lang.String orderByClause,
                                                              java.lang.String lockClause)

assembleUpdateStatementWithRow

public java.lang.String assembleUpdateStatementWithRow(net.wotonomy.foundation.NSDictionary row,
                                                       EOQualifier q,
                                                       java.lang.String tableList,
                                                       java.lang.String updateList,
                                                       java.lang.String whereClause)

bindVariableDictionaries

public net.wotonomy.foundation.NSArray bindVariableDictionaries()

bindVariableDictionaryForAttribute

public abstract net.wotonomy.foundation.NSMutableDictionary bindVariableDictionaryForAttribute(EOAttribute attr,
                                                                                               java.lang.Object o)

columnTypeStringForAttribute

public java.lang.String columnTypeStringForAttribute(EOAttribute attr)

entity

public EOEntity entity()

externalNameQuoteCharacter

public java.lang.String externalNameQuoteCharacter()

formatSQLString

public java.lang.String formatSQLString(java.lang.String value,
                                        java.lang.String format)

formatStringValue

public java.lang.String formatStringValue(java.lang.String s)
Returns the received string wrapped in single quotes, with any quotes or escape chars found inside it properly escaped.

Parameters:
s - The string to format.

formatValueForAttribute

public java.lang.String formatValueForAttribute(java.lang.Object value,
                                                EOAttribute attr)

joinClauseString

public java.lang.String joinClauseString()

joinExpression

public void joinExpression()

listString

public java.lang.String listString()

lockClause

public java.lang.String lockClause()

mustUseBindVariableForAttribute

public boolean mustUseBindVariableForAttribute(EOAttribute attr)

orderByString

public java.lang.String orderByString()

prepareConstraintStatementForRelationship

public void prepareConstraintStatementForRelationship(EORelationship rel,
                                                      net.wotonomy.foundation.NSArray arr1,
                                                      net.wotonomy.foundation.NSArray arr2)

prepareDeleteExpressionForQualifier

public void prepareDeleteExpressionForQualifier(EOQualifier q)

prepareInsertExpressionWithRow

public void prepareInsertExpressionWithRow(net.wotonomy.foundation.NSDictionary row)

prepareSelectExpressionWithAttributes

public void prepareSelectExpressionWithAttributes(net.wotonomy.foundation.NSArray atts,
                                                  boolean lock,
                                                  EOFetchSpecification fspec)

prepareUpdateExpressionWithRow

public void prepareUpdateExpressionWithRow(net.wotonomy.foundation.NSDictionary row,
                                           EOQualifier q)
Build an UPDATE statement with the given information.


setStatement

public void setStatement(java.lang.String statement)

statement

public java.lang.String statement()

setUseAliases

public void setUseAliases(boolean flag)

useAliases

public boolean useAliases()

setUseBindVariables

public void setUseBindVariables(boolean flag)

useBindVariables

public boolean useBindVariables()

setUseQuotedExternalNames

public static void setUseQuotedExternalNames(boolean flag)
Deprecated. Check externalNameQuoteCharacter instead.


useQuotedExternalNames

public static boolean useQuotedExternalNames()
Deprecated. Use the instance method externalNameQuoteCharacter instead.


setWhereClauseString

public void setWhereClauseString(java.lang.String clause)

whereClauseString

public java.lang.String whereClauseString()

shouldUseBindVariableForAttribute

public boolean shouldUseBindVariableForAttribute(EOAttribute attr)

sqlEscapeChar

public char sqlEscapeChar()

sqlPatternFromShellPattern

public java.lang.String sqlPatternFromShellPattern(java.lang.String pattern)

sqlPatternFromShellPatternWithEscapeCharacter

public java.lang.String sqlPatternFromShellPatternWithEscapeCharacter(java.lang.String pattern,
                                                                      char escape)

sqlStringForAttribute

public java.lang.String sqlStringForAttribute(EOAttribute attr)

sqlStringForAttributeNamed

public java.lang.String sqlStringForAttributeNamed(java.lang.String name)

sqlStringForAttributePath

public java.lang.String sqlStringForAttributePath(net.wotonomy.foundation.NSArray path)
Returns a string representing the path from the first relationship in the array to the last one.

Parameters:
path - An array of EORelationship objects.
Returns:
A string consisting of the names of the relationships separated by dots.

sqlStringForCaseInsensitiveLike

public java.lang.String sqlStringForCaseInsensitiveLike(java.lang.String key,
                                                        java.lang.String value)

sqlStringForConjoinedQualifiers

public java.lang.String sqlStringForConjoinedQualifiers(net.wotonomy.foundation.NSArray qualifiers)

sqlStringForData

public java.lang.String sqlStringForData(net.wotonomy.foundation.NSData data)

sqlStringForDisjoinedQualifiers

public java.lang.String sqlStringForDisjoinedQualifiers(net.wotonomy.foundation.NSArray qualifiers)

sqlStringForKeyComparisonQualifier

public java.lang.String sqlStringForKeyComparisonQualifier(EOKeyComparisonQualifier q)

sqlStringForKeyValueQualifier

public java.lang.String sqlStringForKeyValueQualifier(EOKeyValueQualifier q)

sqlStringForNegatedQualifier

public java.lang.String sqlStringForNegatedQualifier(EOQualifier q)

sqlStringForNumber

public static java.lang.String sqlStringForNumber(java.lang.Number number)

sqlStringForQualifier

public java.lang.String sqlStringForQualifier(EOQualifierSQLGeneration sql)

sqlStringForSchemaObjectName

public java.lang.String sqlStringForSchemaObjectName(java.lang.String name)

sqlStringForSelector

public java.lang.String sqlStringForSelector(net.wotonomy.foundation.NSSelector sel,
                                             java.lang.Object value)

sqlStringForString

public static java.lang.String sqlStringForString(java.lang.String s)

sqlStringForValue

public java.lang.String sqlStringForValue(java.lang.Object value,
                                          java.lang.String keyPath)

tableListWithRootEntity

public java.lang.String tableListWithRootEntity(EOEntity root)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

valueList

public java.lang.String valueList()


Copyright © 2006 null. All Rights Reserved.