Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3namespace BrianHenryIE\Strauss\Files;
4
5use BrianHenryIE\Strauss\Types\DiscoveredSymbol;
6
7interface FileBase
8{
9
10    public function getSourcePath(): string;
11
12    public function getTargetAbsolutePath(): string;
13
14    public function setTargetAbsolutePath(string $absoluteTargetPath): void;
15
16    public function getVendorRelativePath(): string;
17
18    public function isPhpFile(): bool;
19
20    public function isAutoloaded(): bool;
21
22    public function setDoCopy(bool $doCopy): void;
23
24    public function isDoCopy(): bool;
25
26    public function setDoPrefix(bool $doPrefix): void;
27
28    public function isDoPrefix(): bool;
29
30    /**
31     * Used to mark files that should be deleted after moving when `delete_vendor_files` is enabled.
32     * Used to mark files that are symlinked as not-to-be-deleted.
33     *
34     * @param bool $doDelete
35     *
36     * @return void
37     */
38    public function setDoDelete(bool $doDelete): void;
39
40    /**
41     * Should file be deleted?
42     *
43     * NB: Also respect the "delete_vendor_files"|"delete_vendor_packages" settings.
44     */
45    public function isDoDelete(): bool;
46
47    public function setDidDelete(bool $didDelete): void;
48
49    public function getDidDelete(): bool;
50
51    public function setDidUpdate(): void;
52
53    public function addDiscoveredSymbol(DiscoveredSymbol $symbol): void;
54
55    /**
56     * @return array<string, DiscoveredSymbol> The discovered symbols in the file, indexed by their original string name.
57     */
58    public function getDiscoveredSymbols(): array;
59}