| 1 | <?php
 | 
  
    | 2 | 
 | 
  
    | 3 | /*
 | 
  
    | 4 |  * This file is part of Twig.
 | 
  
    | 5 |  *
 | 
  
    | 6 |  * (c) 2010 Fabien Potencier
 | 
  
    | 7 |  * (c) 2010 Arnaud Le Blanc
 | 
  
    | 8 |  *
 | 
  
    | 9 |  * For the full copyright and license information, please view the LICENSE
 | 
  
    | 10 |  * file that was distributed with this source code.
 | 
  
    | 11 |  */
 | 
  
    | 12 | 
 | 
  
    | 13 | /**
 | 
  
    | 14 |  * Interface implemented by token parser brokers.
 | 
  
    | 15 |  *
 | 
  
    | 16 |  * Token parser brokers allows to implement custom logic in the process of resolving a token parser for a given tag name.
 | 
  
    | 17 |  *
 | 
  
    | 18 |  * @package twig
 | 
  
    | 19 |  * @author  Arnaud Le Blanc <arnaud.lb@gmail.com>
 | 
  
    | 20 |  */
 | 
  
    | 21 | interface Twig_TokenParserBrokerInterface
 | 
  
    | 22 | {
 | 
  
    | 23 |     /**
 | 
  
    | 24 |      * Gets a TokenParser suitable for a tag.
 | 
  
    | 25 |      *
 | 
  
    | 26 |      * @param string $tag A tag name
 | 
  
    | 27 |      *
 | 
  
    | 28 |      * @return null|Twig_TokenParserInterface A Twig_TokenParserInterface or null if no suitable TokenParser was found
 | 
  
    | 29 |      */
 | 
  
    | 30 |     public function getTokenParser($tag);
 | 
  
    | 31 | 
 | 
  
    | 32 |     /**
 | 
  
    | 33 |      * Calls Twig_TokenParserInterface::setParser on all parsers the implementation knows of.
 | 
  
    | 34 |      *
 | 
  
    | 35 |      * @param Twig_ParserInterface $parser A Twig_ParserInterface interface
 | 
  
    | 36 |      */
 | 
  
    | 37 |     public function setParser(Twig_ParserInterface $parser);
 | 
  
    | 38 | 
 | 
  
    | 39 |     /**
 | 
  
    | 40 |      * Gets the Twig_ParserInterface.
 | 
  
    | 41 |      *
 | 
  
    | 42 |      * @return null|Twig_ParserInterface A Twig_ParserInterface instance or null
 | 
  
    | 43 |      */
 | 
  
    | 44 |     public function getParser();
 | 
  
    | 45 | }
 |