Twig-1.3.0/lib/Twig/TokenParserBrokerInterface.php
changeset 4 9a001a04b634
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Twig-1.3.0/lib/Twig/TokenParserBrokerInterface.php	Tue Oct 25 23:56:28 2011 +0200
@@ -0,0 +1,45 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2010 Fabien Potencier
+ * (c) 2010 Arnaud Le Blanc
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Interface implemented by token parser brokers.
+ *
+ * Token parser brokers allows to implement custom logic in the process of resolving a token parser for a given tag name.
+ *
+ * @package twig
+ * @author  Arnaud Le Blanc <arnaud.lb@gmail.com>
+ */
+interface Twig_TokenParserBrokerInterface
+{
+    /**
+     * Gets a TokenParser suitable for a tag.
+     *
+     * @param  string $tag A tag name
+     *
+     * @return null|Twig_TokenParserInterface A Twig_TokenParserInterface or null if no suitable TokenParser was found
+     */
+    function getTokenParser($tag);
+
+    /**
+     * Calls Twig_TokenParserInterface::setParser on all parsers the implementation knows of.
+     *
+     * @param Twig_ParserInterface $parser A Twig_ParserInterface interface
+     */
+    function setParser(Twig_ParserInterface $parser);
+
+    /**
+     * Gets the Twig_ParserInterface.
+     *
+     * @return null|Twig_ParserInterface A Twig_ParserInterface instance of null
+     */
+    function getParser();
+}