Package io.dialob.db.jdbc
Class JdbcBackendDatabase<T,M>
- java.lang.Object
-
- io.dialob.db.spi.spring.AbstractDocumentDatabase<T>
-
- io.dialob.db.jdbc.JdbcBackendDatabase<T,M>
-
- All Implemented Interfaces:
JdbcDatabase
- Direct Known Subclasses:
JdbcFormDatabase,JdbcQuestionnaireDatabase
public abstract class JdbcBackendDatabase<T,M> extends AbstractDocumentDatabase<T> implements JdbcDatabase
-
-
Field Summary
Fields Modifier and Type Field Description protected DatabaseHelperdatabaseHelperprotected Predicate<String>isAnyTenantPredicateprotected org.springframework.jdbc.core.JdbcTemplatejdbcTemplateprotected com.fasterxml.jackson.databind.ObjectMapperobjectMapperprotected StringtableNameprotected org.springframework.transaction.support.TransactionTemplatetransactionTemplate
-
Constructor Summary
Constructors Constructor Description JdbcBackendDatabase(org.springframework.transaction.support.TransactionTemplate transactionTemplate, org.springframework.jdbc.core.JdbcTemplate jdbcTemplate, DatabaseHelper databaseHelper, com.fasterxml.jackson.databind.ObjectMapper objectMapper, String schema, String tableName, Class<? extends T> documentClass, Predicate<String> isAnyTenantPredicate)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleandelete(String tenantId, String id)protected <R> RdoTransaction(Function<org.springframework.jdbc.core.JdbcTemplate,R> operation)booleanexists(String tenantId, String id)TfindOne(String tenantId, String id)abstract TfindOne(String tenantId, String id, String rev)DatabaseHelpergetDatabaseHelper()protected IntegergetRevision(T document)protected booleannotAnyTenant(String tenantId)abstract Tsave(String tenantId, T document)protected StringtoId(byte[] oid)protected abstract TupdatedDocument(T document, byte[] oid, Integer revision, Timestamp timestamp, String tenantId)-
Methods inherited from class io.dialob.db.spi.spring.AbstractDocumentDatabase
getDocumentClass, id, rev, updateDocumentId, updateDocumentRev
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.dialob.db.jdbc.JdbcDatabase
toJdbcId
-
-
-
-
Field Detail
-
tableName
protected final String tableName
-
jdbcTemplate
protected final org.springframework.jdbc.core.JdbcTemplate jdbcTemplate
-
transactionTemplate
protected final org.springframework.transaction.support.TransactionTemplate transactionTemplate
-
objectMapper
protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
-
databaseHelper
protected final DatabaseHelper databaseHelper
-
-
Constructor Detail
-
JdbcBackendDatabase
public JdbcBackendDatabase(org.springframework.transaction.support.TransactionTemplate transactionTemplate, org.springframework.jdbc.core.JdbcTemplate jdbcTemplate, DatabaseHelper databaseHelper, com.fasterxml.jackson.databind.ObjectMapper objectMapper, String schema, String tableName, Class<? extends T> documentClass, Predicate<String> isAnyTenantPredicate)
-
-
Method Detail
-
getDatabaseHelper
public DatabaseHelper getDatabaseHelper()
- Specified by:
getDatabaseHelperin interfaceJdbcDatabase
-
toId
protected String toId(byte[] oid)
-
notAnyTenant
protected boolean notAnyTenant(String tenantId)
-
updatedDocument
@NonNull protected abstract T updatedDocument(@NonNull T document, @NonNull byte[] oid, @NonNull Integer revision, @NonNull Timestamp timestamp, String tenantId)
-
doTransaction
protected <R> R doTransaction(Function<org.springframework.jdbc.core.JdbcTemplate,R> operation)
-
-