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\Intl\ResourceBundle\Transformer\Rule
;
14 use Symfony\Component\Intl\ResourceBundle\Transformer\CompilationContextInterface
;
15 use Symfony\Component\Intl\ResourceBundle\Transformer\StubbingContextInterface
;
18 * Contains instruction for compiling a resource bundle.
20 * @author Bernhard Schussek <bschussek@gmail.com>
22 interface TransformationRuleInterface
25 * Returns the name of the compiled resource bundle.
27 * @return string The name of the bundle.
29 public function getBundleName();
32 * Runs instructions to be executed before compiling the sources of the
35 * @param CompilationContextInterface $context The contextual information of
38 * @return string[] The source directories/files of the bundle.
40 public function beforeCompile(CompilationContextInterface
$context);
43 * Runs instructions to be executed after compiling the sources of the
46 * @param CompilationContextInterface $context The contextual information of
49 public function afterCompile(CompilationContextInterface
$context);
52 * Runs instructions to be executed before creating the stub version of the
55 * @param StubbingContextInterface $context The contextual information of
58 * @return mixed The data to include in the stub version.
60 public function beforeCreateStub(StubbingContextInterface
$context);
63 * Runs instructions to be executed after creating the stub version of the
66 * @param StubbingContextInterface $context The contextual information of
69 public function afterCreateStub(StubbingContextInterface
$context);