Class IngredientNozzlePipeline
java.lang.Object
com.tccc.kos.ext.dispense.service.nozzle.NozzlePipeline
com.tccc.kos.ext.dispense.pipeline.ingredient.IngredientNozzlePipeline
- All Implemented Interfaces:
com.tccc.kos.commons.core.service.config.ConfigAware<IngredientNozzlePipelineConfig>,com.tccc.kos.commons.core.service.handle.HandleAware
public class IngredientNozzlePipeline
extends NozzlePipeline
implements com.tccc.kos.commons.core.service.config.ConfigAware<IngredientNozzlePipelineConfig>
Nozzle pipeline that supports pump operations via pump intents. This is used
for ingredient pouring which covers most admin ui related pour functionality.
Intents are sequences of PumpOp beans which are run as a group.
When pouring concentrated ingredients, a PumpOp can be configured to
require dilution. For this to work, the pump that pours the dilution (typically
water) must be set using setDilutionPump(). When dilution is needed,
the pump will be run with an intent of type dilution. This must be
defined for the dilution pump for dilution to work and it typically a max
duration pour as it will be cancelled when no longer required. Any grants
used in the dilution intent will be ignored to prevent dilution from being
blocked.
- Since:
- 1.0
- Version:
- 2023-01-23
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionPump<?>Return the pump configured for dilution.Return theIngredientPipelineServiceused to pour intents for individual pumps.Return thePumpOpGrantServicefor the pipeline.Return theIngredientPipelineServiceused to pour intents for individual pumps.voidonConfigChanged(com.tccc.kos.commons.core.service.config.BeanChanges changes) voidvoidsetDilutionPump(Pump<?> pump) Set the pump to use for dilution.voidsetPumpOpGrantService(PumpOpGrantService service) Replace thePumpOpGrantServicefor this pipeline.Methods inherited from class com.tccc.kos.ext.dispense.service.nozzle.NozzlePipeline
getCtx, getHandle, getNozzle, getPumpEventService, getTopicPrefix, isInstalled, send, send, send, start, stopMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.tccc.kos.commons.core.service.config.ConfigAware
onConfigSetMethods inherited from interface com.tccc.kos.commons.core.service.handle.HandleAware
addHandleChild, getHandle, getName, getPath
-
Constructor Details
-
IngredientNozzlePipeline
-
-
Method Details
-
onConfigChanged
public void onConfigChanged(com.tccc.kos.commons.core.service.config.BeanChanges changes) - Specified by:
onConfigChangedin interfacecom.tccc.kos.commons.core.service.config.ConfigAware<IngredientNozzlePipelineConfig>
-
getService
Return theIngredientPipelineServiceused to pour intents for individual pumps. This returns the same service asgetIngredientPipelineService()but is more consistent across pipelines. -
getIngredientPipelineService
Return theIngredientPipelineServiceused to pour intents for individual pumps. -
getPumpOpGrantService
Return thePumpOpGrantServicefor the pipeline. This can be used to add additionalPumpOpGrantManagerinstances to the service. -
setPumpOpGrantService
Replace thePumpOpGrantServicefor this pipeline. This can be used to share a single service across multiple nozzles. -
getDilutionPump
Return the pump configured for dilution. -
setDilutionPump
Set the pump to use for dilution. This is only required when using dilution in PumpOps which is generally only required for highly concentrated ingredients such as those used in micro-dosing. If set, this pump must also have an intent named dilution which will be used for the dilution process. -
getConfig
- Specified by:
getConfigin interfacecom.tccc.kos.commons.core.service.config.ConfigAware<IngredientNozzlePipelineConfig>
-
setConfig
- Specified by:
setConfigin interfacecom.tccc.kos.commons.core.service.config.ConfigAware<IngredientNozzlePipelineConfig>
-