< Back
 

# Packages

-  package root
  Definition Classes
    root
-  package uk
  Definition Classes
    root
-  package gov
  Definition Classes
    uk
-  package hmrc
  Definition Classes
    gov
-  package workitem
  Definition Classes
    hmrc
- Operations
- ProcessingStatus
- ResultStatus
- StatusUpdateResult
- WorkItem
- WorkItemFieldNames
- WorkItemModuleRepository
- WorkItemRepository

p

uk.gov.hmrc

# workitem 

#### package workitem

 
Ordering

1. Alphabetic

Visibility

1. Public
2. All

### Type Members

1.  sealed trait ProcessingStatus extends AnyRef
2.  sealed trait ResultStatus extends ProcessingStatus
3.  sealed trait StatusUpdateResult extends AnyRef
4.  case class WorkItem[T](id: ObjectId, receivedAt: Instant, updatedAt: Instant, availableAt: Instant, status: ProcessingStatus, failureCount: Int, item: T) extends Product with Serializable
5.  trait WorkItemFieldNames extends AnyRef

   Customisable names of the internal fields.

   Customisable names of the internal fields. e.g.

       new WorkItemFieldNames {
       val receivedAt   = "receivedAt"
       val updatedAt    = "updatedAt"
       val availableAt  = "receivedAt"
       val status       = "status"
       val id           = "_id"
       val failureCount = "failureCount"
       }

6.  abstract class WorkItemModuleRepository[T] extends WorkItemRepository[T, ObjectId]

   If you have multiple lifecycles on a WorkItem, you can use the WorkItemModuleRepository to interact with those lifecycles.

   If you have multiple lifecycles on a WorkItem, you can use the WorkItemModuleRepository to interact with those lifecycles. It will namespace the lifecycle fields with the provided moduleName. It assumes creation of WorkItems are made through another view (e.g. a standard WorkItemRepository), it will only allow interacting with the WorkItem lifecycle, and will throw runtime exceptions if `pushNew` is called.

7.  abstract class WorkItemRepository[T, ID] extends PlayMongoRepository[WorkItem[T]] with Cancel[ID] with FindById[ID, T] with MetricSource

   The repository to set and get the work item's for processing.

   The repository to set and get the work item's for processing. See pushNew(T,DateTime) for creating work items, and pullOutstanding for retrieving them.

### Value Members

1.  object Operations
2.  object ProcessingStatus
3.  object StatusUpdateResult
4.  object WorkItem extends Serializable
5.  object WorkItemModuleRepository

### Ungrouped