Class UrlAliasRepositoryImpl
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.identifiable.alias.UrlAlias>
de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.alias.UrlAliasRepositoryImpl
- All Implemented Interfaces:
UrlAliasRepository,PagingSortingFilteringRepository<de.digitalcollections.model.identifiable.alias.UrlAlias>,UniqueObjectRepository<de.digitalcollections.model.identifiable.alias.UrlAlias>
@Repository
public class UrlAliasRepositoryImpl
extends UniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.alias.UrlAlias>
implements UrlAliasRepository
-
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
ConstructorsConstructorDescriptionUrlAliasRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig) -
Method Summary
Modifier and TypeMethodDescriptionde.digitalcollections.model.identifiable.alias.UrlAliascreate()protected BiConsumer<Map<UUID,de.digitalcollections.model.identifiable.alias.UrlAlias>, org.jdbi.v3.core.result.RowView> Create basic reduce rows biconsumer for reduced selects (lists, paging)protected BiConsumer<Map<UUID,de.digitalcollections.model.identifiable.alias.UrlAlias>, org.jdbi.v3.core.result.RowView> Create full reduce rows biconsumer for full selects (find one).
For a plain UniqueObject full ad basic are the same (minimal dataset of uuid, lastModified, created).booleandeleteByIdentifiable(UUID identifiableUuid, boolean force) de.digitalcollections.model.identifiable.alias.LocalizedUrlAliasesfindAllPrimaryLinks(String slug) de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.alias.LocalizedUrlAliases>findLocalizedUrlAliases(de.digitalcollections.model.list.paging.PageRequest pageRequest) de.digitalcollections.model.identifiable.alias.LocalizedUrlAliasesfindPrimaryLinksForWebsite(UUID websiteUuid, String slug, boolean considerLanguage) de.digitalcollections.model.identifiable.alias.LocalizedUrlAliasesgetByIdentifiable(UUID uuid) getColumnName(String modelProperty) List<de.digitalcollections.model.identifiable.alias.UrlAlias>getRandom(int count) protected Stringprotected StringDo not change order! Must match order in getSqlInsertFields!!!getSqlSelectAllFields(String tableAlias, String mappingPrefix) getSqlSelectReducedFields(String tableAlias, String mappingPrefix) booleanhasUrlAlias(String slug, UUID websiteUuid, Locale targetLanguage) voidsave(de.digitalcollections.model.identifiable.alias.UrlAlias urlAlias) static StringsqlSelectAllFields(String tableAlias, String mappingPrefix) static StringsqlSelectReducedFields(String tableAlias, String mappingPrefix) protected booleansupportsCaseSensitivityForProperty(String modelProperty) Returns whether the passed property can be sorted case sensitive (in general).voidupdate(de.digitalcollections.model.identifiable.alias.UrlAlias urlAlias) Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl
createAdditionalReduceRowsBiConsumer, deleteByUuid, deleteByUuids, execSelectForList, extractUuids, find, find, find, find, getByUuidAndFiltering, getIndex, getIndex, getReturnedFieldsOnInsertUpdate, getSqlSelectAllFields, getSqlSelectAllFieldsJoins, getSqlSelectReducedFields, getUniqueField, insertUpdateCallback, retrieveCount, retrieveList, retrieveList, retrieveOne, retrieveOne, retrieveOne, save, save, 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.PagingSortingFilteringRepository
findMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.UniqueObjectRepository
count, delete, delete, deleteByUuid, deleteByUuids, getByExample, getByExampleAndFiltering, getByUuid, getByUuidAndFiltering, save, saveOrUpdate, updateMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.alias.UrlAliasRepository
deleteByIdentifiable, findPrimaryLinksForWebsite, findPrimaryLinksForWebsite, findPrimaryLinksForWebsite, getByIdentifiable, hasUrlAlias
-
Field Details
-
MAPPING_PREFIX
- See Also:
-
TABLE_ALIAS
- See Also:
-
TABLE_NAME
- See Also:
-
-
Constructor Details
-
UrlAliasRepositoryImpl
-
-
Method Details
-
sqlSelectAllFields
-
sqlSelectReducedFields
-
create
- Specified by:
createin interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.alias.UrlAlias>- Throws:
RepositoryException
-
createBasicReduceRowsBiConsumer
protected BiConsumer<Map<UUID,de.digitalcollections.model.identifiable.alias.UrlAlias>, createBasicReduceRowsBiConsumer()org.jdbi.v3.core.result.RowView> Description copied from class:UniqueObjectRepositoryImplCreate basic reduce rows biconsumer for reduced selects (lists, paging)- Overrides:
createBasicReduceRowsBiConsumerin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.alias.UrlAlias>- Returns:
- BiConsumer function
-
createFullReduceRowsBiConcumer
protected BiConsumer<Map<UUID,de.digitalcollections.model.identifiable.alias.UrlAlias>, createFullReduceRowsBiConcumer()org.jdbi.v3.core.result.RowView> Description copied from class:UniqueObjectRepositoryImplCreate full reduce rows biconsumer for full selects (find one).
For a plain UniqueObject full ad basic are the same (minimal dataset of uuid, lastModified, created).- Overrides:
createFullReduceRowsBiConcumerin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.alias.UrlAlias>- Returns:
- BiConsumer function
-
deleteByIdentifiable
public boolean deleteByIdentifiable(UUID identifiableUuid, boolean force) throws RepositoryException - Specified by:
deleteByIdentifiablein interfaceUrlAliasRepository- Throws:
RepositoryException
-
findAllPrimaryLinks
public de.digitalcollections.model.identifiable.alias.LocalizedUrlAliases findAllPrimaryLinks(String slug) throws RepositoryException - Specified by:
findAllPrimaryLinksin interfaceUrlAliasRepository- Throws:
RepositoryException
-
findLocalizedUrlAliases
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.alias.LocalizedUrlAliases> findLocalizedUrlAliases(de.digitalcollections.model.list.paging.PageRequest pageRequest) throws RepositoryException - Specified by:
findLocalizedUrlAliasesin interfaceUrlAliasRepository- Throws:
RepositoryException
-
findPrimaryLinksForWebsite
public de.digitalcollections.model.identifiable.alias.LocalizedUrlAliases findPrimaryLinksForWebsite(UUID websiteUuid, String slug, boolean considerLanguage) throws RepositoryException - Specified by:
findPrimaryLinksForWebsitein interfaceUrlAliasRepository- Throws:
RepositoryException
-
getAllowedOrderByFields
- Overrides:
getAllowedOrderByFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.alias.UrlAlias>- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getByIdentifiable
public de.digitalcollections.model.identifiable.alias.LocalizedUrlAliases getByIdentifiable(UUID uuid) throws RepositoryException - Specified by:
getByIdentifiablein interfaceUrlAliasRepository- Throws:
RepositoryException
-
getColumnName
- Overrides:
getColumnNamein classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.alias.UrlAlias>- 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<de.digitalcollections.model.identifiable.alias.UrlAlias> getRandom(int count) throws RepositoryException - Specified by:
getRandomin interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.alias.UrlAlias>- Throws:
RepositoryException
-
getSqlInsertFields
- Overrides:
getSqlInsertFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.alias.UrlAlias>- 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.identifiable.alias.UrlAlias>- Returns:
- SQL for value mapping for field names for insert statement of
UniqueObject
-
getSqlSelectAllFields
- Overrides:
getSqlSelectAllFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.alias.UrlAlias>
-
getSqlSelectReducedFields
- Overrides:
getSqlSelectReducedFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.alias.UrlAlias>
-
getSqlSelectReducedFieldsJoins
- Overrides:
getSqlSelectReducedFieldsJoinsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.alias.UrlAlias>- Returns:
- SQL for joined fields for reduced field set from other table(s) (optional). Default: ""
-
getSqlUpdateFieldValues
- Overrides:
getSqlUpdateFieldValuesin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.alias.UrlAlias>
-
hasUrlAlias
public boolean hasUrlAlias(String slug, UUID websiteUuid, Locale targetLanguage) throws RepositoryException - Specified by:
hasUrlAliasin interfaceUrlAliasRepository- Throws:
RepositoryException
-
save
public void save(de.digitalcollections.model.identifiable.alias.UrlAlias urlAlias) throws RepositoryException - Specified by:
savein interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.alias.UrlAlias>- Throws:
RepositoryException
-
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
-
update
public void update(de.digitalcollections.model.identifiable.alias.UrlAlias urlAlias) throws RepositoryException - Specified by:
updatein interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.alias.UrlAlias>- Throws:
RepositoryException
-