Class FreestyleBeveragePourEngine

java.lang.Object
com.tccc.kos.ext.dispense.pipeline.beverage.BeveragePourEngine<FreestyleBeveragePourEngineConfig>
com.tccc.kos.ext.freestyle.pipeline.beverage.FreestyleBeveragePourEngine
All Implemented Interfaces:
com.tccc.kos.commons.core.service.config.ConfigAware<FreestyleBeveragePourEngineConfig>, com.tccc.kos.commons.core.service.handle.HandleAware, com.tccc.kos.core.service.time.TimeChangeListener, com.tccc.kos.core.service.time.TimeListener, com.tccc.kos.ext.dispense.service.ingredient.IngredientChangeListener, com.tccc.kos.ext.dispense.service.insertion.InsertionListener, com.tccc.kos.ext.dispense.service.insertion.InsertionPumpListener, com.tccc.kos.ext.dispense.service.nozzle.NozzleAvailabilityListener, BrandSetServiceListener, GrantPropertiesListener

@ApiController(base="/engine", title="Pour engine", desc="Pour engine specific endpoints.") public class FreestyleBeveragePourEngine extends com.tccc.kos.ext.dispense.pipeline.beverage.BeveragePourEngine<FreestyleBeveragePourEngineConfig> implements com.tccc.kos.core.service.time.TimeChangeListener, GrantPropertiesListener
Freestyle implementation of BeveragePourEngine.
Since:
1.0
Version:
2023-07-29
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a new pour engine that uses the specified FSM and VM.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.tccc.kos.commons.util.concurrent.future.FutureWork
    buildFuture(com.tccc.kos.ext.dispense.pipeline.beverage.Pourable pourable, com.tccc.kos.ext.dispense.pipeline.beverage.BeveragePumpEventInitiator initiator)
     
    com.tccc.kos.ext.dispense.pipeline.beverage.Pourable
    getPourable(String definition)
     
    getWaterType(com.tccc.kos.ext.dispense.pipeline.beverage.Pourable pourable)
    Return the water type of the specified pourable.
    void
    hideCarbWaterBeverage(boolean hide)
    Hide carb water as a beverage.
    void
    hidePlainWaterBeverage(boolean hide)
    Hide plain water as a beverage.
    boolean
    isPourable(com.tccc.kos.ext.dispense.pipeline.beverage.Pourable pourable)
     
    void
    Called when BrandSetService is provided with new grant properties, which can be accessed by getGrantProperties() .
    void
     
    void
    rebuildGraph(com.tccc.kos.ext.dispense.pipeline.beverage.graph.BevGraphBuilder builder)
     
    void
     
    void
     

    Methods inherited from class com.tccc.kos.ext.dispense.pipeline.beverage.BeveragePourEngine

    addOverride, addOverride, asyncRebuildGraph, getBeverageNode, getConfig, getGraph, getHandle, getIngredientNode, getIngredientService, getNozzle, getPipeline, isAvailable, isAvailable, notifyChanges, onAvailabilityChange, onConfigChanged, onContainerInserted, onContainerRemoved, onIngredientChange, onNozzleAvailabilityChange, onRebuildGraph, removeOverride, removeOverride, setConfig

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.tccc.kos.commons.core.service.config.ConfigAware

    onConfigSet

    Methods inherited from interface com.tccc.kos.commons.core.service.handle.HandleAware

    addHandleChild, getName, getPath
  • Field Details

  • Constructor Details

    • FreestyleBeveragePourEngine

      public FreestyleBeveragePourEngine(VmFsmAware board)
      Create a new pour engine that uses the specified FSM and VM.
  • Method Details

    • start

      public void start()
      Specified by:
      start in class com.tccc.kos.ext.dispense.pipeline.beverage.BeveragePourEngine<FreestyleBeveragePourEngineConfig>
    • stop

      public void stop()
      Specified by:
      stop in class com.tccc.kos.ext.dispense.pipeline.beverage.BeveragePourEngine<FreestyleBeveragePourEngineConfig>
    • rebuildGraph

      public void rebuildGraph(com.tccc.kos.ext.dispense.pipeline.beverage.graph.BevGraphBuilder builder)
      Specified by:
      rebuildGraph in class com.tccc.kos.ext.dispense.pipeline.beverage.BeveragePourEngine<FreestyleBeveragePourEngineConfig>
    • getPourable

      public com.tccc.kos.ext.dispense.pipeline.beverage.Pourable getPourable(String definition) throws Exception
      Specified by:
      getPourable in class com.tccc.kos.ext.dispense.pipeline.beverage.BeveragePourEngine<FreestyleBeveragePourEngineConfig>
      Throws:
      Exception
    • isPourable

      public boolean isPourable(com.tccc.kos.ext.dispense.pipeline.beverage.Pourable pourable)
      Specified by:
      isPourable in class com.tccc.kos.ext.dispense.pipeline.beverage.BeveragePourEngine<FreestyleBeveragePourEngineConfig>
    • buildFuture

      public com.tccc.kos.commons.util.concurrent.future.FutureWork buildFuture(com.tccc.kos.ext.dispense.pipeline.beverage.Pourable pourable, com.tccc.kos.ext.dispense.pipeline.beverage.BeveragePumpEventInitiator initiator)
    • onTimeChanged

      public void onTimeChanged()
      Specified by:
      onTimeChanged in interface com.tccc.kos.core.service.time.TimeChangeListener
    • onGrantPropertiesChange

      public void onGrantPropertiesChange(BrandSetService service)
      Description copied from interface: GrantPropertiesListener
      Called when BrandSetService is provided with new grant properties, which can be accessed by getGrantProperties() .
      Specified by:
      onGrantPropertiesChange in interface GrantPropertiesListener
      Parameters:
      service - the BrandSetService
    • getWaterType

      public RecipeWaterType getWaterType(com.tccc.kos.ext.dispense.pipeline.beverage.Pourable pourable)
      Return the water type of the specified pourable.
      Parameters:
      pourable - the FreestylePourable to check
    • hidePlainWaterBeverage

      public void hidePlainWaterBeverage(boolean hide)
      Hide plain water as a beverage. When hidden, the plain water beverage will not be visible. When not hidden, plain water will be visible based on standard visibility logic.
    • hideCarbWaterBeverage

      public void hideCarbWaterBeverage(boolean hide)
      Hide carb water as a beverage. When hidden, the carb water beverage will not be visible. When not hidden, carb water will be visible based on standard visibility logic.