1: <?php
2: /**
3: * PHP version 5
4: * @package generalDriver
5: * @author Christian Schiffler <c.schiffler@cyberspectrum.de>
6: * @author Stefan Heimes <stefan_heimes@hotmail.com>
7: * @author Tristan Lins <tristan.lins@bit3.de>
8: * @copyright The MetaModels team.
9: * @license LGPL.
10: * @filesource
11: */
12:
13: namespace DcGeneral\DataDefinition\Builder;
14:
15: use DcGeneral\DataDefinition\ContainerInterface;
16: use DcGeneral\Factory\Event\BuildDataDefinitionEvent;
17:
18: /**
19: * This interface describes a builder of a DataDefinition.
20: *
21: * Builders are used in the first pass of the instantiation of DcGeneral to populate the DataDefinition.
22: * The builders should react to a BuildDataDefinitionEvent and therefore must be registered in the event dispatcher.
23: *
24: * @package DcGeneral\DataDefinition\Builder
25: */
26: interface DataDefinitionBuilderInterface
27: {
28: /**
29: * Build a data definition and store it into the environments container.
30: *
31: * @param ContainerInterface $container The data definition container to populate.
32: *
33: * @param BuildDataDefinitionEvent $event The event that has been triggered.
34: *
35: * @return void
36: */
37: public function build(ContainerInterface $container, BuildDataDefinitionEvent $event);
38: }
39: