Class IdentifiableRepositoryImpl<I extends de.digitalcollections.model.api.identifiable.Identifiable>
java.lang.Object
de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl<I>
- All Implemented Interfaces:
IdentifiableRepository<I>
- Direct Known Subclasses:
EntityPartRepositoryImpl,EntityRepositoryImpl,FamilyNameRepositoryImpl,FileResourceMetadataRepositoryImpl,GivenNameRepositoryImpl
@Repository public class IdentifiableRepositoryImpl<I extends de.digitalcollections.model.api.identifiable.Identifiable> extends JdbiRepositoryImpl implements IdentifiableRepository<I>
-
Field Summary
Fields Modifier and Type Field Description java.util.function.BiFunction<java.util.Map<java.util.UUID,I>,org.jdbi.v3.core.result.RowView,java.util.Map<java.util.UUID,I>>additionalReduceRowsBiFunctionjava.util.function.BiFunction<java.util.Map<java.util.UUID,I>,org.jdbi.v3.core.result.RowView,java.util.Map<java.util.UUID,I>>basicReduceRowsBiFunctionjava.util.function.BiFunction<java.util.Map<java.util.UUID,I>,org.jdbi.v3.core.result.RowView,java.util.Map<java.util.UUID,I>>fullReduceRowsBiFunctionprotected java.lang.ClassidentifiableImplClassprotected IdentifierRepositoryidentifierRepositorystatic java.lang.StringMAPPING_PREFIXprotected java.lang.StringsqlSelectAllFieldsprotected java.lang.StringsqlSelectAllFieldsJoinsprotected java.lang.StringsqlSelectReducedFieldsstatic java.lang.StringTABLE_ALIASstatic java.lang.StringTABLE_NAMEFields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
dbi, mappingPrefix, tableAlias, tableName -
Constructor Summary
Constructors Modifier Constructor Description protectedIdentifiableRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, IdentifierRepository identifierRepository)protectedIdentifiableRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, IdentifierRepository identifierRepository, java.lang.String tableName, java.lang.String tableAlias, java.lang.String mappingPrefix, java.lang.Class identifiableImplClass, java.lang.String sqlSelectAllFields, java.lang.String sqlSelectReducedFields, java.lang.String sqlInsertFields, java.lang.String sqlInsertValues, java.lang.String sqlUpdateFieldValues)protectedIdentifiableRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, IdentifierRepository identifierRepository, java.lang.String tableName, java.lang.String tableAlias, java.lang.String mappingPrefix, java.lang.Class identifiableImplClass, java.lang.String sqlSelectAllFields, java.lang.String sqlSelectReducedFields, java.lang.String sqlInsertFields, java.lang.String sqlInsertValues, java.lang.String sqlUpdateFieldValues, java.lang.String sqlSelectAllFieldsJoins)protectedIdentifiableRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, IdentifierRepository identifierRepository, java.lang.String tableName, java.lang.String tableAlias, java.lang.String mappingPrefix, java.lang.Class identifiableImplClass, java.lang.String sqlSelectAllFields, java.lang.String sqlSelectReducedFields, java.lang.String sqlInsertFields, java.lang.String sqlInsertValues, java.lang.String sqlUpdateFieldValues, java.lang.String sqlSelectAllFieldsJoins, java.util.function.BiFunction<java.util.Map<java.util.UUID,I>,org.jdbi.v3.core.result.RowView,java.util.Map<java.util.UUID,I>> additionalReduceRowsBiFunction) -
Method Summary
Modifier and Type Method Description booleandelete(java.util.List<java.util.UUID> uuids)booleandeleteIdentifiers(java.util.UUID identifiableUuid)de.digitalcollections.model.api.paging.PageResponse<I>find(de.digitalcollections.model.api.paging.PageRequest pageRequest)protected de.digitalcollections.model.api.paging.PageResponse<I>find(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.String commonSql, java.util.Map<java.lang.String,java.lang.Object> argumentMappings)de.digitalcollections.model.api.paging.SearchPageResponse<I>find(de.digitalcollections.model.api.paging.SearchPageRequest searchPageRequest)protected de.digitalcollections.model.api.paging.SearchPageResponse<I>find(de.digitalcollections.model.api.paging.SearchPageRequest searchPageRequest, java.lang.String commonSql, java.util.Map<java.lang.String,java.lang.Object> argumentMappings)java.util.List<I>findAllFull()java.util.List<I>findAllReduced()de.digitalcollections.model.api.paging.PageResponse<I>findByLanguageAndInitial(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.String language, java.lang.String initial)IfindOne(de.digitalcollections.model.api.identifiable.Identifier identifier)IfindOne(java.util.UUID uuid, de.digitalcollections.model.api.filter.Filtering filtering)protected java.util.List<java.lang.String>getAllowedOrderByFields()protected java.lang.StringgetColumnName(java.lang.String modelProperty)intgetIndex(java.util.List<? extends de.digitalcollections.model.api.identifiable.Identifiable> list, de.digitalcollections.model.api.identifiable.Identifiable identifiable)static java.lang.StringgetSqlInsertFields()static java.lang.StringgetSqlInsertValues()java.lang.StringgetSqlSelectAllFields()static java.lang.StringgetSqlSelectAllFields(java.lang.String tableAlias, java.lang.String mappingPrefix)java.lang.StringgetSqlSelectReducedFields()static java.lang.StringgetSqlSelectReducedFields(java.lang.String tableAlias, java.lang.String mappingPrefix)static java.lang.StringgetSqlUpdateFieldValues()longretrieveCount(java.lang.StringBuilder sqlCount, java.util.Map<java.lang.String,java.lang.Object> argumentMappings)java.util.List<I>retrieveList(java.lang.String fieldsSql, java.lang.StringBuilder innerQuery, java.util.Map<java.lang.String,java.lang.Object> argumentMappings, java.lang.String orderBy)protected java.lang.IntegerretrieveNextSortIndexForParentChildren(org.jdbi.v3.core.Jdbi dbi, java.lang.String tableName, java.lang.String columNameParentUuid, java.util.UUID parentUuid)IretrieveOne(java.lang.String fieldsSql, java.lang.String sqlSelectAllFieldsJoins, de.digitalcollections.model.api.filter.Filtering filtering, java.util.Map<java.lang.String,java.lang.Object> argumentMappings)Isave(I identifiable, java.util.Map<java.lang.String,java.lang.Object> bindings)voidsaveIdentifiers(java.util.Set<de.digitalcollections.model.api.identifiable.Identifier> identifiers, de.digitalcollections.model.api.identifiable.Identifiable identifiable)Iupdate(I identifiable, java.util.Map<java.lang.String,java.lang.Object> bindings)Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
count, getMappingPrefix, getTableAlias, getTableNameMethods inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
addFiltering, addFiltering, addLimit, addOffset, addOrderBy, addPageRequestParams, convertToSqlString, getFilterClauses, getOrderBy, getWhereClauseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.IdentifiableRepository
count, delete, find, findOne, findOneByIdentifier, save, update
-
Field Details
-
MAPPING_PREFIX
public static final java.lang.String MAPPING_PREFIX- See Also:
- Constant Field Values
-
TABLE_ALIAS
public static final java.lang.String TABLE_ALIAS- See Also:
- Constant Field Values
-
TABLE_NAME
public static final java.lang.String TABLE_NAME- See Also:
- Constant Field Values
-
additionalReduceRowsBiFunction
public java.util.function.BiFunction<java.util.Map<java.util.UUID,I extends de.digitalcollections.model.api.identifiable.Identifiable>,org.jdbi.v3.core.result.RowView,java.util.Map<java.util.UUID,I extends de.digitalcollections.model.api.identifiable.Identifiable>> additionalReduceRowsBiFunction -
basicReduceRowsBiFunction
public final java.util.function.BiFunction<java.util.Map<java.util.UUID,I extends de.digitalcollections.model.api.identifiable.Identifiable>,org.jdbi.v3.core.result.RowView,java.util.Map<java.util.UUID,I extends de.digitalcollections.model.api.identifiable.Identifiable>> basicReduceRowsBiFunction -
fullReduceRowsBiFunction
public final java.util.function.BiFunction<java.util.Map<java.util.UUID,I extends de.digitalcollections.model.api.identifiable.Identifiable>,org.jdbi.v3.core.result.RowView,java.util.Map<java.util.UUID,I extends de.digitalcollections.model.api.identifiable.Identifiable>> fullReduceRowsBiFunction -
identifiableImplClass
protected final java.lang.Class identifiableImplClass -
identifierRepository
-
sqlSelectAllFields
protected java.lang.String sqlSelectAllFields -
sqlSelectAllFieldsJoins
protected final java.lang.String sqlSelectAllFieldsJoins -
sqlSelectReducedFields
protected java.lang.String sqlSelectReducedFields
-
-
Constructor Details
-
IdentifiableRepositoryImpl
@Autowired protected IdentifiableRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, IdentifierRepository identifierRepository) -
IdentifiableRepositoryImpl
protected IdentifiableRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, IdentifierRepository identifierRepository, java.lang.String tableName, java.lang.String tableAlias, java.lang.String mappingPrefix, java.lang.Class identifiableImplClass, java.lang.String sqlSelectAllFields, java.lang.String sqlSelectReducedFields, java.lang.String sqlInsertFields, java.lang.String sqlInsertValues, java.lang.String sqlUpdateFieldValues) -
IdentifiableRepositoryImpl
protected IdentifiableRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, IdentifierRepository identifierRepository, java.lang.String tableName, java.lang.String tableAlias, java.lang.String mappingPrefix, java.lang.Class identifiableImplClass, java.lang.String sqlSelectAllFields, java.lang.String sqlSelectReducedFields, java.lang.String sqlInsertFields, java.lang.String sqlInsertValues, java.lang.String sqlUpdateFieldValues, java.lang.String sqlSelectAllFieldsJoins) -
IdentifiableRepositoryImpl
protected IdentifiableRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, IdentifierRepository identifierRepository, java.lang.String tableName, java.lang.String tableAlias, java.lang.String mappingPrefix, java.lang.Class identifiableImplClass, java.lang.String sqlSelectAllFields, java.lang.String sqlSelectReducedFields, java.lang.String sqlInsertFields, java.lang.String sqlInsertValues, java.lang.String sqlUpdateFieldValues, java.lang.String sqlSelectAllFieldsJoins, java.util.function.BiFunction<java.util.Map<java.util.UUID,I>,org.jdbi.v3.core.result.RowView,java.util.Map<java.util.UUID,I>> additionalReduceRowsBiFunction)
-
-
Method Details
-
getSqlInsertFields
public static java.lang.String getSqlInsertFields() -
getSqlInsertValues
public static java.lang.String getSqlInsertValues() -
getSqlSelectAllFields
public static java.lang.String getSqlSelectAllFields(java.lang.String tableAlias, java.lang.String mappingPrefix) -
getSqlSelectReducedFields
public static java.lang.String getSqlSelectReducedFields(java.lang.String tableAlias, java.lang.String mappingPrefix) -
getSqlUpdateFieldValues
public static java.lang.String getSqlUpdateFieldValues() -
delete
public boolean delete(java.util.List<java.util.UUID> uuids)- Specified by:
deletein interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-
deleteIdentifiers
public boolean deleteIdentifiers(java.util.UUID identifiableUuid)- Specified by:
deleteIdentifiersin interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-
find
public de.digitalcollections.model.api.paging.PageResponse<I> find(de.digitalcollections.model.api.paging.PageRequest pageRequest)- Specified by:
findin interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-
find
protected de.digitalcollections.model.api.paging.PageResponse<I> find(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.String commonSql, java.util.Map<java.lang.String,java.lang.Object> argumentMappings) -
find
public de.digitalcollections.model.api.paging.SearchPageResponse<I> find(de.digitalcollections.model.api.paging.SearchPageRequest searchPageRequest)- Specified by:
findin interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-
find
protected de.digitalcollections.model.api.paging.SearchPageResponse<I> find(de.digitalcollections.model.api.paging.SearchPageRequest searchPageRequest, java.lang.String commonSql, java.util.Map<java.lang.String,java.lang.Object> argumentMappings) -
findAllFull
- Specified by:
findAllFullin interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-
findAllReduced
- Specified by:
findAllReducedin interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-
findByLanguageAndInitial
public de.digitalcollections.model.api.paging.PageResponse<I> findByLanguageAndInitial(de.digitalcollections.model.api.paging.PageRequest pageRequest, java.lang.String language, java.lang.String initial)- Specified by:
findByLanguageAndInitialin interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-
findOne
- Specified by:
findOnein interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-
findOne
- Specified by:
findOnein interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-
getAllowedOrderByFields
protected java.util.List<java.lang.String> getAllowedOrderByFields()- Specified by:
getAllowedOrderByFieldsin classAbstractPagingAndSortingRepositoryImpl- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getColumnName
protected java.lang.String getColumnName(java.lang.String modelProperty)- Specified by:
getColumnNamein classAbstractPagingAndSortingRepositoryImpl- Parameters:
modelProperty- name of model property passed as String, e.g. "lastModified"- Returns:
- full qualified column name as used in sql queries ("last_modified" or e.g. "w.last_modified" if prefix used in queries)
-
getIndex
public int getIndex(java.util.List<? extends de.digitalcollections.model.api.identifiable.Identifiable> list, de.digitalcollections.model.api.identifiable.Identifiable identifiable) -
getSqlSelectAllFields
public java.lang.String getSqlSelectAllFields() -
getSqlSelectReducedFields
public java.lang.String getSqlSelectReducedFields() -
retrieveCount
public long retrieveCount(java.lang.StringBuilder sqlCount, java.util.Map<java.lang.String,java.lang.Object> argumentMappings) -
retrieveList
public java.util.List<I> retrieveList(java.lang.String fieldsSql, java.lang.StringBuilder innerQuery, java.util.Map<java.lang.String,java.lang.Object> argumentMappings, java.lang.String orderBy) -
retrieveNextSortIndexForParentChildren
protected java.lang.Integer retrieveNextSortIndexForParentChildren(org.jdbi.v3.core.Jdbi dbi, java.lang.String tableName, java.lang.String columNameParentUuid, java.util.UUID parentUuid) -
retrieveOne
public I retrieveOne(java.lang.String fieldsSql, java.lang.String sqlSelectAllFieldsJoins, de.digitalcollections.model.api.filter.Filtering filtering, java.util.Map<java.lang.String,java.lang.Object> argumentMappings) -
save
- Specified by:
savein interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-
saveIdentifiers
public void saveIdentifiers(java.util.Set<de.digitalcollections.model.api.identifiable.Identifier> identifiers, de.digitalcollections.model.api.identifiable.Identifiable identifiable) -
update
- Specified by:
updatein interfaceIdentifiableRepository<I extends de.digitalcollections.model.api.identifiable.Identifiable>
-