Class TemplateRepository<T extends TaskTideModel<T>>

java.lang.Object
org.tasktide.core.repository.AbstractRepository<T>
org.tasktide.core.repository.TemplateRepository<T>
Type Parameters:
T - of TaskTideModel-WorkItem,Step,Workflow
All Implemented Interfaces:
TaskTideRepository<T>
Direct Known Subclasses:
TemplateJobEnvironmentRepository, TemplateMetricDataRepository, TemplateMetricProfileRepository, TemplateStepRepository, TemplateWorkflowRepository, TemplateWorkItemRepository

public abstract class TemplateRepository<T extends TaskTideModel<T>> extends AbstractRepository<T>
Template Model Repository adding utility and collection info
  • Field Details

    • template

      protected final jakarta.nosql.Template template
  • Constructor Details

    • TemplateRepository

      public TemplateRepository(TaskTideModelType modelType, jakarta.nosql.Template template, Class<T> modelClass, String collectionName)
      Construct with target model class, and collection name
      Parameters:
      modelType -
      template -
      modelClass -
      collectionName -
  • Method Details

    • findById

      public Optional<T> findById(String id)
      Fetch WorkItem by its Id
      Parameters:
      id -
      Returns:
      WorkItem
    • insertModel

      public T insertModel(T model)
      Insert model into DB
      Parameters:
      model -
      Returns:
      T-Model
    • extendModel

      public boolean extendModel(List<T> toAdd)
      Batch import provided list of records
      Parameters:
      toAdd -
      Returns:
      boolean
    • updateModel

      public T updateModel(T model)
      Update model
      Parameters:
      model -
      Returns:
      T-Model
    • deleteModel

      public boolean deleteModel(String id)
      Delete model if present
      Parameters:
      id -
      Returns:
      boolean
    • findByField

      public List<T> findByField(String field, Object value)
      Generic method to find list of WorkItems by field equally value
      Parameters:
      field -
      value -
      Returns:
      List-WorkItem
    • findByFieldForGroup

      public List<T> findByFieldForGroup(String field, Object value, String group, Object groupVal)
      Find TaskTideModel from backend with field and group having specified value. Step = Name, State = ToDo
      Parameters:
      field -
      value -
      group -
      groupVal -
      Returns:
      List-TaskTideModel
    • findAll

      public List<T> findAll()
      Fetch all records
      Returns:
      List-T-Model
    • save

      public int save()
      Not as useful here as file IO so just hashcode
      Returns: