1: <?php
2: /**
3: * This file is part of the Autarky package.
4: *
5: * (c) Andreas Lutro <anlutro@gmail.com>
6: *
7: * For the full copyright and license information, please view the LICENSE
8: * file that was distributed with this source code.
9: */
10:
11: namespace Autarky\Container\Factory;
12:
13: /**
14: * Interface for factory argument classes.
15: */
16: interface ArgumentInterface
17: {
18: /**
19: * Get the argument's position.
20: *
21: * @return int
22: */
23: public function getPosition();
24:
25: /**
26: * Get the argument's name.
27: *
28: * @return string
29: */
30: public function getName();
31:
32: /**
33: * Get whether the argument is required or not.
34: *
35: * @return boolean
36: */
37: public function isRequired();
38:
39: /**
40: * Get whether the argument is optional or not.
41: *
42: * @return boolean
43: */
44: public function isOptional();
45:
46: /**
47: * Whether the argument is a class.
48: *
49: * @return boolean
50: */
51: public function isClass();
52: }
53: