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
-
Fields inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
offsetForAlternativePaging
-
-
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, int offsetForAlternativePaging)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, int offsetForAlternativePaging)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, int offsetForAlternativePaging)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRelatedFileresource(UUID entityUuid, UUID fileResourceUuid)protected List<String>getAllowedOrderByFields()EgetByRefId(long refId)StringgetColumnName(String modelProperty)List<E>getRandom(int count)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>setRelatedFileResources(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
addCrossTablePageRequestParams, addRelatedEntity, addSearchTermMappings, delete, extendReducedIdentifiable, find, find, find, find, findByLanguageAndInitial, getAllFull, getAllReduced, getByIdentifier, getByUuidAndFiltering, getIndex, getIndex, getLanguages, getRelatedEntities, getSearchTermTemplates, getSqlSelectAllFields, getSqlSelectReducedFields, getUniqueField, getWhereClause, retrieveCount, retrieveList, retrieveOne, retrieveOne, retrieveOne, setRelatedEntities, splitToArray, supportsCaseSensitivityForProperty
-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
addFiltering, addFiltering, addSearchTerm, count, count, escapeTermForJsonpath, getCommonSearchSql, getFilterClauses, getMappingPrefix, getTableAlias, getTableName, mapFilterExpressionsToOtherTableColumnNames, retrieveNextSortIndexForParentChildren
-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
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, findByLanguageAndInitial, getAllFull, getAllReduced, getByIdentifier, getByIdentifier, getByUuid, getByUuidAndFiltering, getLanguages, getRelatedEntities, getRelatedEntities, getRelatedFileResources, save, setRelatedEntities, setRelatedEntities, setRelatedFileResources, 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, int offsetForAlternativePaging)
-
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, int offsetForAlternativePaging)
-
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, int offsetForAlternativePaging)
-
-
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>
-
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
-
getByRefId
public E getByRefId(long refId)
- Specified by:
getByRefIdin interfaceEntityRepository<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
getColumnName
public 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)
-
getRandom
public List<E> getRandom(int count)
- Specified by:
getRandomin interfaceEntityRepository<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
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>
-
setRelatedFileResources
public List<de.digitalcollections.model.identifiable.resource.FileResource> setRelatedFileResources(UUID entityUuid, List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources)
- Specified by:
setRelatedFileResourcesin interfaceIdentifiableRepository<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
setRelatedFileResourcesin 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>
-
-