Class HeadwordRepositoryImpl
java.lang.Object
de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingSortingFilteringRepositoryImpl
de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl<U>
de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl<de.digitalcollections.model.semantic.Headword>
de.digitalcollections.cudami.server.backend.impl.jdbi.semantic.HeadwordRepositoryImpl
- All Implemented Interfaces:
PagingSortingFilteringRepository<de.digitalcollections.model.semantic.Headword>,HeadwordRepository,UniqueObjectRepository<de.digitalcollections.model.semantic.Headword>
@Repository
public class HeadwordRepositoryImpl
extends UniqueObjectRepositoryImpl<de.digitalcollections.model.semantic.Headword>
implements HeadwordRepository
-
Field Summary
FieldsFields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl
additionalReduceRowsBiConsumer, basicReduceRowsBiConsumer, fullReduceRowsBiConsumer, uniqueObjectImplClassFields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
dbi, mappingPrefix, tableAlias, tableNameFields inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingSortingFilteringRepositoryImpl
offsetForAlternativePaging -
Constructor Summary
ConstructorsConstructorDescriptionHeadwordRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRelatedEntity(UUID headwordUuid, UUID entityUuid) voidaddRelatedFileresource(UUID headwordUuid, UUID fileResourceUuid) de.digitalcollections.model.semantic.Headwordcreate()voiddeleteByLabelAndLocale(String label, Locale locale) intdeleteByUuids(List<UUID> uuids) voiddeleteRelatedEntities(UUID headwordUuid) voiddeleteRelatedFileresources(UUID headwordUuid) de.digitalcollections.model.list.buckets.BucketObjectsResponse<de.digitalcollections.model.semantic.Headword>find(de.digitalcollections.model.list.buckets.BucketObjectsRequest<de.digitalcollections.model.semantic.Headword> bucketObjectsRequest) de.digitalcollections.model.list.buckets.BucketsResponse<de.digitalcollections.model.semantic.Headword>find(de.digitalcollections.model.list.buckets.BucketsRequest<de.digitalcollections.model.semantic.Headword> bucketsRequest) List<de.digitalcollections.model.semantic.Headword>List<de.digitalcollections.model.semantic.Headword>findByLabel(String label) de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.semantic.Headword>findByLanguageAndInitial(de.digitalcollections.model.list.paging.PageRequest pageRequest, String language, String initial) de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Entity>findRelatedEntities(UUID headwordUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.resource.FileResource>findRelatedFileResources(UUID headwordUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) de.digitalcollections.model.semantic.HeadwordgetByLabelAndLocale(String label, Locale locale) getColumnName(String modelProperty) List<de.digitalcollections.model.semantic.Headword>getRandom(int count) List<de.digitalcollections.model.identifiable.entity.Entity>getRelatedEntities(UUID headwordUuid) List<de.digitalcollections.model.identifiable.resource.FileResource>getRelatedFileResources(UUID headwordUuid) protected Stringprotected StringDo not change order! Must match order in getSqlInsertFields!!!getSqlSelectAllFields(String tableAlias, String mappingPrefix) getSqlSelectReducedFields(String tableAlias, String mappingPrefix) protected StringList<de.digitalcollections.model.identifiable.entity.Entity>setRelatedEntities(UUID headwordUuid, List<de.digitalcollections.model.identifiable.entity.Entity> entities) List<de.digitalcollections.model.identifiable.resource.FileResource>setRelatedFileResources(UUID headwordUuid, List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources) protected booleansupportsCaseSensitivityForProperty(String modelProperty) Returns whether the passed property can be sorted case sensitive (in general).Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl
createAdditionalReduceRowsBiConsumer, createBasicReduceRowsBiConsumer, createFullReduceRowsBiConcumer, deleteByUuid, execSelectForList, extractUuids, find, find, find, find, getByUuidAndFiltering, getIndex, getIndex, getReturnedFieldsOnInsertUpdate, getSqlSelectAllFields, getSqlSelectAllFieldsJoins, getSqlSelectReducedFields, getSqlSelectReducedFieldsJoins, getUniqueField, insertUpdateCallback, retrieveCount, retrieveList, retrieveList, retrieveOne, retrieveOne, retrieveOne, save, save, sqlSelectReducedFields, update, updateMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
addFiltering, addFiltering, count, count, escapeTermForJsonpath, execUpdateWithList, execUpdateWithMap, filterByLocalizedTextFields, filterBySplitField, getJsonbFields, getMappingPrefix, getTableAlias, getTableName, getTargetExpression, getWhereClause, getWhereClauses, hasSplitColumn, mapFilterExpressionsToOtherTableColumnNames, retrieveNextSortIndexForParentChildren, splitToArray, splitToArrayMethods inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingSortingFilteringRepositoryImpl
addOrderBy, addPagingAndSorting, getOrderByMethods 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.semantic.HeadwordRepository
addRelatedEntity, addRelatedFileresource, findRelatedEntities, findRelatedFileResources, getRelatedEntities, getRelatedFileResources, setRelatedEntities, setRelatedFileResourcesMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.PagingSortingFilteringRepository
findMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.UniqueObjectRepository
count, delete, delete, deleteByUuid, getByExample, getByExampleAndFiltering, getByUuid, getByUuidAndFiltering, save, save, saveOrUpdate, update, update
-
Field Details
-
MAPPING_PREFIX
- See Also:
-
TABLE_ALIAS
- See Also:
-
TABLE_NAME
- See Also:
-
-
Constructor Details
-
HeadwordRepositoryImpl
-
-
Method Details
-
addRelatedEntity
- Specified by:
addRelatedEntityin interfaceHeadwordRepository- Throws:
RepositoryException
-
addRelatedFileresource
public void addRelatedFileresource(UUID headwordUuid, UUID fileResourceUuid) throws RepositoryException - Specified by:
addRelatedFileresourcein interfaceHeadwordRepository- Throws:
RepositoryException
-
create
- Specified by:
createin interfaceUniqueObjectRepository<de.digitalcollections.model.semantic.Headword>- Throws:
RepositoryException
-
deleteByLabelAndLocale
- Specified by:
deleteByLabelAndLocalein interfaceHeadwordRepository- Throws:
RepositoryException
-
deleteByUuids
- Specified by:
deleteByUuidsin interfaceUniqueObjectRepository<de.digitalcollections.model.semantic.Headword>- Overrides:
deleteByUuidsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.semantic.Headword>- Throws:
RepositoryException
-
deleteRelatedEntities
- Specified by:
deleteRelatedEntitiesin interfaceHeadwordRepository- Throws:
RepositoryException
-
deleteRelatedFileresources
- Specified by:
deleteRelatedFileresourcesin interfaceHeadwordRepository- Throws:
RepositoryException
-
find
public de.digitalcollections.model.list.buckets.BucketObjectsResponse<de.digitalcollections.model.semantic.Headword> find(de.digitalcollections.model.list.buckets.BucketObjectsRequest<de.digitalcollections.model.semantic.Headword> bucketObjectsRequest) throws RepositoryException - Specified by:
findin interfaceHeadwordRepository- Throws:
RepositoryException
-
find
public de.digitalcollections.model.list.buckets.BucketsResponse<de.digitalcollections.model.semantic.Headword> find(de.digitalcollections.model.list.buckets.BucketsRequest<de.digitalcollections.model.semantic.Headword> bucketsRequest) throws RepositoryException - Specified by:
findin interfaceHeadwordRepository- Throws:
RepositoryException
-
find
public List<de.digitalcollections.model.semantic.Headword> find(String label, Locale locale) throws RepositoryException - Specified by:
findin interfaceHeadwordRepository- Throws:
RepositoryException
-
findByLabel
public List<de.digitalcollections.model.semantic.Headword> findByLabel(String label) throws RepositoryException - Specified by:
findByLabelin interfaceHeadwordRepository- Throws:
RepositoryException
-
findByLanguageAndInitial
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.semantic.Headword> findByLanguageAndInitial(de.digitalcollections.model.list.paging.PageRequest pageRequest, String language, String initial) - Specified by:
findByLanguageAndInitialin interfaceHeadwordRepository
-
findRelatedEntities
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Entity> findRelatedEntities(UUID headwordUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) - Specified by:
findRelatedEntitiesin interfaceHeadwordRepository
-
findRelatedFileResources
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.resource.FileResource> findRelatedFileResources(UUID headwordUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) - Specified by:
findRelatedFileResourcesin interfaceHeadwordRepository
-
getAllowedOrderByFields
- Overrides:
getAllowedOrderByFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.semantic.Headword>- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getByLabelAndLocale
public de.digitalcollections.model.semantic.Headword getByLabelAndLocale(String label, Locale locale) - Specified by:
getByLabelAndLocalein interfaceHeadwordRepository
-
getColumnName
- Overrides:
getColumnNamein classUniqueObjectRepositoryImpl<de.digitalcollections.model.semantic.Headword>- 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)
-
getLanguages
- Specified by:
getLanguagesin interfaceHeadwordRepository
-
getRandom
- Specified by:
getRandomin interfaceUniqueObjectRepository<de.digitalcollections.model.semantic.Headword>
-
getRelatedEntities
public List<de.digitalcollections.model.identifiable.entity.Entity> getRelatedEntities(UUID headwordUuid) - Specified by:
getRelatedEntitiesin interfaceHeadwordRepository
-
getRelatedFileResources
public List<de.digitalcollections.model.identifiable.resource.FileResource> getRelatedFileResources(UUID headwordUuid) - Specified by:
getRelatedFileResourcesin interfaceHeadwordRepository
-
getSqlInsertFields
- Overrides:
getSqlInsertFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.semantic.Headword>- Returns:
- SQL for field names for insert statement of
UniqueObject
-
getSqlInsertValues
Description copied from class:UniqueObjectRepositoryImplDo not change order! Must match order in getSqlInsertFields!!!- Overrides:
getSqlInsertValuesin classUniqueObjectRepositoryImpl<de.digitalcollections.model.semantic.Headword>- Returns:
- SQL for value mapping for field names for insert statement of
UniqueObject
-
getSqlSelectAllFields
- Overrides:
getSqlSelectAllFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.semantic.Headword>
-
getSqlSelectReducedFields
- Overrides:
getSqlSelectReducedFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.semantic.Headword>
-
getSqlUpdateFieldValues
- Overrides:
getSqlUpdateFieldValuesin classUniqueObjectRepositoryImpl<de.digitalcollections.model.semantic.Headword>
-
setRelatedEntities
public List<de.digitalcollections.model.identifiable.entity.Entity> setRelatedEntities(UUID headwordUuid, List<de.digitalcollections.model.identifiable.entity.Entity> entities) - Specified by:
setRelatedEntitiesin interfaceHeadwordRepository
-
setRelatedFileResources
public List<de.digitalcollections.model.identifiable.resource.FileResource> setRelatedFileResources(UUID headwordUuid, List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources) - Specified by:
setRelatedFileResourcesin interfaceHeadwordRepository
-
supportsCaseSensitivityForProperty
Description copied from class:AbstractPagingSortingFilteringRepositoryImplReturns whether the passed property can be sorted case sensitive (in general). This method should be kept in sync withAbstractPagingSortingFilteringRepositoryImpl.getAllowedOrderByFields().- Specified by:
supportsCaseSensitivityForPropertyin classAbstractPagingSortingFilteringRepositoryImpl- Parameters:
modelProperty- the property name (similar toAbstractPagingSortingFilteringRepositoryImpl.getColumnName(java.lang.String))- Returns:
trueonly if case (in)sensitive sorting is possible
-