Chris@0: Chris@0: * Chris@0: * For the full copyright and license information, please view the LICENSE Chris@0: * file that was distributed with this source code. Chris@0: */ Chris@0: Chris@0: namespace Symfony\Component\DependencyInjection\ParameterBag; Chris@0: Chris@0: use Symfony\Component\DependencyInjection\Exception\LogicException; Chris@0: use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException; Chris@0: Chris@0: /** Chris@0: * ParameterBagInterface. Chris@0: * Chris@0: * @author Fabien Potencier Chris@0: */ Chris@0: interface ParameterBagInterface Chris@0: { Chris@0: /** Chris@0: * Clears all parameters. Chris@0: * Chris@0: * @throws LogicException if the ParameterBagInterface can not be cleared Chris@0: */ Chris@0: public function clear(); Chris@0: Chris@0: /** Chris@0: * Adds parameters to the service container parameters. Chris@0: * Chris@0: * @param array $parameters An array of parameters Chris@0: * Chris@0: * @throws LogicException if the parameter can not be added Chris@0: */ Chris@0: public function add(array $parameters); Chris@0: Chris@0: /** Chris@0: * Gets the service container parameters. Chris@0: * Chris@0: * @return array An array of parameters Chris@0: */ Chris@0: public function all(); Chris@0: Chris@0: /** Chris@0: * Gets a service container parameter. Chris@0: * Chris@0: * @param string $name The parameter name Chris@0: * Chris@0: * @return mixed The parameter value Chris@0: * Chris@0: * @throws ParameterNotFoundException if the parameter is not defined Chris@0: */ Chris@0: public function get($name); Chris@0: Chris@0: /** Chris@0: * Removes a parameter. Chris@0: * Chris@0: * @param string $name The parameter name Chris@0: */ Chris@0: public function remove($name); Chris@0: Chris@0: /** Chris@0: * Sets a service container parameter. Chris@0: * Chris@0: * @param string $name The parameter name Chris@0: * @param mixed $value The parameter value Chris@0: * Chris@0: * @throws LogicException if the parameter can not be set Chris@0: */ Chris@0: public function set($name, $value); Chris@0: Chris@0: /** Chris@0: * Returns true if a parameter name is defined. Chris@0: * Chris@0: * @param string $name The parameter name Chris@0: * Chris@0: * @return bool true if the parameter name is defined, false otherwise Chris@0: */ Chris@0: public function has($name); Chris@0: Chris@0: /** Chris@0: * Replaces parameter placeholders (%name%) by their values for all parameters. Chris@0: */ Chris@0: public function resolve(); Chris@0: Chris@0: /** Chris@0: * Replaces parameter placeholders (%name%) by their values. Chris@0: * Chris@0: * @param mixed $value A value Chris@0: * Chris@0: * @throws ParameterNotFoundException if a placeholder references a parameter that does not exist Chris@0: */ Chris@0: public function resolveValue($value); Chris@0: Chris@0: /** Chris@0: * Escape parameter placeholders %. Chris@0: * Chris@0: * @param mixed $value Chris@0: * Chris@0: * @return mixed Chris@0: */ Chris@0: public function escapeValue($value); Chris@0: Chris@0: /** Chris@0: * Unescape parameter placeholders %. Chris@0: * Chris@0: * @param mixed $value Chris@0: * Chris@0: * @return mixed Chris@0: */ Chris@0: public function unescapeValue($value); Chris@0: }