1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (http://nette.org)
5: *
6: * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
7: *
8: * For the full copyright and license information, please view
9: * the file license.txt that was distributed with this source code.
10: */
11:
12: namespace Nette\ComponentModel;
13:
14: use Nette;
15:
16:
17: /**
18: * Provides functionality required by all components.
19: *
20: * @author David Grudl
21: */
22: interface IComponent
23: {
24: /** Separator for component names in path concatenation. */
25: const NAME_SEPARATOR = '-';
26:
27: /**
28: * @return string
29: */
30: function getName();
31:
32: /**
33: * Returns the container if any.
34: * @return IContainer|NULL
35: */
36: function getParent();
37:
38: /**
39: * Sets the parent of this component.
40: * @param IContainer
41: * @param string
42: * @return void
43: */
44: function setParent(IContainer $parent = NULL, $name = NULL);
45:
46: }
47: