Class PredicateRepositoryImpl
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.relation.Predicate>
de.digitalcollections.cudami.server.backend.impl.jdbi.relation.PredicateRepositoryImpl
- All Implemented Interfaces:
PagingSortingFilteringRepository<de.digitalcollections.model.relation.Predicate>,PredicateRepository,UniqueObjectRepository<de.digitalcollections.model.relation.Predicate>
@Repository
public class PredicateRepositoryImpl
extends UniqueObjectRepositoryImpl<de.digitalcollections.model.relation.Predicate>
implements PredicateRepository
-
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
ConstructorsConstructorDescriptionPredicateRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig) -
Method Summary
Modifier and TypeMethodDescriptionde.digitalcollections.model.relation.Predicatecreate()booleandeleteByValue(String value) de.digitalcollections.model.relation.PredicategetByValue(String value) getColumnName(String modelProperty) protected LinkedHashMap<String,Function<de.digitalcollections.model.relation.Predicate, Optional<Object>>> List<de.digitalcollections.model.relation.Predicate>getRandom(int count) protected Stringprotected StringDo not change order! Must match order in getSqlInsertFields!!!getSqlSelectAllFields(String tableAlias, String mappingPrefix) getSqlSelectReducedFields(String tableAlias, String mappingPrefix) protected Stringprotected Stringprotected 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, deleteByUuids, execSelectForList, extractUuids, find, find, find, find, getByUuidAndFiltering, getIndex, getIndex, getReturnedFieldsOnInsertUpdate, getSqlSelectAllFields, getSqlSelectAllFieldsJoins, getSqlSelectReducedFields, getSqlSelectReducedFieldsJoins, 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, 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, save, saveOrUpdate, update, update
-
Field Details
-
MAPPING_PREFIX
- See Also:
-
TABLE_ALIAS
- See Also:
-
TABLE_NAME
- See Also:
-
-
Constructor Details
-
PredicateRepositoryImpl
-
-
Method Details
-
create
- Specified by:
createin interfaceUniqueObjectRepository<de.digitalcollections.model.relation.Predicate>- Throws:
RepositoryException
-
deleteByValue
- Specified by:
deleteByValuein interfacePredicateRepository- Throws:
RepositoryException
-
getAllowedOrderByFields
- Overrides:
getAllowedOrderByFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.relation.Predicate>- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getByValue
public de.digitalcollections.model.relation.Predicate getByValue(String value) throws RepositoryException - Specified by:
getByValuein interfacePredicateRepository- Throws:
RepositoryException
-
getColumnName
- Overrides:
getColumnNamein classUniqueObjectRepositoryImpl<de.digitalcollections.model.relation.Predicate>- 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)
-
getJsonbFields
protected LinkedHashMap<String,Function<de.digitalcollections.model.relation.Predicate, getJsonbFields()Optional<Object>>> - Overrides:
getJsonbFieldsin classJdbiRepositoryImpl<de.digitalcollections.model.relation.Predicate>- Returns:
- map containing name of jsonb field and function to get the field value
-
getLanguages
- Specified by:
getLanguagesin interfacePredicateRepository- Throws:
RepositoryException
-
getRandom
public List<de.digitalcollections.model.relation.Predicate> getRandom(int count) throws RepositoryException - Specified by:
getRandomin interfaceUniqueObjectRepository<de.digitalcollections.model.relation.Predicate>- Throws:
RepositoryException
-
getSqlInsertFields
- Overrides:
getSqlInsertFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.relation.Predicate>- 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.relation.Predicate>- Returns:
- SQL for value mapping for field names for insert statement of
UniqueObject
-
getSqlSelectAllFields
- Overrides:
getSqlSelectAllFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.relation.Predicate>
-
getSqlSelectReducedFields
- Overrides:
getSqlSelectReducedFieldsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.relation.Predicate>
-
getSqlUpdateFieldValues
- Overrides:
getSqlUpdateFieldValuesin classUniqueObjectRepositoryImpl<de.digitalcollections.model.relation.Predicate>
-
getUniqueField
- Overrides:
getUniqueFieldin classUniqueObjectRepositoryImpl<de.digitalcollections.model.relation.Predicate>- Returns:
- name of model property that guarantees an unique sorting, e.g. a db primary key or another unique column/field
-
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
-