All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ing.baker.runtime.common.BakerEvent.scala Maven / Gradle / Ivy

The newest version!
package com.ing.baker.runtime.common

import com.ing.baker.il.CompiledRecipe
import com.ing.baker.il.failurestrategy.ExceptionStrategyOutcome
import com.ing.baker.runtime.common.LanguageDataStructures.LanguageApi

// TODO: rename subtypes of BakerEvent to resamble the new names
trait BakerEvent extends LanguageApi {
}

/**
  * Event describing the fact that a sensory event was received for a process.
  */
trait EventReceived extends BakerEvent {
  val timeStamp: Long
  val recipeName: String
  val recipeId: String
  val recipeInstanceId: String
  val correlationId: language.Option[String]
  val eventName: String
}

/**
  * Event describing the fact that an sensory event was received but rejected for a process
  */
trait EventRejected extends BakerEvent {
  val timeStamp: Long
  val recipeInstanceId: String
  val correlationId: language.Option[String]
  val eventName: String
  val reason: RejectReason
}

/**
  * Event describing the fact that an interaction outcome event was fired for a process
  */
trait EventFired extends BakerEvent {
  val timeStamp: Long
  val recipeName: String
  val recipeId: String
  val recipeInstanceId: String
  val eventName: String
}

/**
  * Event describing the fact that an interaction failed during execution
  */
trait InteractionFailed extends BakerEvent {
  val timeStamp: Long
  val duration: Long
  val recipeName: String
  val recipeId: String
  val recipeInstanceId: String
  val interactionName: String
  val failureCount: Int
  val errorMessage: String
  val exceptionStrategyOutcome: ExceptionStrategyOutcome
}

/**
  * Event describing the fact that an interaction has started executing
  */
trait InteractionStarted extends BakerEvent {
  val timeStamp: Long
  val recipeName: String
  val recipeId: String
  val recipeInstanceId: String
  val interactionName: String
}

/**
  * Event describing the fact that an interaction was executed successfully
  */
trait InteractionCompleted extends BakerEvent {
  val timeStamp: Long
  val duration: Long
  val recipeName: String
  val recipeId: String
  val recipeInstanceId: String
  val interactionName: String
  val eventName: language.Option[String]
}

/**
  * Event describing the fact that a baker process was created
  */
trait RecipeInstanceCreated extends BakerEvent {
  val timeStamp: Long
  val recipeId: String
  val recipeName: String
  val recipeInstanceId: String
}

/**
  * An event describing the fact that a recipe was added to baker.
  */
trait RecipeAdded extends BakerEvent {
  val recipeName: String
  val recipeId: String
  val date: Long
  val compiledRecipe: CompiledRecipe
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy