From bb843fb5788655105c8e562c96c06e8828d80cbb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Wed, 29 Jan 2025 15:46:20 +0100 Subject: [PATCH] Continued: - introduced LocalSearchCriteriaTrait - updated index.php (generic!) --- .../dataset/class_DataSetCriteria.php | 29 ++-------- .../criteria/update/class_UpdateCriteria.php | 27 +-------- .../search/class_LocalSearchCriteraTrait.php | 55 +++++++++++++++++++ index.php | 8 +-- 4 files changed, 66 insertions(+), 53 deletions(-) create mode 100644 framework/main/traits/criteria/search/class_LocalSearchCriteraTrait.php diff --git a/framework/main/classes/criteria/dataset/class_DataSetCriteria.php b/framework/main/classes/criteria/dataset/class_DataSetCriteria.php index 88e49dda..8ad27895 100644 --- a/framework/main/classes/criteria/dataset/class_DataSetCriteria.php +++ b/framework/main/classes/criteria/dataset/class_DataSetCriteria.php @@ -4,9 +4,9 @@ namespace Org\Mxchange\CoreFramework\Criteria\DataSet; // Import framework stuff use Org\Mxchange\CoreFramework\Criteria\BaseCriteria; -use Org\Mxchange\CoreFramework\Criteria\Local\LocalSearchCriteria; use Org\Mxchange\CoreFramework\Criteria\Storing\StoreableCriteria; use Org\Mxchange\CoreFramework\Generic\FrameworkInterface; +use Org\Mxchange\CoreFramework\Traits\Criteria\Local\LocalSearchCriteriaTrait; // Import SPL stuff use \BadMethodCallException; @@ -35,6 +35,9 @@ use \InvalidArgumentException; * along with this program. If not, see . */ class DataSetCriteria extends BaseCriteria implements StoreableCriteria { + // Load traits + use LocalSearchCriteriaTrait; + /** * Table name */ @@ -55,11 +58,6 @@ class DataSetCriteria extends BaseCriteria implements StoreableCriteria { */ private $primaryKeys = []; - /** - * Search criteria instance - */ - private $searchInstance = NULL; - /** * Protected constructor * @@ -164,25 +162,6 @@ class DataSetCriteria extends BaseCriteria implements StoreableCriteria { return $this->primaryKeys; } - /** - * Setter for search instance - * - * @param $searchInstance Searchable criteria instance - * @return void - */ - public final function setSearchInstance (LocalSearchCriteria $searchInstance) { - $this->searchInstance = $searchInstance; - } - - /** - * Getter for search instance - * - * @return $searchInstance Searchable criteria instance - */ - public final function getSearchInstance () { - return $this->searchInstance; - } - /** * Getter for unique key value * diff --git a/framework/main/classes/criteria/update/class_UpdateCriteria.php b/framework/main/classes/criteria/update/class_UpdateCriteria.php index f177543c..aa326181 100644 --- a/framework/main/classes/criteria/update/class_UpdateCriteria.php +++ b/framework/main/classes/criteria/update/class_UpdateCriteria.php @@ -4,7 +4,7 @@ namespace Org\Mxchange\CoreFramework\Criteria\Update; // Import framework stuff use Org\Mxchange\CoreFramework\Criteria\BaseCriteria; -use Org\Mxchange\CoreFramework\Criteria\Local\LocalSearchCriteria; +use Org\Mxchange\CoreFramework\Traits\Criteria\Local\LocalSearchCriteriaTrait; use Org\Mxchange\CoreFramework\Criteria\Local\LocalUpdateCriteria; /** @@ -32,10 +32,8 @@ use Org\Mxchange\CoreFramework\Criteria\Local\LocalUpdateCriteria; * along with this program. If not, see . */ class UpdateCriteria extends BaseCriteria implements LocalUpdateCriteria { - /** - * Search criteria instance - */ - private $searchInstance = NULL; + // Load traits + use LocalSearchCriteriaTrait; /** * Protected constructor @@ -71,23 +69,4 @@ class UpdateCriteria extends BaseCriteria implements LocalUpdateCriteria { return $this->getCriteriaArray(); } - /** - * Setter for search instance - * - * @param $searchInstance Searchable criteria instance - * @return void - */ - public final function setSearchInstance (LocalSearchCriteria $searchInstance) { - $this->searchInstance = $searchInstance; - } - - /** - * Getter for search instance - * - * @return $searchInstance Searchable criteria instance - */ - public final function getSearchInstance () { - return $this->searchInstance; - } - } diff --git a/framework/main/traits/criteria/search/class_LocalSearchCriteraTrait.php b/framework/main/traits/criteria/search/class_LocalSearchCriteraTrait.php new file mode 100644 index 00000000..f8183130 --- /dev/null +++ b/framework/main/traits/criteria/search/class_LocalSearchCriteraTrait.php @@ -0,0 +1,55 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2023 Core Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.shipsimu.org + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +trait LocalSearchCriteriaTrait { + /** + * Search criteria instance + */ + private $searchInstance = NULL; + + /** + * Setter for search instance + * + * @param $searchInstance Searchable criteria instance + * @return void + */ + public final function setSearchInstance (LocalSearchCriteria $searchInstance) { + $this->searchInstance = $searchInstance; + } + + /** + * Getter for search instance + * + * @return $searchInstance Searchable criteria instance + */ + public final function getSearchInstance () { + return $this->searchInstance; + } + +} diff --git a/index.php b/index.php index 37fa2612..6a499bba 100644 --- a/index.php +++ b/index.php @@ -58,7 +58,7 @@ final class ApplicationEntryPoint { * @return void * @todo This method is old code and needs heavy rewrite and should be moved to ApplicationHelper */ - public static final function exitApplication (string $message = '', int $code = -1, string $extraData = '', bool $silentMode = false) { + public static final function exitApplication (string $message = '', int $code = -1, string $extraData = '', bool $silentMode = false): void { // Is this method already called? //* NOISY-DEBUG: */ printf('[%s:%d]: message=%s,code=%d,extraData=%s,silentMode=%d - CALLED!' . PHP_EOL, __METHOD__, __LINE__, $message, $code, $extraData, intval($silentMode)); if (isset($GLOBALS['app_die_called'])) { @@ -200,7 +200,7 @@ final class ApplicationEntryPoint { * * @return $frameworkPath Path for framework */ - public static final function detectFrameworkPath () { + public static final function detectFrameworkPath (): string { // Is it not set? //* NOISY-DEBUG: */ printf('[%s:%d]: self::frameworkPath=%s - CALLED!' . PHP_EOL, __METHOD__, __LINE__, self::$frameworkPath); if (empty(self::$frameworkPath)) { @@ -255,7 +255,7 @@ final class ApplicationEntryPoint { * * @return $rootPath Root path */ - public static function getRootPath () { + public static function getRootPath (): string { // Get __DIR__, really simple and no detection return __DIR__; } @@ -268,7 +268,7 @@ final class ApplicationEntryPoint { * * @return void */ - public static final function main () { + public static final function main (): void { // Load bootstrap file //* NOISY-DEBUG: */ printf('[%s:%d]: CALLED!' . PHP_EOL, __METHOD__, __LINE__); require sprintf('%sbootstrap%sbootstrap.inc.php', self::detectFrameworkPath(), DIRECTORY_SEPARATOR); -- 2.39.5