| 
      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
     | 
    
          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
     | 
    
          function setParser(Twig_ParserInterface $parser);
 
     | 
  
  
    | 
      38
     | 
    
      
 
     | 
  
  
    | 
      39
     | 
    
          /**
 
     | 
  
  
    | 
      40
     | 
    
           * Gets the Twig_ParserInterface.
 
     | 
  
  
    | 
      41
     | 
    
           *
 
     | 
  
  
    | 
      42
     | 
    
           * @return null|Twig_ParserInterface A Twig_ParserInterface instance of null
 
     | 
  
  
    | 
      43
     | 
    
           */
 
     | 
  
  
    | 
      44
     | 
    
          function getParser();
 
     | 
  
  
    | 
      45
     | 
    
      }
 
     |