1: <?php
 2: 
 3: /**
 4:  * This file is part of the Nette Framework (https://nette.org)
 5:  * Copyright (c) 2004 David Grudl (https://davidgrudl.com)
 6:  */
 7: 
 8: namespace Nette\Application;
 9: 
10: 
11: /**
12:  * Responsible for creating a new instance of given presenter.
13:  *
14:  * @author Jan Tichý <tichy@medio.cz>
15:  */
16: interface IPresenterFactory
17: {
18: 
19:     /**
20:      * Generates and checks presenter class name.
21:      * @param  string  presenter name
22:      * @return string  class name
23:      * @throws InvalidPresenterException
24:      */
25:     function getPresenterClass(& $name);
26: 
27:     /**
28:      * Creates new presenter instance.
29:      * @param  string  presenter name
30:      * @return IPresenter
31:      */
32:     function createPresenter($name);
33: 
34: }
35: