Class AbstractRepository<T extends TaskTideModel<T>>
java.lang.Object
org.tasktide.core.repository.AbstractRepository<T>
- All Implemented Interfaces:
TaskTideRepository<T>
- Direct Known Subclasses:
ItemStoreRepository, JpaRepository, TemplateRepository
public abstract class AbstractRepository<T extends TaskTideModel<T>>
extends Object
implements TaskTideRepository<T>
Abstract class to implement shared logic
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Stringprotected final TaskTideModelTypeprotected final RepositoryTypeprotected int -
Constructor Summary
ConstructorsConstructorDescriptionAbstractRepository(TaskTideModelType modelType, Class<T> modelClass, String collectionName, RepositoryType repoType) Construct with target model class, and collection name -
Method Summary
Modifier and TypeMethodDescriptionfilterByAnnotation(String key, Object value) Filters records with provided annotation key and valueFilters records with providedCustomAnnotationfindByFieldForGroupWithAnno(String field, Object value, String group, Object groupVal, String annoKey, Object annoValue) Extends collection, state query with annotation filteringfindByFieldForGroupWithAnno(String field, Object value, String group, Object groupVal, CustomAnnotation anno) Extends collection, state query with annotation filteringGet class of repositoryGet collection nameProvide a map of repository meta data reference class, repository type (NoSQL, RocksDB etc), collecion nameGet repository typeintGet results set sizehasAnnotationField(String key) Filter records which have provided annotation keyload()Could paginate herevoidsetResultSetSize(int nRecords) Set results set sizebooleanvalidateQueryFieldName(String query) Method to evaluate field membersMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface TaskTideRepository
deleteModel, extendModel, findAll, findByField, findByFieldForGroup, findById, insertModel, save, updateModel
-
Field Details
-
COLLECTION_CLASS
-
collectionName
-
repoType
-
modelType
-
resultSetSize
protected int resultSetSize
-
-
Constructor Details
-
AbstractRepository
public AbstractRepository(TaskTideModelType modelType, Class<T> modelClass, String collectionName, RepositoryType repoType) Construct with target model class, and collection name- Parameters:
modelType-modelClass-collectionName-repoType-
-
-
Method Details
-
getRepositoryMetaData
Provide a map of repository meta data reference class, repository type (NoSQL, RocksDB etc), collecion name- Specified by:
getRepositoryMetaDatain interfaceTaskTideRepository<T extends TaskTideModel<T>>- Returns:
- Map-String, String
-
filterByAnnotation
Filters records with providedCustomAnnotation- Specified by:
filterByAnnotationin interfaceTaskTideRepository<T extends TaskTideModel<T>>- Parameters:
anno-- Returns:
- List-
TaskTideModel
-
filterByAnnotation
Filters records with provided annotation key and value- Specified by:
filterByAnnotationin interfaceTaskTideRepository<T extends TaskTideModel<T>>- Parameters:
key-value-- Returns:
- List-
TaskTideModel
-
hasAnnotationField
Filter records which have provided annotation key- Specified by:
hasAnnotationFieldin interfaceTaskTideRepository<T extends TaskTideModel<T>>- Parameters:
key-- Returns:
- List-
TaskTideModel
-
findByFieldForGroupWithAnno
public List<T> findByFieldForGroupWithAnno(String field, Object value, String group, Object groupVal, String annoKey, Object annoValue) Extends collection, state query with annotation filtering- Specified by:
findByFieldForGroupWithAnnoin interfaceTaskTideRepository<T extends TaskTideModel<T>>- Parameters:
field-value-group-groupVal-annoKey-annoValue-- Returns:
- List-
TaskTideModel
-
findByFieldForGroupWithAnno
public List<T> findByFieldForGroupWithAnno(String field, Object value, String group, Object groupVal, CustomAnnotation anno) Extends collection, state query with annotation filtering- Specified by:
findByFieldForGroupWithAnnoin interfaceTaskTideRepository<T extends TaskTideModel<T>>- Parameters:
field-value-group-groupVal-anno-- Returns:
- List-
TaskTideModel
-
load
Could paginate here- Specified by:
loadin interfaceTaskTideRepository<T extends TaskTideModel<T>>- Returns:
- List-T
-
getCollectionClass
-
getCollectionName
-
getRepoType
-
getResultSetSize
public int getResultSetSize()Get results set size- Specified by:
getResultSetSizein interfaceTaskTideRepository<T extends TaskTideModel<T>>- Returns:
- int
-
setResultSetSize
public void setResultSetSize(int nRecords) Set results set size- Specified by:
setResultSetSizein interfaceTaskTideRepository<T extends TaskTideModel<T>>- Parameters:
nRecords-
-
validateQueryFieldName
Method to evaluate field members- Parameters:
query-- Returns:
- boolean
-