PAGI\Node\NodeActionCommand

A node action command. Basically a DTO to declare what to do when a given node finished execution.

  • Class name: NodeActionCommand
  • Namespace: PAGI\Node

Constants

NODE_RESULT_CANCEL

const NODE_RESULT_CANCEL = 1

NODE_RESULT_COMPLETE

const NODE_RESULT_COMPLETE = 2

NODE_RESULT_MAX_ATTEMPTS_REACHED

const NODE_RESULT_MAX_ATTEMPTS_REACHED = 3

NODE_ACTION_HANGUP

const NODE_ACTION_HANGUP = 1

NODE_ACTION_JUMP_TO

const NODE_ACTION_JUMP_TO = 2

NODE_ACTION_EXECUTE

const NODE_ACTION_EXECUTE = 3

Properties

$result

protected mixed $result
  • Visibility: protected

$action

protected mixed $action
  • Visibility: protected

$data

protected mixed $data = array()
  • Visibility: protected

$nodeName

protected mixed $nodeName = null
  • Visibility: protected

Methods

whenNode

\PAGI\Node\NodeActionCommand PAGI\Node\NodeActionCommand::whenNode(string $name)

Sets the controlled node.

  • Visibility: public

Arguments

  • $name string - <p>The name of the controlled node.</p>

onCancel

\PAGI\Node\NodeActionCommand PAGI\Node\NodeActionCommand::onCancel()

Do the configured action when the node has been cancelled.

  • Visibility: public

onComplete

\PAGI\Node\NodeActionCommand PAGI\Node\NodeActionCommand::onComplete()

Do the configured action when the node has completed successfully.

  • Visibility: public

withInput

\PAGI\Node\NodeActionCommand PAGI\Node\NodeActionCommand::withInput(string $input)

Do the configured action when the node has completed successfully with this specific input from the user. Very useful for menues.

  • Visibility: public

Arguments

  • $input string - <p>The expected input from the user.</p>

onMaxAttemptsReached

\PAGI\Node\NodeActionCommand PAGI\Node\NodeActionCommand::onMaxAttemptsReached()

Do the configured action when the node finished without a valid input from the user.

  • Visibility: public

jumpTo

\PAGI\Node\NodeActionCommand PAGI\Node\NodeActionCommand::jumpTo(string $name)

As an action, jump to the given node (name).

  • Visibility: public

Arguments

  • $name string - <p>The node name where to jump to.</p>

jumpAfterEval

\PAGI\Node\NodeActionCommand PAGI\Node\NodeActionCommand::jumpAfterEval(\Closure $callback)

As an action, evaluate the given callback and jump to the node (name) returned by it.

  • Visibility: public

Arguments

  • $callback Closure - <p>A string MUST be returned that is the name of the node to jump to.</p>

hangup

\PAGI\Node\NodeActionCommand PAGI\Node\NodeActionCommand::hangup(integer $cause)

As an action, hangup the call with the given cause.

  • Visibility: public

Arguments

  • $cause integer

execute

\PAGI\Node\NodeActionCommand PAGI\Node\NodeActionCommand::execute(\Closure $callback)

As an action, execute the given callback.

  • Visibility: public

Arguments

  • $callback Closure

getActionData

array PAGI\Node\NodeActionCommand::getActionData()

Returns the action information.

  • Visibility: public

appliesTo

boolean PAGI\Node\NodeActionCommand::appliesTo(\PAGI\Node\Node $node)

True if the given node (already executed) matches with the specs defined in this action command.

  • Visibility: public

Arguments

isActionExecute

boolean PAGI\Node\NodeActionCommand::isActionExecute()

True if a callback should be executed as an action.

  • Visibility: public

isActionHangup

boolean PAGI\Node\NodeActionCommand::isActionHangup()

True if hangup should be done as an action.

  • Visibility: public

isActionJumpTo

boolean PAGI\Node\NodeActionCommand::isActionJumpTo()

True if we have to jump to another node as an action.

  • Visibility: public