Class ItemStoreRepository<T extends TaskTideModel<T>>
java.lang.Object
org.tasktide.core.repository.AbstractRepository<T>
org.tasktide.core.repository.ItemStoreRepository<T>
- Type Parameters:
T- ofTaskTideModel
- All Implemented Interfaces:
TaskTideRepository<T>
- Direct Known Subclasses:
ItemStoreJobEnvironmentRepository, ItemStoreMetricDataRepository, ItemStoreMetricProfileRepository, ItemStoreStepRepository, ItemStoreWorkflowRepository, ItemStoreWorkItemRepository
Utilize RocksDB as a
TaskTideRepository through the ItemStore-
Field Summary
Fields inherited from class AbstractRepository
COLLECTION_CLASS, collectionName, modelType, repoType, resultSetSize -
Constructor Summary
ConstructorsConstructorDescriptionItemStoreRepository(TaskTideModelType modelType, ItemStore itemStore, Class<T> modelClass, String collectionName) Construct withItemStore -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Removes prototypebooleandeleteModel(String id) Delete record from DBbooleanextendModel(List<T> toAdd) Add record list to repofilterByAnnotation(String key, Object value) Filters records with provided annotation key and valueFilters records with providedCustomAnnotationfindAll()Retrieve all recordsfindByField(String field, Object value) Fetch records where value of target field matches queriedfindByFieldForGroup(String field, Object value, String group, Object groupVal) FindTaskTideModelfrom backend with field and group having specified value.findByFieldForGroupWithAnno(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 filteringFindTaskTideModelfromItemStorewith provided idReturn collection nameProvide a map of repository meta data reference class, repository type (NoSQL, RocksDB etc), collecion nameintGet results set sizehasAnnotationField(String key) Filter records which have provided annotation keyinsertModel(T model) Insert record into repo, providing inserted recordload()Open connection to both master and prototypeintsave()Commit prototype cache to mastervoidsetResultSetSize(int nRecords) Set results set sizeupdateModel(T model) Update provided model in backend DBMethods inherited from class AbstractRepository
getCollectionClass, getRepoType, validateQueryFieldName
-
Constructor Details
-
ItemStoreRepository
-
-
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>>- Overrides:
getRepositoryMetaDatain classAbstractRepository<T extends TaskTideModel<T>>- Returns:
- Map-String, String
-
findById
FindTaskTideModelfromItemStorewith provided id- Parameters:
id-- Returns:
- Optional-T of
TaskTideModel
-
insertModel
Insert record into repo, providing inserted record- Parameters:
model-- Returns:
- T of
TaskTideModel
-
updateModel
Update provided model in backend DB- Parameters:
model-- Returns:
- T of
TaskTideModel
-
filterByAnnotation
Filters records with providedCustomAnnotation- Specified by:
filterByAnnotationin interfaceTaskTideRepository<T extends TaskTideModel<T>>- Overrides:
filterByAnnotationin classAbstractRepository<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>>- Overrides:
filterByAnnotationin classAbstractRepository<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>>- Overrides:
hasAnnotationFieldin classAbstractRepository<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>>- Overrides:
findByFieldForGroupWithAnnoin classAbstractRepository<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>>- Overrides:
findByFieldForGroupWithAnnoin classAbstractRepository<T extends TaskTideModel<T>>- Parameters:
field-value-group-groupVal-anno-- Returns:
- List-
TaskTideModel
-
deleteModel
-
findByField
Fetch records where value of target field matches queried- Parameters:
field-value-- Returns:
- List of
TaskTideModel
-
findByFieldForGroup
FindTaskTideModelfrom backend with field and group having specified value. Step = Name, State = ToDo- Parameters:
field-value-group-groupVal-- Returns:
- List-
TaskTideModel
-
findAll
-
save
public int save()Commit prototype cache to master- Returns:
- true 1, false -1
-
load
Open connection to both master and prototype- Specified by:
loadin interfaceTaskTideRepository<T extends TaskTideModel<T>>- Overrides:
loadin classAbstractRepository<T extends TaskTideModel<T>>- Returns:
- List of
TaskTideModel
-
extendModel
-
getCollectionName
Return collection name- Overrides:
getCollectionNamein classAbstractRepository<T extends TaskTideModel<T>>- Returns:
- String
-
clear
public void clear()Removes prototype -
getResultSetSize
public int getResultSetSize()Get results set size- Specified by:
getResultSetSizein interfaceTaskTideRepository<T extends TaskTideModel<T>>- Overrides:
getResultSetSizein classAbstractRepository<T extends TaskTideModel<T>>- Returns:
- int
-
setResultSetSize
public void setResultSetSize(int nRecords) Set results set size- Specified by:
setResultSetSizein interfaceTaskTideRepository<T extends TaskTideModel<T>>- Overrides:
setResultSetSizein classAbstractRepository<T extends TaskTideModel<T>>- Parameters:
nRecords-
-