[FEATURE] Install tool table row updaters
[Packages/TYPO3.CMS.git] / typo3 / sysext / install / Classes / Updates / RowUpdater / RowUpdaterInterface.php
1 <?php
2 declare(strict_types=1);
3 namespace TYPO3\CMS\Install\Updates\RowUpdater;
4
5 /*
6 * This file is part of the TYPO3 CMS project.
7 *
8 * It is free software; you can redistribute it and/or modify it under
9 * the terms of the GNU General Public License, either version 2
10 * of the License, or any later version.
11 *
12 * For the full copyright and license information, please read the
13 * LICENSE.txt file that was distributed with this source code.
14 *
15 * The TYPO3 project - inspiring people to share!
16 */
17
18 /**
19 * Interface each single row updater must implement.
20 */
21 interface RowUpdaterInterface
22 {
23 /**
24 * Get a description of this single row updater
25 *
26 * @return string
27 */
28 public function getTitle(): string;
29
30 /**
31 * Return true if this row updater may have updates for given table rows.
32 *
33 * @param string $tableName Given table
34 * @return bool
35 */
36 public function hasPotentialUpdateForTable(string $tableName): bool;
37
38 /**
39 * Update a single row from a table.
40 *
41 * @param string $tableName Given table
42 * @param array $row Given row
43 * @return array Potentially modified row
44 */
45 public function updateTableRow(string $tableName, array $row): array;
46 }