|
WebObjects 5.2.3 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.webobjects.eoaccess.EOSQLExpression com.webobjects.jdbcadaptor.JDBCExpression com.webobjects.jdbcadaptor.OraclePlugIn.OracleExpression
Nested Class Summary |
Nested classes inherited from class com.webobjects.eoaccess.EOSQLExpression |
EOSQLExpression.SQLValue |
Field Summary |
Fields inherited from class com.webobjects.eoaccess.EOSQLExpression |
BindVariableAttributeKey, BindVariableColumnKey, BindVariableNameKey, BindVariablePlaceHolderKey, BindVariableValueKey |
Constructor Summary | |
OraclePlugIn.OracleExpression(EOEntity entity)
|
Method Summary | |
String |
assembleJoinClause(String leftName,
String rightName,
int semantic)
This method is invoked from addJoinClause to return
a JOIN clause. |
String |
assembleUpdateStatementWithRow(NSDictionary row,
EOQualifier qualifier,
String tableList,
String updateList,
String whereClause)
This method is invoked from prepareUpdateExpressionWithRow
to return an SQL UPDATE statement. |
String |
formatValueForAttribute(Object value,
EOAttribute attribute)
This method should be overridden by subclasses to return a string representation of value suitable for use in an SQL statement,
depending on attribute 's externalType . |
boolean |
mustUseBindVariableForAttribute(EOAttribute att)
Returns true if the receiver must use bind variables for
attribute , false otherwise. |
void |
prepareConstraintStatementForRelationship(EORelationship relationship,
NSArray sourceColumns,
NSArray destinationColumns)
Sets the receiver's statement to an adaptor specific
constraint for relationship. |
boolean |
shouldUseBindVariableForAttribute(EOAttribute att)
Returns true if the receiver can provide a bind variable
dictionary for attribute , false otherwise. |
String |
sqlStringForKeyValueQualifier(EOKeyValueQualifier qualifier)
Creates and returns a SQL string that is the result of interposing an operator between the SQL strings for qualifier 's key
and value. |
Methods inherited from class com.webobjects.jdbcadaptor.JDBCExpression |
addSelectListAttribute, allowsNullClauseForConstraint, appendItemToListString, appendItemToOrderByString, appendItemToValueListString, bindVariableDictionaryForAttribute, columnTypeStringForAttribute, externalNameQuoteCharacter, jdbcInfo, lockClause, prepareSelectExpressionWithAttributes, setJDBCInfo, useBindVariables |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public OraclePlugIn.OracleExpression(EOEntity entity)
Method Detail |
public String assembleJoinClause(String leftName, String rightName, int semantic)
EOSQLExpression
addJoinClause
to return
a JOIN clause. The clause is of the form:
where operator is "=" for an inner join, "*=" for a left-outer join, and "=*" for a right-outer join.leftName operator rightName
assembleJoinClause
in class EOSQLExpression
leftName
- specifies leftname
rightName
- specifies rightname
semantic
- specifies semantic
EOSQLExpression.addJoinClause(String aString, String aString, int anInt)
public String assembleUpdateStatementWithRow(NSDictionary row, EOQualifier qualifier, String tableList, String updateList, String whereClause)
EOSQLExpression
prepareUpdateExpressionWithRow
to return an SQL UPDATE statement. The statement is of the form:
UPDATE tableList SET updateList WHERE whereClause
row
and qualifier
are the arguments to
prepareUpdateExpressionWithRow
from which updateList
and
whereClause
were derived. They are provided for subclasses that
need to generate the clauses of the UPDATE statement in a
particular way.
assembleUpdateStatementWithRow
in class EOSQLExpression
row
- an NSDictionary containing the row dataqualifier
- an EOQualifier for finding the row to updatetableList
- SQL table listupdateList
- SQL update listwhereClause
- SQL where clause
EOSQLExpression.prepareUpdateExpressionWithRow(NSDictionary row, EOQualifier qualifier)
public String formatValueForAttribute(Object value, EOAttribute attribute)
EOSQLExpression
value
suitable for use in an SQL statement,
depending on attribute
's externalType
. For example,
a subclass might format a date using a special database-specific syntax
or standard form or truncate numbers to attribute's precision and scale.
EOSQLExpression's implementation merely returns the string representation
of value
.
formatValueForAttribute
in class JDBCExpression
public boolean mustUseBindVariableForAttribute(EOAttribute att)
EOSQLExpression
true
if the receiver must use bind variables for
attribute
, false
otherwise. EOSQLExpression's
implementation returns false
. An SQL expression subclass
that uses bind variables should override this method to return true
if the underlying RDBMS requires that bind variables be used for
attributes with attribute's
external type.
mustUseBindVariableForAttribute
in class JDBCExpression
true
for JDBCpublic void prepareConstraintStatementForRelationship(EORelationship relationship, NSArray sourceColumns, NSArray destinationColumns)
EOSQLExpression
statement
to an adaptor specific
constraint for relationship.
EOSQLExpression's implementation generates statements of the form:
WhereALTER TABLE TABLE_NAME ADD CONSTRAINT CONSTRAINT_NAME FOREIGN KEY (SOURCE_KEY_LIST) REFERENCES DESTINATION_TABLE_NAME (DESTINATION_KEY_LIST)
TABLE_NAME
is the external name of the
receiver's entity.CONSTRAINT_NAME
is the external name of
the receiver's entity, relationship's
name,
and the string "FK", concatenated with underbars between
them (EMPLOYEE_MANAGER_FK, for example),SOURCE_KEY_LIST
is a comma-separated list of
the source columns in sourceColumns
.DESTINATION_TABLE_NAME
is the external name of
relationship's
destination entity.DESTINATION_KEY_LIST
is a comma-separated list of
the destination columns in destinationColumns
prepareConstraintStatementForRelationship
in class EOSQLExpression
relationship
- specifies relationshipsourceColumns
- specifies array of source columnsdestinationColumns
- specifies destination columnsEOSQLExpression.statement()
,
EOSchemaGeneration.foreignKeyConstraintStatementsForRelationship(EORelationship relationship)
public boolean shouldUseBindVariableForAttribute(EOAttribute att)
EOSQLExpression
true
if the receiver can provide a bind variable
dictionary for attribute
, false
otherwise.
Bind variables aren't used for values associated with this attribute when
useBindVariables
returns false
. EOSQLExpression's
implementation returns false
. An SQL expression subclass should
override this method to return true
if the receiver should use
bind variables for attributes with attribute's
external type.
It should also return true
for any attribute for which the
receiver must use bind variables.
shouldUseBindVariableForAttribute
in class JDBCExpression
true
for JDBCpublic String sqlStringForKeyValueQualifier(EOKeyValueQualifier qualifier)
EOSQLExpression
qualifier
's key
and value. Determines the SQL operator by invoking
sqlStringForSelector
with qualifier's
selector
and value. Generates an SQL string for qualifier's
key
by invoking sqlStringForAttributeNamed
to get an SQL string and
formatSQLString
with the corresponding attribute's "read" format.
Similarly, generates an SQL string for qualifier's
value by
invoking sqlStringForValue
to get an SQL string and
formatValueForAttribute
to format it. (First invokes
sqlPatternFromShellPattern
for the value if
qualifier
's selector is
EOQualifier.QualifierOperatorLike
.)
sqlStringForKeyValueQualifier
in class EOSQLExpression
qualifier
- specifies qualifier
qualifier's
key and valueEOSQLExpression.sqlStringForSelector(NSSelector aNSSelector, Object anObject)
,
EOSQLExpression.sqlStringForAttributeNamed(String name)
,
EOSQLExpression.formatSQLString(String sqlString, String format)
,
EOSQLExpression.sqlStringForValue(Object value, String keyPath)
,
EOSQLExpression.formatValueForAttribute(Object value, EOAttribute attribute)
,
EOSQLExpression.sqlPatternFromShellPattern(String pattern)
|
Last updated Thu Oct 21 15:04:16 PDT 2004. | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |