1: <?php
2:
3: /*
4: * This file is part of the Symfony package.
5: *
6: * (c) Fabien Potencier <fabien@symfony.com>
7: *
8: * For the full copyright and license information, please view the LICENSE
9: * file that was distributed with this source code.
10: */
11:
12: namespace Symfony\Component\Finder\Adapter;
13:
14: /**
15: * @author Jean-François Simon <contact@jfsimon.fr>
16: */
17: interface AdapterInterface
18: {
19: /**
20: * @param Boolean $followLinks
21: *
22: * @return AdapterInterface Current instance
23: */
24: public function setFollowLinks($followLinks);
25:
26: /**
27: * @param integer $mode
28: *
29: * @return AdapterInterface Current instance
30: */
31: public function setMode($mode);
32:
33: /**
34: * @param array $exclude
35: *
36: * @return AdapterInterface Current instance
37: */
38: public function setExclude(array $exclude);
39:
40: /**
41: * @param array $depths
42: *
43: * @return AdapterInterface Current instance
44: */
45: public function setDepths(array $depths);
46:
47: /**
48: * @param array $names
49: *
50: * @return AdapterInterface Current instance
51: */
52: public function setNames(array $names);
53:
54: /**
55: * @param array $notNames
56: *
57: * @return AdapterInterface Current instance
58: */
59: public function setNotNames(array $notNames);
60:
61: /**
62: * @param array $contains
63: *
64: * @return AdapterInterface Current instance
65: */
66: public function setContains(array $contains);
67:
68: /**
69: * @param array $notContains
70: *
71: * @return AdapterInterface Current instance
72: */
73: public function setNotContains(array $notContains);
74:
75: /**
76: * @param array $sizes
77: *
78: * @return AdapterInterface Current instance
79: */
80: public function setSizes(array $sizes);
81:
82: /**
83: * @param array $dates
84: *
85: * @return AdapterInterface Current instance
86: */
87: public function setDates(array $dates);
88:
89: /**
90: * @param array $filters
91: *
92: * @return AdapterInterface Current instance
93: */
94: public function setFilters(array $filters);
95:
96: /**
97: * @param \Closure|integer $sort
98: *
99: * @return AdapterInterface Current instance
100: */
101: public function setSort($sort);
102:
103: /**
104: * @param array $paths
105: *
106: * @return AdapterInterface Current instance
107: */
108: public function setPath(array $paths);
109:
110: /**
111: * @param array $notPaths
112: *
113: * @return AdapterInterface Current instance
114: */
115: public function setNotPath(array $notPaths);
116:
117: /**
118: * @param string $dir
119: *
120: * @return \Iterator Result iterator
121: */
122: public function searchInDirectory($dir);
123:
124: /**
125: * Tests adapter support for current platform.
126: *
127: * @return Boolean
128: */
129: public function isSupported();
130:
131: /**
132: * Returns adapter name.
133: *
134: * @return string
135: */
136: public function getName();
137: }
138: