4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Form
;
15 * Creates ResolvedFormTypeInterface instances.
17 * This interface allows you to use your custom ResolvedFormTypeInterface
18 * implementation, within which you can customize the concrete FormBuilderInterface
19 * implementations or FormView subclasses that are used by the framework.
21 * @author Bernhard Schussek <bschussek@gmail.com>
23 interface ResolvedFormTypeFactoryInterface
26 * Resolves a form type.
28 * @param FormTypeInterface $type
29 * @param array $typeExtensions
30 * @param ResolvedFormTypeInterface $parent
32 * @return ResolvedFormTypeInterface
34 * @throws Exception\UnexpectedTypeException if the types parent {@link FormTypeInterface::getParent()} is not a string
35 * @throws Exception\InvalidArgumentException if the types parent can not be retrieved from any extension
37 public function createResolvedType(FormTypeInterface
$type, array $typeExtensions, ResolvedFormTypeInterface
$parent = null);