Package lu.kbra.pclib.db.utils
Class BaseDatabaseEntryUtils
java.lang.Object
lu.kbra.pclib.db.utils.BaseDatabaseEntryUtils
- All Implemented Interfaces:
DatabaseEntryUtils,DatabaseEntryUtilsOptionsOwner
- Direct Known Subclasses:
BaseProxyDatabaseEntryUtils
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected SQLColumnTypeProviderprotected final Stringprotected SQLEncodingTypeProviderprotected EntryInstanceProviderprotected SQLFunctionResolverprotected HintScannerprotected SQLQueryableHookManagerprotected SQLStructureVisitorFields inherited from interface lu.kbra.pclib.db.utils.impl.DatabaseEntryUtils
DBMS_FILTER_ALL, EMPTY_ARRAY, EMPTY_MAP, EMPTY_OPTIONAL, EMPTY_SET, FIELD_NAME_KEY, FUNCTION_KEY, MEMBER_KEY, PARAMETER_COLUMN_KEY, PARAMETER_VALUE_KEY, PROPERTY_ENVIRONMENT_KEY, PROPERTY_KEY, PROPERTY_PROP_KEY, PROPERTY_QUERYABLE_KEY, QUALIFIER_KEY, TABLE_NAME_KEYFields inherited from interface lu.kbra.pclib.db.utils.impl.DatabaseEntryUtilsOptionsOwner
FAIL_ON_DUPLICATE_FACTORY_METHOD, FAIL_ON_DUPLICATE_FACTORY_METHOD_PROPERTY, FORCE_DEFAULT_VALUE_ON_NON_NULL, FORCE_DEFAULT_VALUE_ON_NON_NULL_PROPERTY -
Constructor Summary
ConstructorsConstructorDescriptionBaseDatabaseEntryUtils(String protocolName) BaseDatabaseEntryUtils(ColumnTypeRegistry columnTypeRegistry, EncodingTypeRegistry encodingTypeRegistry, String protocolName) BaseDatabaseEntryUtils(ColumnTypeRegistry columnTypeRegistry, EncodingTypeRegistry encodingTypeRegistry, String protocolName, SQLStructureVisitor structureVisitor, SQLFunctionResolver functionResolver) -
Method Summary
Modifier and TypeMethodDescriptionvoidappendTypes(ColumnTypeRegistry columnTypeRegistry) voidappendTypes(EncodingTypeRegistry encodingTypeRegistry) protected MethodcomputeFactoryMethod(Class<?> clazz) <T extends DatabaseEntry>
BitSetcomputeInsertColumnMask(AbstractDBTable<? extends T> table, T data) <T extends DatabaseEntry>
voidfillInsert(AbstractDBTable<? extends T> table, T data, ResultSet rs) Only reload generated keysprotected <T extends DatabaseEntry>
TfillLoad(Class<T> entryClazz, ResultSet rs, EntryInstanceProvider.FactoryMethod factoryMethod) <T extends DatabaseEntry>
voidfillLoad(SQLQueryable<? extends T> table, T data, ResultSet rs) Full reload<T extends DatabaseEntry>
voidfillLoadAll(SQLQueryable<? extends T> table, Class<T> entryClazz, ResultSet rs, Consumer<T> listExporter) protected Fieldprotected Field[]getAllFields(Class<?> type) getColumnFor(SQLQueryableStructure structure, String localName) getColumnForField(SQLQueryableStructure structure, String fieldName) Deprecated.<T extends DatabaseEntry>
ColumnData[]getInsertColumns(AbstractDBTable<? extends T> table) <T extends DatabaseEntry>
String[]getInsertGeneratedColumnNames(AbstractDBTable<? extends T> table) Deprecated.<T extends DatabaseEntry>
ColumnData[]getInsertGeneratedColumns(AbstractDBTable<? extends T> table) Deprecated.<T extends DatabaseEntry>
MethodgetInsertMethod(Class<T> dataClazz) <T extends DatabaseEntry>
MethodgetLoadMethod(Class<T> dataClazz) <T extends DatabaseEntry>
ColumnData[]getNonNullColumns(SQLQueryable<? extends T> table) NOT OnUpdate, NOT PK, NOT Generated<T extends DatabaseEntry>
String[]getNonNullKeys(SQLQueryable<? extends T> instance, T data) returns the names of the columns that aren't null. ignored primary keys, generated and OnUpdate columns.<T extends DatabaseEntry>
Map<String,Object> getNonNullValues(SQLQueryable<? extends T> instance, T data) <T extends DatabaseEntry>
StringgetPreparedDeleteAllSQL(AbstractDBTable<? extends T> table, int count) <T extends DatabaseEntry>
StringgetPreparedDeleteSql(AbstractDBTable<? extends T> table) <T extends DatabaseEntry>
StringgetPreparedDeleteSQL(AbstractDBTable<? extends T> table) <T extends DatabaseEntry>
StringgetPreparedInsertSQL(AbstractDBTable<? extends T> table, T data) <T extends DatabaseEntry>
StringgetPreparedSelectAllSQL(SQLQueryable<? extends T> table, int count) <T extends DatabaseEntry>
StringgetPreparedSelectCountNotNullSQL(SQLQueryable<? extends T> instance, String[] notNullKeys) <T extends DatabaseEntry>
StringgetPreparedSelectCountUniqueSQL(SQLQueryable<? extends T> table, String[][] uniqueKeys) <T extends DatabaseEntry>
StringgetPreparedSelectSQL(SQLQueryable<? extends T> table) <T extends DatabaseEntry>
StringgetPreparedSelectUniqueSQL(SQLQueryable<? extends T> table, String[][] uniqueKeys) <T extends DatabaseEntry>
StringgetPreparedUpdateSQL(AbstractDBTable<? extends T> table) <T extends DatabaseEntry>
ColumnData[]getPrimaryKeys(SQLQueryable<? extends T> table) <T extends DatabaseEntry>
Object[]getPrimaryKeyValues(SQLQueryable<? extends T> table, T data) <T extends DatabaseEntry>
StringgetTruncateSQL(AbstractDBTable<? extends T> table) <T extends DatabaseEntry>
String[][]getUniqueKeys(SQLQueryable<? extends T> table, T data) <T extends DatabaseEntry>
Map<String,Object>[] getUniqueValues(SQLQueryable<? extends T> table, T data) <T extends DatabaseEntry>
ColumnData[]getUpdateColumns(AbstractDBTable<? extends T> table) <T extends DatabaseEntry>
String[]getUpdateColumnsExpr(AbstractDBTable<? extends T> table) <T extends DatabaseEntry>
String[]getUpdateColumnsNames(AbstractDBTable<? extends T> table) <T extends DatabaseEntry>
ColumnData[]getUpdateGeneratedColumns(AbstractDBTable<? extends T> table) Deprecated.<T extends DatabaseEntry>
String[]getUpdateGeneratedColumnsNames(AbstractDBTable<? extends T> table) Deprecated.<T extends DatabaseEntry>
MethodgetUpdateMethod(Class<T> dataClazz) loadTypes(ColumnTypeRegistry registry) loadTypes(EncodingTypeRegistry registry) <T extends DatabaseEntry>
voidprepareDeleteSQL(PreparedStatement stmt, AbstractDBTable<? extends T> table, T data) <T extends DatabaseEntry>
voidprepareInsertSQL(PreparedStatement stmt, AbstractDBTable<? extends T> table, T data) <T extends DatabaseEntry>
voidprepareSelectCountNotNullSQL(PreparedStatement stmt, SQLQueryable<? extends T> table, String[] notNullKeys, T data) <T extends DatabaseEntry>
voidprepareSelectCountUniqueSQL(PreparedStatement stmt, SQLQueryable<? extends T> table, String[][] uniqueKeys, T data) <T extends DatabaseEntry>
voidprepareSelectSQL(PreparedStatement stmt, SQLQueryable<? extends T> table, T data) <T extends DatabaseEntry>
voidprepareSelectUniqueSQL(PreparedStatement stmt, SQLQueryable<? extends T> table, String[][] uniqueKeys, T data) <T extends DatabaseEntry>
voidprepareUpdateSQL(PreparedStatement stmt, AbstractDBTable<? extends T> table, T data) <T extends DatabaseEntry>
StringresolveSQLQualifiers(SQLQueryable<? extends T> table, String input, Map<String, String> data, Function<String, Optional<String>> func) sortFields(Field[] fields) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface lu.kbra.pclib.db.utils.impl.DatabaseEntryUtils
fieldToColumnName, fieldToColumnName, getColumnFor, getColumnForField, getColumnTypeProvider, getDbmsQualifierName, getEncodingTypeProvider, getEntryInstanceProvider, getForeignKeyNames, getForeignKeyNames, getForeignKeys, getForeignKeys, getFunctionResolver, getHintScanner, getPrimaryKeyNames, getPrimaryKeyNames, getPrimaryKeys, getQueryableHookManager, getStructureVisitor, getTypeFor, matchesDbmsQualifier, parameterToColumnName, resolveSQLQualifiers, resolveSQLQualifiers, setColumnTypeProvider, setEntryInstanceProvider, setFunctionResolver, setHintScanner, setQueryableHookManager, setStructureVisitorMethods inherited from interface lu.kbra.pclib.db.utils.impl.DatabaseEntryUtilsOptionsOwner
getOption, getOptionOrDefault, getOptionOrDefault, getOptions, hasOption, isFailOnDuplicateFactoryMethod, isForceDefaultValueOnNonNull, setOption, setOptions, unsertOption
-
Field Details
-
dbmsQualifierName
-
hintScanner
-
columnTypeProvider
-
encodingTypeProvider
-
entryInstanceProvider
-
functionResolver
-
structureVisitor
-
queryableHookManager
-
options
-
-
Constructor Details
-
BaseDatabaseEntryUtils
public BaseDatabaseEntryUtils(ColumnTypeRegistry columnTypeRegistry, EncodingTypeRegistry encodingTypeRegistry, String protocolName) -
BaseDatabaseEntryUtils
public BaseDatabaseEntryUtils(ColumnTypeRegistry columnTypeRegistry, EncodingTypeRegistry encodingTypeRegistry, String protocolName, SQLStructureVisitor structureVisitor, SQLFunctionResolver functionResolver) -
BaseDatabaseEntryUtils
-
-
Method Details
-
appendTypes
- Specified by:
appendTypesin interfaceDatabaseEntryUtils
-
appendTypes
- Specified by:
appendTypesin interfaceDatabaseEntryUtils
-
fillInsert
public <T extends DatabaseEntry> void fillInsert(AbstractDBTable<? extends T> table, T data, ResultSet rs) throws SQLException Description copied from interface:DatabaseEntryUtilsOnly reload generated keys- Specified by:
fillInsertin interfaceDatabaseEntryUtils- Throws:
SQLException
-
fillLoad
public <T extends DatabaseEntry> void fillLoad(SQLQueryable<? extends T> table, T data, ResultSet rs) throws SQLException Description copied from interface:DatabaseEntryUtilsFull reload- Specified by:
fillLoadin interfaceDatabaseEntryUtils- Throws:
SQLException
-
fillLoadAll
public <T extends DatabaseEntry> void fillLoadAll(SQLQueryable<? extends T> table, Class<T> entryClazz, ResultSet rs, Consumer<T> listExporter) throws SQLException - Specified by:
fillLoadAllin interfaceDatabaseEntryUtils- Throws:
SQLException
-
getColumnFor
- Specified by:
getColumnForin interfaceDatabaseEntryUtils
-
getColumnForField
Deprecated.- Specified by:
getColumnForFieldin interfaceDatabaseEntryUtils
-
getInsertGeneratedColumns
@Deprecated public <T extends DatabaseEntry> ColumnData[] getInsertGeneratedColumns(AbstractDBTable<? extends T> table) Deprecated.- Specified by:
getInsertGeneratedColumnsin interfaceDatabaseEntryUtils
-
getInsertGeneratedColumnNames
@Deprecated public <T extends DatabaseEntry> String[] getInsertGeneratedColumnNames(AbstractDBTable<? extends T> table) Deprecated.- Specified by:
getInsertGeneratedColumnNamesin interfaceDatabaseEntryUtils
-
getInsertMethod
- Specified by:
getInsertMethodin interfaceDatabaseEntryUtils
-
getLoadMethod
- Specified by:
getLoadMethodin interfaceDatabaseEntryUtils
-
getNonNullKeys
public <T extends DatabaseEntry> String[] getNonNullKeys(SQLQueryable<? extends T> instance, T data) Description copied from interface:DatabaseEntryUtilsreturns the names of the columns that aren't null. ignored primary keys, generated and OnUpdate columns.- Specified by:
getNonNullKeysin interfaceDatabaseEntryUtils
-
getNonNullValues
public <T extends DatabaseEntry> Map<String,Object> getNonNullValues(SQLQueryable<? extends T> instance, T data) - Specified by:
getNonNullValuesin interfaceDatabaseEntryUtils
-
getPreparedDeleteSQL
- Specified by:
getPreparedDeleteSQLin interfaceDatabaseEntryUtils
-
getPreparedInsertSQL
public <T extends DatabaseEntry> String getPreparedInsertSQL(AbstractDBTable<? extends T> table, T data) - Specified by:
getPreparedInsertSQLin interfaceDatabaseEntryUtils
-
computeInsertColumnMask
public <T extends DatabaseEntry> BitSet computeInsertColumnMask(AbstractDBTable<? extends T> table, T data) - Specified by:
computeInsertColumnMaskin interfaceDatabaseEntryUtils
-
getPreparedSelectCountNotNullSQL
public <T extends DatabaseEntry> String getPreparedSelectCountNotNullSQL(SQLQueryable<? extends T> instance, String[] notNullKeys) - Specified by:
getPreparedSelectCountNotNullSQLin interfaceDatabaseEntryUtils
-
getPreparedSelectCountUniqueSQL
public <T extends DatabaseEntry> String getPreparedSelectCountUniqueSQL(SQLQueryable<? extends T> table, String[][] uniqueKeys) - Specified by:
getPreparedSelectCountUniqueSQLin interfaceDatabaseEntryUtils
-
getPreparedSelectSQL
- Specified by:
getPreparedSelectSQLin interfaceDatabaseEntryUtils
-
getPreparedSelectAllSQL
public <T extends DatabaseEntry> String getPreparedSelectAllSQL(SQLQueryable<? extends T> table, int count) - Specified by:
getPreparedSelectAllSQLin interfaceDatabaseEntryUtils
-
getPreparedDeleteAllSQL
public <T extends DatabaseEntry> String getPreparedDeleteAllSQL(AbstractDBTable<? extends T> table, int count) - Specified by:
getPreparedDeleteAllSQLin interfaceDatabaseEntryUtils
-
getPreparedSelectUniqueSQL
public <T extends DatabaseEntry> String getPreparedSelectUniqueSQL(SQLQueryable<? extends T> table, String[][] uniqueKeys) - Specified by:
getPreparedSelectUniqueSQLin interfaceDatabaseEntryUtils
-
getPreparedUpdateSQL
- Specified by:
getPreparedUpdateSQLin interfaceDatabaseEntryUtils
-
getUniqueKeys
- Specified by:
getUniqueKeysin interfaceDatabaseEntryUtils
-
getUniqueValues
public <T extends DatabaseEntry> Map<String,Object>[] getUniqueValues(SQLQueryable<? extends T> table, T data) - Specified by:
getUniqueValuesin interfaceDatabaseEntryUtils
-
getUpdateMethod
-
loadTypes
-
loadTypes
-
prepareDeleteSQL
public <T extends DatabaseEntry> void prepareDeleteSQL(PreparedStatement stmt, AbstractDBTable<? extends T> table, T data) throws SQLException - Specified by:
prepareDeleteSQLin interfaceDatabaseEntryUtils- Throws:
SQLException
-
prepareInsertSQL
public <T extends DatabaseEntry> void prepareInsertSQL(PreparedStatement stmt, AbstractDBTable<? extends T> table, T data) throws SQLException - Specified by:
prepareInsertSQLin interfaceDatabaseEntryUtils- Throws:
SQLException
-
prepareSelectCountNotNullSQL
public <T extends DatabaseEntry> void prepareSelectCountNotNullSQL(PreparedStatement stmt, SQLQueryable<? extends T> table, String[] notNullKeys, T data) throws SQLException - Specified by:
prepareSelectCountNotNullSQLin interfaceDatabaseEntryUtils- Throws:
SQLException
-
prepareSelectCountUniqueSQL
public <T extends DatabaseEntry> void prepareSelectCountUniqueSQL(PreparedStatement stmt, SQLQueryable<? extends T> table, String[][] uniqueKeys, T data) throws SQLException - Specified by:
prepareSelectCountUniqueSQLin interfaceDatabaseEntryUtils- Throws:
SQLException
-
prepareSelectSQL
public <T extends DatabaseEntry> void prepareSelectSQL(PreparedStatement stmt, SQLQueryable<? extends T> table, T data) throws SQLException - Specified by:
prepareSelectSQLin interfaceDatabaseEntryUtils- Throws:
SQLException
-
prepareSelectUniqueSQL
public <T extends DatabaseEntry> void prepareSelectUniqueSQL(PreparedStatement stmt, SQLQueryable<? extends T> table, String[][] uniqueKeys, T data) throws SQLException - Specified by:
prepareSelectUniqueSQLin interfaceDatabaseEntryUtils- Throws:
SQLException
-
prepareUpdateSQL
public <T extends DatabaseEntry> void prepareUpdateSQL(PreparedStatement stmt, AbstractDBTable<? extends T> table, T data) throws SQLException - Specified by:
prepareUpdateSQLin interfaceDatabaseEntryUtils- Throws:
SQLException
-
resolveSQLQualifiers
public <T extends DatabaseEntry> String resolveSQLQualifiers(SQLQueryable<? extends T> table, String input, Map<String, String> data, Function<String, Optional<String>> func) - Specified by:
resolveSQLQualifiersin interfaceDatabaseEntryUtils
-
sortFields
-
computeFactoryMethod
-
getNonNullColumns
NOT OnUpdate, NOT PK, NOT Generated -
getPreparedDeleteSql
-
getPrimaryKeys
- Specified by:
getPrimaryKeysin interfaceDatabaseEntryUtils
-
getPrimaryKeyValues
public <T extends DatabaseEntry> Object[] getPrimaryKeyValues(SQLQueryable<? extends T> table, T data) - Specified by:
getPrimaryKeyValuesin interfaceDatabaseEntryUtils
-
getUpdateColumnsNames
- Specified by:
getUpdateColumnsNamesin interfaceDatabaseEntryUtils
-
getUpdateColumnsExpr
- Specified by:
getUpdateColumnsExprin interfaceDatabaseEntryUtils
-
getUpdateGeneratedColumns
@Deprecated public <T extends DatabaseEntry> ColumnData[] getUpdateGeneratedColumns(AbstractDBTable<? extends T> table) Deprecated.- Specified by:
getUpdateGeneratedColumnsin interfaceDatabaseEntryUtils
-
getUpdateGeneratedColumnsNames
@Deprecated public <T extends DatabaseEntry> String[] getUpdateGeneratedColumnsNames(AbstractDBTable<? extends T> table) Deprecated.- Specified by:
getUpdateGeneratedColumnsNamesin interfaceDatabaseEntryUtils
-
fillLoad
protected <T extends DatabaseEntry> T fillLoad(Class<T> entryClazz, ResultSet rs, EntryInstanceProvider.FactoryMethod factoryMethod) throws SQLException - Throws:
SQLException
-
findField
- Throws:
NoSuchFieldException
-
getAllFields
-
getInsertColumns
-
getUpdateColumns
-
getTruncateSQL
- Specified by:
getTruncateSQLin interfaceDatabaseEntryUtils
-