Metabor\Statemachine\Graph\GraphBuilder::getLayoutOptions PHP Method

getLayoutOptions() protected method

protected getLayoutOptions ( ArrayAccess $flaggedObject, array $layout ) : array
$flaggedObject ArrayAccess
$layout array
return array
    protected function getLayoutOptions(\ArrayAccess $flaggedObject, array $layout)
    {
        $result = array();
        foreach ($layout as $flag => $options) {
            if ($flaggedObject->offsetExists($flag)) {
                $value = $flaggedObject->offsetGet($flag);
                $value = (string) $value;
                if (isset($options[$value])) {
                    $result += $options[$value];
                }
            }
        }
        /* @var $callback callable */
        foreach ($this->layoutCallback as $callback) {
            $result = $callback($flaggedObject, $result);
        }
        return $result;
    }