Package eu.miltema.slimorm.dialect
Class DefaultDialect
- java.lang.Object
-
- eu.miltema.slimorm.dialect.DefaultDialect
-
-
Constructor Summary
Constructors Constructor Description DefaultDialect()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetColumnName(java.lang.reflect.Field field)LoadBindergetJSonLoadBinder(java.lang.Class<?> fieldClass)SaveBindergetJSonSaveBinder(java.lang.Class<?> fieldClass)LoadBindergetLoadBinder(java.lang.Class<?> fieldType)EntityPropertiesgetProperties(java.lang.Class<?> entityClass)SaveBindergetSaveBinder(java.lang.Class<?> fieldType)java.lang.StringgetSqlForDelete(java.lang.String tableName)java.lang.StringgetSqlForInsert(java.lang.String tableName, java.util.Collection<java.lang.String> mutableColumns)This method provides the leading part of INSERT-statement, up until VALUES-word (inclusive)java.lang.StringgetSqlForSelect(java.lang.String tableName, java.util.Collection<java.lang.String> columns)java.lang.StringgetSqlForUpdate(java.lang.String tableName, java.util.Collection<java.lang.String> mutableColumns)java.lang.StringgetSqlForValuesClause(java.lang.String tableName, java.util.Collection<java.lang.String> mutableColumns)This method provides value placeholders in parenthesisjava.lang.StringgetSqlForWhere(java.lang.String tableName, java.lang.String idColumn)java.lang.StringgetTableName(java.lang.Class<?> clazz)protected <T> Tnvl(T value, java.sql.ResultSet rs)protected java.lang.StringtoSnakeCase(java.lang.String s)
-
-
-
Method Detail
-
nvl
protected <T> T nvl(T value, java.sql.ResultSet rs) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
getLoadBinder
public LoadBinder getLoadBinder(java.lang.Class<?> fieldType)
- Specified by:
getLoadBinderin interfaceDialect- Parameters:
fieldType- field type- Returns:
- load binder for a Java type
-
getSaveBinder
public SaveBinder getSaveBinder(java.lang.Class<?> fieldType)
- Specified by:
getSaveBinderin interfaceDialect- Parameters:
fieldType- field type- Returns:
- save binder for a Java type
-
toSnakeCase
protected java.lang.String toSnakeCase(java.lang.String s)
-
getTableName
public java.lang.String getTableName(java.lang.Class<?> clazz)
- Specified by:
getTableNamein interfaceDialect- Parameters:
clazz- entity class- Returns:
- database table name for this Java class
-
getColumnName
public java.lang.String getColumnName(java.lang.reflect.Field field)
- Specified by:
getColumnNamein interfaceDialect- Parameters:
field- entity field- Returns:
- column name for this field
-
getSqlForInsert
public java.lang.String getSqlForInsert(java.lang.String tableName, java.util.Collection<java.lang.String> mutableColumns)Description copied from interface:DialectThis method provides the leading part of INSERT-statement, up until VALUES-word (inclusive)- Specified by:
getSqlForInsertin interfaceDialect- Parameters:
tableName- table namemutableColumns- names of mutable columns- Returns:
- part of INSERT-statement without value parenthesis, for example "INSERT INTO mytable VALUES"
-
getSqlForValuesClause
public java.lang.String getSqlForValuesClause(java.lang.String tableName, java.util.Collection<java.lang.String> mutableColumns)Description copied from interface:DialectThis method provides value placeholders in parenthesis- Specified by:
getSqlForValuesClausein interfaceDialect- Parameters:
tableName- table namemutableColumns- names of mutable columns- Returns:
- for example "(?, ?, ?)"
-
getSqlForUpdate
public java.lang.String getSqlForUpdate(java.lang.String tableName, java.util.Collection<java.lang.String> mutableColumns)- Specified by:
getSqlForUpdatein interfaceDialect
-
getSqlForDelete
public java.lang.String getSqlForDelete(java.lang.String tableName)
- Specified by:
getSqlForDeletein interfaceDialect
-
getSqlForSelect
public java.lang.String getSqlForSelect(java.lang.String tableName, java.util.Collection<java.lang.String> columns)- Specified by:
getSqlForSelectin interfaceDialect
-
getSqlForWhere
public java.lang.String getSqlForWhere(java.lang.String tableName, java.lang.String idColumn)- Specified by:
getSqlForWherein interfaceDialect
-
getProperties
public EntityProperties getProperties(java.lang.Class<?> entityClass)
- Specified by:
getPropertiesin interfaceDialect
-
getJSonLoadBinder
public LoadBinder getJSonLoadBinder(java.lang.Class<?> fieldClass)
- Specified by:
getJSonLoadBinderin interfaceDialect
-
getJSonSaveBinder
public SaveBinder getJSonSaveBinder(java.lang.Class<?> fieldClass)
- Specified by:
getJSonSaveBinderin interfaceDialect
-
-