Class JdbcBackendDatabase<T,​M>

    • 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
      • isAnyTenantPredicate

        protected final Predicate<String> isAnyTenantPredicate
    • 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

      • findOne

        public abstract T findOne​(@NonNull
                                  String tenantId,
                                  @NonNull
                                  String id,
                                  String rev)
      • toId

        protected String toId​(byte[] oid)
      • notAnyTenant

        protected boolean notAnyTenant​(String tenantId)
      • findOne

        @NonNull
        public T findOne​(String tenantId,
                         @NonNull
                         String id)
      • exists

        public boolean exists​(@NonNull
                              String tenantId,
                              @NonNull
                              String id)
      • delete

        public boolean delete​(@NonNull
                              String tenantId,
                              @NonNull
                              String id)
      • save

        @NonNull
        public abstract T save​(String tenantId,
                               @NonNull
                               T document)
      • getRevision

        protected Integer getRevision​(@NonNull
                                      T document)
      • 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)