|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.caleigo.core.service.SQLToolKit
This class containes help methods for building valid SQL language statements based on CEL entities, descriptors and qualifiers. The class can be used by any IDataService implementation that connects to SQL based databases.
Nested Class Summary | |
static class |
SQLToolKit.BooleanCharTypeConverter
|
static class |
SQLToolKit.BooleanTypeConverter
|
static class |
SQLToolKit.CompositeQualifierParser
|
static class |
SQLToolKit.DateTypeConverter
|
static class |
SQLToolKit.HsqldbDatabaseSchema
|
static interface |
SQLToolKit.IDatabaseSchema
|
static interface |
SQLToolKit.IDataTypeConverter
|
static interface |
SQLToolKit.IQualifierParser
|
static class |
SQLToolKit.NegateQualifierParser
|
static class |
SQLToolKit.OracleDatabaseSchema
|
class |
SQLToolKit.RelationQualifierParser
|
static class |
SQLToolKit.StringTypeConverter
|
Field Summary | |
static java.lang.String |
DATABASE_HSQLDB
|
static java.lang.String |
DATABASE_ORACLE
|
Constructor Summary | |
SQLToolKit()
|
|
SQLToolKit(java.lang.String databaseMode)
|
Method Summary | |
void |
addDataTypeConverter(DataType dataType,
SQLToolKit.IDataTypeConverter converter)
|
void |
addQualifierParser(java.lang.Class qualifierClass,
SQLToolKit.IQualifierParser parser)
|
java.lang.String |
buildCreateRelationCommand(IEntityRelation relation)
|
java.lang.String |
buildCreateTableCommand(IEntityDescriptor entityDescriptor)
|
java.lang.String |
buildDataString(DataType type,
java.lang.Object data)
|
java.lang.String |
buildDeleteCommand(IEntityDescriptor entityDescriptor,
Qualifier qualifier)
|
java.lang.String |
buildInsertCommand(IEntity entity)
|
java.lang.String |
buildSelectCommand(DataQuery dataQuery)
Builds the SQL SELECT-command. |
java.lang.String |
buildSelectCommandWithOrder(DataQuery query)
|
java.lang.String |
buildUpdateCommand(IEntity entity,
Qualifier qualifier)
Builds the SQL UPDATE-command. |
java.lang.String |
buildWhereExpression(Qualifier qualifier,
java.lang.String alias)
Builds the SQL WHERE-part used in a SQL-command. |
java.lang.String |
formatIdentifier(java.lang.String indentifier)
|
SQLToolKit.IDataTypeConverter |
getDataTypeConverter(DataType dataType)
|
static java.lang.String |
getDefaultQuotingString()
|
protected java.util.Set |
getQualifierDescriptorSet(Qualifier qualifier)
Returns a Set containing the entity descriptors meaded for the WHERE statement built by the submited qualifier. |
SQLToolKit.IQualifierParser |
getQualifierParser(java.lang.Class qualifierClass)
|
java.lang.String |
getQuotingString()
|
boolean |
isQuotingIdentifiers()
|
static boolean |
isQuotingIdentifiersByDefault()
|
static boolean |
isUsingUppercaseIdentifiersByDefault()
|
java.lang.String |
prepareWildcards(java.lang.String dataString)
|
void |
setDatabaseSchema(SQLToolKit.IDatabaseSchema schema)
|
static void |
setDefaultQuotingString(java.lang.String defaultQuotingString)
|
static void |
setIsQuotingIdentifiersByDefault(boolean quote)
|
static void |
setIsUsingUppercaseIdentifiersByDefault(boolean force)
|
void |
setQuotingIdentifiers(boolean allwaysQuote)
|
void |
setQuotingString(java.lang.String quotingString)
|
void |
validateXternalQualifier(DataQuery.ExternalQualifier xternalQualifier,
IEntityDescriptor relatedEntityDescriptor)
Verify that the qualifer in the external qualifier only targets the first entity descriptor in the external qualifier's entity relation path. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String DATABASE_HSQLDB
public static final java.lang.String DATABASE_ORACLE
Constructor Detail |
public SQLToolKit()
public SQLToolKit(java.lang.String databaseMode)
Method Detail |
public static void setIsQuotingIdentifiersByDefault(boolean quote)
public static boolean isQuotingIdentifiersByDefault()
public static void setIsUsingUppercaseIdentifiersByDefault(boolean force)
public static boolean isUsingUppercaseIdentifiersByDefault()
public static void setDefaultQuotingString(java.lang.String defaultQuotingString)
public static java.lang.String getDefaultQuotingString()
public void addDataTypeConverter(DataType dataType, SQLToolKit.IDataTypeConverter converter)
public SQLToolKit.IDataTypeConverter getDataTypeConverter(DataType dataType)
public void addQualifierParser(java.lang.Class qualifierClass, SQLToolKit.IQualifierParser parser)
public SQLToolKit.IQualifierParser getQualifierParser(java.lang.Class qualifierClass)
public void setQuotingIdentifiers(boolean allwaysQuote)
public void setQuotingString(java.lang.String quotingString)
public java.lang.String getQuotingString()
public boolean isQuotingIdentifiers()
public java.lang.String buildSelectCommandWithOrder(DataQuery query)
public java.lang.String buildSelectCommand(DataQuery dataQuery)
dataQuery
- contains data to build a complete and minimal SQL-select
query. The data query's entity descriptor determines the SELECT- and
FROM-expressions. The WHERE-expression are determined by the data query's
qualifier and external qualifier's. In the case the data query's entity
descriptor is an instance of ICompositeEntityDescriptor this descriptor
contains a field group tree that builds JOIN-clauses in the
FROM-expression, it optionally contains a default qualifier that
determines a part of the WHERE-expression.
public java.lang.String buildUpdateCommand(IEntity entity, Qualifier qualifier)
qualifier
- should uniqally qualify the entities to be updated.
public java.lang.String buildCreateTableCommand(IEntityDescriptor entityDescriptor)
public java.lang.String buildCreateRelationCommand(IEntityRelation relation)
public java.lang.String buildInsertCommand(IEntity entity)
public java.lang.String buildDeleteCommand(IEntityDescriptor entityDescriptor, Qualifier qualifier)
public java.lang.String buildWhereExpression(Qualifier qualifier, java.lang.String alias)
qualifier
- should uniqally qualify entities (one or several)alias
- if this parameter isn't null this alias will be used in
the where clause.
public java.lang.String buildDataString(DataType type, java.lang.Object data)
public java.lang.String prepareWildcards(java.lang.String dataString)
protected java.util.Set getQualifierDescriptorSet(Qualifier qualifier)
public java.lang.String formatIdentifier(java.lang.String indentifier)
public void setDatabaseSchema(SQLToolKit.IDatabaseSchema schema)
public void validateXternalQualifier(DataQuery.ExternalQualifier xternalQualifier, IEntityDescriptor relatedEntityDescriptor)
xternalQualifier
- to be verified.
an
- InvalidQualifierException if the qualifer target's several
entity descriptor's or another one than the first one.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |