package com.ing.baker.tutorials.interactions

import com.ing.baker.recipe.annotations.FiresEvent
import com.ing.baker.recipe.annotations.RequiresIngredient
import com.ing.baker.recipe.javadsl.Interaction
import com.ing.baker.tutorials.events.ManufactureGoodsEvents.GoodsManufactured
import com.ing.baker.tutorials.events.ManufactureGoodsEvents.ManufactureOutcome

interface ManufactureGoods: Interaction {
    @FiresEvent(oneOf = [GoodsManufactured::class])
    @Throws(Exception::class)
    fun apply(@RequiresIngredient("order") order: String?): ManufactureOutcome
}