protected function parseArgumentOfTypeObject($argumentName, $objectNameOrConfiguration, $configurationSourceHint)
    {
        if (is_array($objectNameOrConfiguration)) {
            if (isset($objectNameOrConfiguration['name'])) {
                $objectName = $objectNameOrConfiguration['name'];
                unset($objectNameOrConfiguration['name']);
            } else {
                if (isset($objectNameOrConfiguration['factoryObjectName'])) {
                    $objectName = null;
                } else {
                    throw new InvalidObjectConfigurationException('Object configuration for argument "' . $argumentName . '" contains neither object name nor factory object name in ' . $configurationSourceHint, 1417431742);
                }
            }
            $objectConfiguration = $this->parseConfigurationArray($objectName, $objectNameOrConfiguration, $configurationSourceHint . ', argument "' . $argumentName . '"');
            $argument = new ConfigurationArgument($argumentName, $objectConfiguration, ConfigurationArgument::ARGUMENT_TYPES_OBJECT);
        } else {
            $argument = new ConfigurationArgument($argumentName, $objectNameOrConfiguration, ConfigurationArgument::ARGUMENT_TYPES_OBJECT);
        }
        return $argument;
    }
protected function parseArgumentOfTypeObject($argumentName, $objectNameOrConfiguration, $configurationSourceHint)
    {
        if (is_array($objectNameOrConfiguration)) {
            if (isset($objectNameOrConfiguration['name'])) {
                $objectName = $objectNameOrConfiguration['name'];
                unset($objectNameOrConfiguration['name']);
            } else {
                if (isset($objectNameOrConfiguration['factoryObjectName'])) {
                    $objectName = null;
                } else {
                    throw new InvalidObjectConfigurationException('Object configuration for argument "' . $argumentName . '" contains neither object name nor factory object name in ' . $configurationSourceHint, 1417431742);
                }
            }
            $objectConfiguration = $this->parseConfigurationArray($objectName, $objectNameOrConfiguration, $configurationSourceHint . ', argument "' . $argumentName . '"');
            $argument = new ConfigurationArgument($argumentName, $objectConfiguration, ConfigurationArgument::ARGUMENT_TYPES_OBJECT);
        } else {
            $argument = new ConfigurationArgument($argumentName, $objectNameOrConfiguration, ConfigurationArgument::ARGUMENT_TYPES_OBJECT);
        }
        return $argument;
    }
protected function parseArgumentOfTypeObject ( $ argumentName , $ objectNameOrConfiguration , $ configurationSourceHint ) { if ( is_array ( $ objectNameOrConfiguration ) ) { if ( isset ( $ objectNameOrConfiguration [ 'name' ] ) ) { $ objectName = $ objectNameOrConfiguration [ 'name' ] ; unset ( $ objectNameOrConfiguration [ 'name' ] ) ; } else { if ( isset ( $ objectNameOrConfiguration [ 'factoryObjectName' ] ) ) { $ objectName = null ; } else { throw new InvalidObjectConfigurationException ( 'Object configuration for argument "' . $ argumentName . '" contains neither object name nor factory object name in ' . $ configurationSourceHint , 1417431742 ) ; } } $ objectConfiguration = $ this -> parseConfigurationArray ( $ objectName , $ objectNameOrConfiguration , $ configurationSourceHint . ', argument "' . $ argumentName . '"' ) ; $ argument = new ConfigurationArgument ( $ argumentName , $ objectConfiguration , ConfigurationArgument :: ARGUMENT_TYPES_OBJECT ) ; } else { $ argument = new ConfigurationArgument ( $ argumentName , $ objectNameOrConfiguration , ConfigurationArgument :: ARGUMENT_TYPES_OBJECT ) ; } return $ argument ; }
Parses the configuration for arguments of type OBJECT

@param string $argumentName Name of the argument
@param mixed $objectNameOrConfiguration Value of the "object" section of the argument configuration - either a string or an array
@param string $configurationSourceHint A human readable hint on the original source of the configuration (for troubleshooting)
@return ConfigurationArgument A configuration argument of type object
@throws InvalidObjectConfigurationException
Parses the configuration for arguments of type OBJECT