diff options
Diffstat (limited to 'projects/net.wotonomy.persistence/src/main/java/net/wotonomy/access/EOQualifierSQLGeneration.java')
| -rw-r--r-- | projects/net.wotonomy.persistence/src/main/java/net/wotonomy/access/EOQualifierSQLGeneration.java | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/access/EOQualifierSQLGeneration.java b/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/access/EOQualifierSQLGeneration.java index 4627f76..e7dff0f 100644 --- a/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/access/EOQualifierSQLGeneration.java +++ b/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/access/EOQualifierSQLGeneration.java @@ -27,15 +27,14 @@ import net.wotonomy.foundation.NSArray; import net.wotonomy.foundation.NSMutableDictionary; /** -* @author ezamudio@nasoft.com -* @author $Author: cgruber $ -* @version $Revision: 894 $ -*/ + * @author ezamudio@nasoft.com + * @author $Author: cgruber $ + * @version $Revision: 894 $ + */ public interface EOQualifierSQLGeneration { - public EOQualifier qualifierMigratedFromEntityRelationshipPath( - EOEntity entity, String path); + public EOQualifier qualifierMigratedFromEntityRelationshipPath(EOEntity entity, String path); public EOQualifier schemaBasedQualifierWithRootEntity(EOEntity entity); @@ -60,8 +59,9 @@ public interface EOQualifierSQLGeneration { public static void setSupportForClass(Support sup, Class aClass) { _classes.setObjectForKey(sup, aClass.getName()); } + public static Support supportForClass(Class aClass) { - return (Support)_classes.objectForKey(aClass.getName()); + return (Support) _classes.objectForKey(aClass.getName()); } public abstract String sqlStringForSQLExpression(EOQualifier q, EOSQLExpression exp); @@ -79,7 +79,7 @@ public interface EOQualifierSQLGeneration { } public String sqlStringForSQLExpression(EOQualifier qualifier, EOSQLExpression exp) { - EOKeyValueQualifier q = (EOKeyValueQualifier)qualifier; + EOKeyValueQualifier q = (EOKeyValueQualifier) qualifier; String sql1 = exp.sqlStringForAttributeNamed(q.key()); String sql2 = exp.sqlStringForSelector(q.selector(), q.value()); String sql3 = exp.sqlStringForValue(q.value(), q.key()); @@ -87,7 +87,7 @@ public interface EOQualifierSQLGeneration { return exp.sqlStringForCaseInsensitiveLike(sql1, sql3); else if (q.selector() == EOQualifier.QualifierOperatorLike) sql3 = exp.sqlPatternFromShellPattern(sql3); - return sql1 + sql2 + sql3; + return sql1 + sql2 + sql3; } public EOQualifier schemaBasedQualifierWithRootEntity(EOQualifier q, EOEntity e) { @@ -107,10 +107,9 @@ public interface EOQualifierSQLGeneration { } public String sqlStringForSQLExpression(EOQualifier qualifier, EOSQLExpression exp) { - EOKeyComparisonQualifier q = (EOKeyComparisonQualifier)qualifier; - return exp.sqlStringForAttributeNamed(q.leftKey()) + - exp.sqlStringForSelector(q.selector(), null) + - exp.sqlStringForAttributeNamed(q.rightKey()); + EOKeyComparisonQualifier q = (EOKeyComparisonQualifier) qualifier; + return exp.sqlStringForAttributeNamed(q.leftKey()) + exp.sqlStringForSelector(q.selector(), null) + + exp.sqlStringForAttributeNamed(q.rightKey()); } public EOQualifier schemaBasedQualifierWithRootEntity(EOQualifier q, EOEntity e) { @@ -130,18 +129,21 @@ public interface EOQualifierSQLGeneration { } public String sqlStringForSQLExpression(EOQualifier qualifier, EOSQLExpression exp) { - EONotQualifier q = (EONotQualifier)qualifier; - return "NOT (" + EOQualifierSQLGeneration.Support.supportForClass(q.qualifier().getClass()).sqlStringForSQLExpression(q.qualifier(), exp) + ")"; + EONotQualifier q = (EONotQualifier) qualifier; + return "NOT (" + EOQualifierSQLGeneration.Support.supportForClass(q.qualifier().getClass()) + .sqlStringForSQLExpression(q.qualifier(), exp) + ")"; } public EOQualifier schemaBasedQualifierWithRootEntity(EOQualifier qualifier, EOEntity e) { - EONotQualifier q = (EONotQualifier)qualifier; - return new EONotQualifier(EOQualifierSQLGeneration.Support.supportForClass(q.qualifier().getClass()).schemaBasedQualifierWithRootEntity(q.qualifier(), e)); + EONotQualifier q = (EONotQualifier) qualifier; + return new EONotQualifier(EOQualifierSQLGeneration.Support.supportForClass(q.qualifier().getClass()) + .schemaBasedQualifierWithRootEntity(q.qualifier(), e)); } public EOQualifier qualifierMigratedFromEntityRelationshipPath(EOQualifier qualifier, EOEntity e, String path) { - EONotQualifier q = (EONotQualifier)qualifier; - return new EONotQualifier(EOQualifierSQLGeneration.Support.supportForClass(q.qualifier().getClass()).qualifierMigratedFromEntityRelationshipPath(q.qualifier(), e, path)); + EONotQualifier q = (EONotQualifier) qualifier; + return new EONotQualifier(EOQualifierSQLGeneration.Support.supportForClass(q.qualifier().getClass()) + .qualifierMigratedFromEntityRelationshipPath(q.qualifier(), e, path)); } } @@ -153,16 +155,16 @@ public interface EOQualifierSQLGeneration { } public String sqlStringForSQLExpression(EOQualifier qualifier, EOSQLExpression exp) { - EOAndQualifier q = (EOAndQualifier)qualifier; + EOAndQualifier q = (EOAndQualifier) qualifier; NSArray qus = q.qualifiers(); StringBuffer buf = new StringBuffer(); for (int i = 0; i < qus.count(); i++) { - EOQualifier sub = (EOQualifier)qus.objectAtIndex(i); + EOQualifier sub = (EOQualifier) qus.objectAtIndex(i); EOQualifierSQLGeneration.Support sup = EOQualifierSQLGeneration.Support.supportForClass(sub.getClass()); if (sup == null) throw new IllegalStateException("Cannot find support class for " + sub.getClass().getName()); buf.append(sup.sqlStringForSQLExpression(sub, exp)); - if (i < qus.count()-1) + if (i < qus.count() - 1) buf.append(" AND "); } if (qus.count() > 1) { @@ -189,16 +191,16 @@ public interface EOQualifierSQLGeneration { } public String sqlStringForSQLExpression(EOQualifier qualifier, EOSQLExpression exp) { - EOOrQualifier q = (EOOrQualifier)qualifier; + EOOrQualifier q = (EOOrQualifier) qualifier; NSArray qus = q.qualifiers(); StringBuffer buf = new StringBuffer(); for (int i = 0; i < qus.count(); i++) { - EOQualifier sub = (EOQualifier)qus.objectAtIndex(i); + EOQualifier sub = (EOQualifier) qus.objectAtIndex(i); EOQualifierSQLGeneration.Support sup = EOQualifierSQLGeneration.Support.supportForClass(sub.getClass()); if (sup == null) throw new IllegalStateException("Cannot find support class for " + sub.getClass().getName()); buf.append(sup.sqlStringForSQLExpression(sub, exp)); - if (i < qus.count()-1) + if (i < qus.count() - 1) buf.append(" OR "); } if (qus.count() > 1) { @@ -220,22 +222,23 @@ public interface EOQualifierSQLGeneration { } /* - * $Log$ - * Revision 1.2 2006/02/16 16:47:14 cgruber - * Move some classes in to "internal" packages and re-work imports, etc. + * $Log$ Revision 1.2 2006/02/16 16:47:14 cgruber Move some classes in to + * "internal" packages and re-work imports, etc. * - * Also use UnsupportedOperationExceptions where appropriate, instead of WotonomyExceptions. + * Also use UnsupportedOperationExceptions where appropriate, instead of + * WotonomyExceptions. * - * Revision 1.1 2006/02/16 13:19:57 cgruber - * Check in all sources in eclipse-friendly maven-enabled packages. + * Revision 1.1 2006/02/16 13:19:57 cgruber Check in all sources in + * eclipse-friendly maven-enabled packages. * - * Revision 1.3 2003/08/14 02:13:10 chochos - * KeyValueQualifierSupport generates proper SQL + * Revision 1.3 2003/08/14 02:13:10 chochos KeyValueQualifierSupport generates + * proper SQL * - * Revision 1.2 2003/08/14 01:05:51 chochos - * added abstract Support inner class, with incomplete implementations for the main qualifiers (not, and, or, key-value, key-comparison) + * Revision 1.2 2003/08/14 01:05:51 chochos added abstract Support inner class, + * with incomplete implementations for the main qualifiers (not, and, or, + * key-value, key-comparison) * - * Revision 1.1 2003/08/12 01:45:49 chochos - * interface to be implemented by qualifiers (or support classes) to indicate they can generate SQL + * Revision 1.1 2003/08/12 01:45:49 chochos interface to be implemented by + * qualifiers (or support classes) to indicate they can generate SQL * */
\ No newline at end of file |
