Class EntityRepositoryImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
- 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<E>
-
- de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.EntityRepositoryImpl<E>
-
- All Implemented Interfaces:
EntityRepository<E>,IdentifiableRepository<E>
- Direct Known Subclasses:
AgentRepositoryImpl,ArticleRepositoryImpl,CollectionRepositoryImpl,CorporateBodyRepositoryImpl,DigitalObjectRepositoryImpl,GeoLocationRepositoryImpl,HeadwordEntryRepositoryImpl,HumanSettlementRepositoryImpl,ItemRepositoryImpl,PersonRepositoryImpl,ProjectRepositoryImpl,TopicRepositoryImpl,WebsiteRepositoryImpl,WorkRepositoryImpl
@Repository public class EntityRepositoryImpl<E extends de.digitalcollections.model.identifiable.entity.Entity> extends IdentifiableRepositoryImpl<E> implements EntityRepository<E>
-
-
Field Summary
Fields Modifier and Type Field Description static StringMAPPING_PREFIXstatic StringTABLE_ALIASstatic StringTABLE_NAME-
Fields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
additionalReduceRowsBiFunction, basicReduceRowsBiFunction, fullReduceRowsBiFunction, identifiableImplClass, sqlSelectAllFields, sqlSelectAllFieldsJoins, sqlSelectReducedFields
-
Fields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
dbi, mappingPrefix, tableAlias, tableName
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedEntityRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, String tableName, String tableAlias, String mappingPrefix, Class entityImplClass, String sqlSelectAllFields, String sqlSelectReducedFields, String sqlInsertFields, String sqlInsertValues, String sqlUpdateFieldValues)protectedEntityRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, String tableName, String tableAlias, String mappingPrefix, Class entityImplClass, String sqlSelectAllFields, String sqlSelectReducedFields, String sqlInsertFields, String sqlInsertValues, String sqlUpdateFieldValues, String sqlSelectAllFieldsJoins)protectedEntityRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, String tableName, String tableAlias, String mappingPrefix, Class entityImplClass, String sqlSelectAllFields, String sqlSelectReducedFields, String sqlInsertFields, String sqlInsertValues, String sqlUpdateFieldValues, String sqlSelectAllFieldsJoins, BiFunction<Map<UUID,E>,org.jdbi.v3.core.result.RowView,Map<UUID,E>> additionalReduceRowsBiFunction)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRelatedFileresource(UUID entityUuid, UUID fileResourceUuid)EfindOneByRefId(long refId)List<E>findRandom(int count)protected List<String>getAllowedOrderByFields()protected StringgetColumnName(String modelProperty)List<de.digitalcollections.model.identifiable.resource.FileResource>getRelatedFileResources(UUID entityUuid)static StringgetSqlInsertFields()static StringgetSqlInsertValues()static StringgetSqlSelectAllFields(String tableAlias, String mappingPrefix)static StringgetSqlSelectReducedFields(String tableAlias, String mappingPrefix)static StringgetSqlUpdateFieldValues()Esave(E entity, Map<String,Object> bindings)List<de.digitalcollections.model.identifiable.resource.FileResource>saveRelatedFileResources(UUID entityUuid, List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources)Eupdate(E entity, Map<String,Object> bindings)-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
addRelatedEntity, delete, escapeTermForJsonpath, find, find, find, find, findAllFull, findAllReduced, findByLanguageAndInitial, findOne, findOne, getCommonSearchSql, getIndex, getIndex, getLanguages, getRelatedEntities, getSearchTermTemplates, getSqlSelectAllFields, getSqlSelectReducedFields, retrieveCount, retrieveList, retrieveOne, retrieveOne, saveRelatedEntities
-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
addFiltering, addFiltering, count, getFilterClauses, getMappingPrefix, getTableAlias, getTableName, getWhereClause, retrieveNextSortIndexForParentChildren
-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
addLimit, addOffset, addOrderBy, addPageRequestParams, getOrderBy
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.IdentifiableRepository
addRelatedEntity, addRelatedEntity, addRelatedFileresource, count, delete, delete, find, find, find, findAllFull, findAllReduced, findByLanguageAndInitial, findOne, findOne, findOne, findOneByIdentifier, getLanguages, getRelatedEntities, getRelatedEntities, getRelatedFileResources, save, saveRelatedEntities, saveRelatedEntities, saveRelatedFileResources, update
-
-
-
-
Field Detail
-
MAPPING_PREFIX
public static final String MAPPING_PREFIX
- See Also:
- Constant Field Values
-
TABLE_ALIAS
public static final String TABLE_ALIAS
- See Also:
- Constant Field Values
-
TABLE_NAME
public static final String TABLE_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EntityRepositoryImpl
protected EntityRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, String tableName, String tableAlias, String mappingPrefix, Class entityImplClass, String sqlSelectAllFields, String sqlSelectReducedFields, String sqlInsertFields, String sqlInsertValues, String sqlUpdateFieldValues)
-
EntityRepositoryImpl
protected EntityRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, String tableName, String tableAlias, String mappingPrefix, Class entityImplClass, String sqlSelectAllFields, String sqlSelectReducedFields, String sqlInsertFields, String sqlInsertValues, String sqlUpdateFieldValues, String sqlSelectAllFieldsJoins)
-
EntityRepositoryImpl
protected EntityRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, String tableName, String tableAlias, String mappingPrefix, Class entityImplClass, String sqlSelectAllFields, String sqlSelectReducedFields, String sqlInsertFields, String sqlInsertValues, String sqlUpdateFieldValues, String sqlSelectAllFieldsJoins, BiFunction<Map<UUID,E>,org.jdbi.v3.core.result.RowView,Map<UUID,E>> additionalReduceRowsBiFunction)
-
-
Method Detail
-
getSqlInsertFields
public static String getSqlInsertFields()
-
getSqlInsertValues
public static String getSqlInsertValues()
-
getSqlSelectAllFields
public static String getSqlSelectAllFields(String tableAlias, String mappingPrefix)
-
getSqlSelectReducedFields
public static String getSqlSelectReducedFields(String tableAlias, String mappingPrefix)
-
getSqlUpdateFieldValues
public static String getSqlUpdateFieldValues()
-
addRelatedFileresource
public void addRelatedFileresource(UUID entityUuid, UUID fileResourceUuid)
- Specified by:
addRelatedFileresourcein interfaceIdentifiableRepository<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
addRelatedFileresourcein classIdentifiableRepositoryImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
findOneByRefId
public E findOneByRefId(long refId)
- Specified by:
findOneByRefIdin interfaceEntityRepository<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
findRandom
public List<E> findRandom(int count)
- Specified by:
findRandomin interfaceEntityRepository<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
getAllowedOrderByFields
protected List<String> getAllowedOrderByFields()
- Overrides:
getAllowedOrderByFieldsin classIdentifiableRepositoryImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getColumnName
protected String getColumnName(String modelProperty)
- Overrides:
getColumnNamein classIdentifiableRepositoryImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>- 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)
-
getRelatedFileResources
public List<de.digitalcollections.model.identifiable.resource.FileResource> getRelatedFileResources(UUID entityUuid)
- Specified by:
getRelatedFileResourcesin interfaceIdentifiableRepository<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
getRelatedFileResourcesin classIdentifiableRepositoryImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
save
public E save(E entity, Map<String,Object> bindings)
- Specified by:
savein interfaceIdentifiableRepository<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
savein classIdentifiableRepositoryImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
saveRelatedFileResources
public List<de.digitalcollections.model.identifiable.resource.FileResource> saveRelatedFileResources(UUID entityUuid, List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources)
- Specified by:
saveRelatedFileResourcesin interfaceIdentifiableRepository<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
saveRelatedFileResourcesin classIdentifiableRepositoryImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
update
public E update(E entity, Map<String,Object> bindings)
- Specified by:
updatein interfaceIdentifiableRepository<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
updatein classIdentifiableRepositoryImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
-