:py:mod:`ethos_penalps.process_nodes.process_chain_storage`
===========================================================

.. py:module:: ethos_penalps.process_nodes.process_chain_storage


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   ethos_penalps.process_nodes.process_chain_storage.ProcessChainStorage




.. py:class:: ProcessChainStorage(name: str, commodity: ethos_penalps.data_classes.Commodity, stream_handler: ethos_penalps.stream_handler.StreamHandler, production_plan: ethos_penalps.production_plan.ProductionPlan, time_data: ethos_penalps.time_data.TimeData)


   Bases: :py:obj:`ethos_penalps.process_nodes.process_node.ProcessNode`

   .. py:method:: add_sink_from_next_network_level(name: str, commodity: ethos_penalps.data_classes.Commodity, stream_handler: ethos_penalps.stream_handler.StreamHandler, production_plan: ethos_penalps.production_plan.ProductionPlan, time_data: ethos_penalps.time_data.TimeData)


   .. py:method:: switch_from_source_to_sink()


   .. py:method:: create_storage_entries()


   .. py:method:: process_input_order(input_node_operation: ethos_penalps.node_operations.DownstreamAdaptionOrder | ethos_penalps.node_operations.DownstreamValidationOrder | ethos_penalps.node_operations.UpstreamNewProductionOrder | ethos_penalps.node_operations.TerminateProduction)


   .. py:method:: add_output_stream(output_stream: ethos_penalps.stream.ContinuousStream | ethos_penalps.stream.BatchStream, process_chain_identifier: ethos_penalps.data_classes.ProcessChainIdentifier)


   .. py:method:: add_input_stream(input_stream: ethos_penalps.stream.ContinuousStream | ethos_penalps.stream.BatchStream, process_chain_identifier: ethos_penalps.data_classes.ProcessChainIdentifier)


   .. py:method:: initialize_sink()


   .. py:method:: get_input_stream_name() -> str


   .. py:method:: get_output_stream_name() -> str


   .. py:method:: prepare_sink_for_next_chain(process_chain_identifier: ethos_penalps.data_classes.ProcessChainIdentifier)


   .. py:method:: prepare_source_for_next_chain(process_chain_identifier: ethos_penalps.data_classes.ProcessChainIdentifier)


   .. py:method:: check_if_sink_has_orders()


   .. py:method:: plan_production() -> ethos_penalps.node_operations.UpstreamNewProductionOrder


   .. py:method:: get_upstream_node_name() -> str


   .. py:method:: get_downstream_node_name() -> str



