BPXE.Engine.Process (bpxe v0.4.0)

Link to this section Summary

Functions

Returns a specification to start this module under a supervisor.

Convenience helper for adding and connecting sequence flow programmatically.

Callback implementation for GenServer.init/1.

Publishes a process log to listeners.

Passively listen for log messages from a process. This will start delivering tokens in the following format

Stop receiving passive log messages from a process (initiated by subscribe_logs/2). If you were not listening originally, it will return {:error, :not_listening}. Otherwise, it will return :ok.

Link to this section Functions

Link to this function

activations(pid)

Link to this function

add_ad_hoc_sub_process(pid, attrs, body \\ nil)

Link to this function

add_boundary_event(pid, attrs, body \\ nil)

Link to this function

add_business_rule_task(pid, attrs, body \\ nil)

Link to this function

add_call_activity(pid, attrs, body \\ nil)

Link to this function

add_call_choreography(pid, attrs, body \\ nil)

Link to this function

add_choreography_task(pid, attrs, body \\ nil)

Link to this function

add_complex_gateway(pid, attrs, body \\ nil)

Link to this function

add_data_object(pid, attrs, body \\ nil)

Link to this function

add_data_object_reference(pid, attrs, body \\ nil)

Link to this function

add_data_store_reference(pid, attrs, body \\ nil)

Link to this function

add_end_event(pid, attrs, body \\ nil)

Link to this function

add_event(pid, attrs, body \\ nil)

Link to this function

add_event_based_gateway(pid, attrs, body \\ nil)

Link to this function

add_exclusive_gateway(pid, attrs, body \\ nil)

Link to this function

add_implicit_throw_event(pid, attrs, body \\ nil)

Link to this function

add_inclusive_gateway(pid, attrs, body \\ nil)

Link to this function

add_intermediate_catch_event(pid, attrs, body \\ nil)

Link to this function

add_intermediate_throw_event(pid, attrs, body \\ nil)

Link to this function

add_manual_task(pid, attrs, body \\ nil)

Link to this function

add_parallel_gateway(pid, attrs, body \\ nil)

Link to this function

add_precedence_gateway(pid, attrs, body \\ nil)

Link to this function

add_receive_task(pid, attrs, body \\ nil)

Link to this function

add_script_task(pid, attrs, body \\ nil)

Link to this function

add_send_task(pid, attrs, body \\ nil)

Link to this function

add_sensor_gateway(pid, attrs, body \\ nil)

Link to this function

add_sequence_flow(pid, attrs, body \\ nil)

Link to this function

add_service_task(pid, attrs, body \\ nil)

Link to this function

add_start_event(pid, attrs, body \\ nil)

Link to this function

add_sub_choreography(pid, attrs, body \\ nil)

Link to this function

add_sub_process(pid, attrs, body \\ nil)

Link to this function

add_task(pid, attrs, body \\ nil)

Link to this function

add_transaction(pid, attrs, body \\ nil)

Link to this function

add_user_task(pid, attrs, body \\ nil)

Link to this function

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

complete_flow_element(arg1, body, state)

Link to this function

data_object(pid, name)

Link to this function

data_object_reference(pid, name)

Link to this function

enter_loop(state)

Link to this function

establish_sequence_flow(server, id, source, target, attrs \\ [])

Convenience helper for adding and connecting sequence flow programmatically.

Instead of having to to orchestrate BPXE.Engine.FlowNode.add_incoming/2, BPXE.Engine.FlowNode.add_outgoing/2 and add_sequence_flow/3, this allows to do all of that in just one call.

This reduces the amount of code that has to be written and therefore makes it easier to debug.

Link to this function

flow_nodes(pid)

Link to this function

get_input_data(id, state)

Link to this function

get_output_data(id, state)

Callback implementation for GenServer.init/1.

Link to this function

init_recoverable(state)

Link to this function

initialize(state)

Link to this function

initialize_base(state)

Link to this function

initialize_property_container(state)

Specs

log(pid(), term()) :: :ok

Publishes a process log to listeners.

Link to this function

new_activation(pid)

Link to this function

sequence_flows(pid)

Link to this function

set_input_data(id, value, token, state)

Link to this function

set_output_data(id, value, token, state)

Link to this function

start_link(attrs, model)

Link to this function

subscribe_log(pid, subscriber \\ self())

Specs

subscribe_log(pid(), pid()) :: :ok

Passively listen for log messages from a process. This will start delivering tokens in the following format:

{BPXE.Engine.Process.Log, message}

to subscriber (self() by default). Most (if not all?) log message should be defined in BPXE.Engine.Process.Log module.

This is particularly useful for testing, rendering visualizations, etc.

to stop listening, call unsubscribe_log/2.

Link to this function

synthesize(pid)

Link to this function

unsubscribe_log(pid, subscriber \\ self())

Specs

unsubscribe_log(pid(), pid()) :: :ok | {:error, term()}

Stop receiving passive log messages from a process (initiated by subscribe_logs/2). If you were not listening originally, it will return {:error, :not_listening}. Otherwise, it will return :ok.

Link to this function

update_data_object(pid, object, token \\ nil)