]> git.mxchange.org Git - friendica.git/commitdiff
Unify "Capability"
authorPhilipp <admin@philipp.info>
Sun, 23 Jul 2023 01:21:41 +0000 (03:21 +0200)
committerPhilipp <admin@philipp.info>
Wed, 26 Jul 2023 19:44:31 +0000 (21:44 +0200)
49 files changed:
bin/auth_ejabberd.php
bin/console.php
bin/daemon.php
bin/worker.php
doc/StrategyHooks.md
index.php
src/Console/PostUpdate.php
src/Content/Item.php
src/Core/Addon/Capabilities/ICanLoadAddons.php [deleted file]
src/Core/Addon/Capability/ICanLoadAddons.php [new file with mode: 0644]
src/Core/Addon/Model/AddonLoader.php
src/Core/Cache/Factory/Cache.php
src/Core/Hooks/Capabilities/BehavioralHookType.php [deleted file]
src/Core/Hooks/Capabilities/ICanCreateInstances.php [deleted file]
src/Core/Hooks/Capabilities/ICanRegisterStrategies.php [deleted file]
src/Core/Hooks/Capability/BehavioralHookType.php [new file with mode: 0644]
src/Core/Hooks/Capability/ICanCreateInstances.php [new file with mode: 0644]
src/Core/Hooks/Capability/ICanRegisterStrategies.php [new file with mode: 0644]
src/Core/Hooks/Model/DiceInstanceManager.php
src/Core/Hooks/Util/StrategiesFileManager.php
src/Core/KeyValueStorage/Capabilities/IManageKeyValuePairs.php [deleted file]
src/Core/KeyValueStorage/Capability/IManageKeyValuePairs.php [new file with mode: 0644]
src/Core/KeyValueStorage/Factory/KeyValueStorage.php
src/Core/KeyValueStorage/Type/AbstractKeyValueStorage.php
src/Core/Logger/Capabilities/ICheckLoggerSettings.php [deleted file]
src/Core/Logger/Capabilities/IHaveCallIntrospections.php [deleted file]
src/Core/Logger/Capabilities/LogChannel.php [deleted file]
src/Core/Logger/Capability/ICheckLoggerSettings.php [new file with mode: 0644]
src/Core/Logger/Capability/IHaveCallIntrospections.php [new file with mode: 0644]
src/Core/Logger/Capability/LogChannel.php [new file with mode: 0644]
src/Core/Logger/Factory/AbstractLoggerTypeFactory.php
src/Core/Logger/Factory/Logger.php
src/Core/Logger/Factory/StreamLogger.php
src/Core/Logger/Type/AbstractLogger.php
src/Core/Logger/Type/StreamLogger.php
src/Core/Logger/Type/SyslogLogger.php
src/Core/Logger/Util/Introspection.php
src/Core/Logger/Util/LoggerSettingsCheck.php
src/Core/PConfig/Factory/PConfig.php
src/DI.php
src/Module/Friendica.php
src/Module/Statistics.php
static/dependencies.config.php
static/strategies.config.php
tests/src/Core/Addon/Model/AddonLoaderTest.php
tests/src/Core/Hooks/Util/StrategiesFileManagerTest.php
tests/src/Core/KeyValueStorage/DBKeyValueStorageTest.php
tests/src/Core/KeyValueStorage/KeyValueStorageTest.php
tests/src/Core/Logger/SyslogLoggerWrapper.php

index b923009e642555c2142b566065d34d7719f98222..3a95532464a7f2e70a60b09c8b35fc5274d4bfc6 100755 (executable)
@@ -58,7 +58,7 @@ if (php_sapi_name() !== 'cli') {
 
 use Dice\Dice;
 use Friendica\App\Mode;
-use Friendica\Core\Logger\Capabilities\LogChannel;
+use Friendica\Core\Logger\Capability\LogChannel;
 use Friendica\Security\ExAuth;
 use Psr\Log\LoggerInterface;
 
@@ -79,8 +79,8 @@ chdir($directory);
 require dirname(__DIR__) . '/vendor/autoload.php';
 
 $dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
-/** @var \Friendica\Core\Addon\Capabilities\ICanLoadAddons $addonLoader */
-$addonLoader = $dice->create(\Friendica\Core\Addon\Capabilities\ICanLoadAddons::class);
+/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
+$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
 $dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
 $dice = $dice->addRule(LoggerInterface::class,['constructParams' => [LogChannel::AUTH_JABBERED]]);
 
index b2cde10823f7c1a8af7bc672605e5f60f573f1b4..b797e6ba99a5d7800c5782eef97b8e18cc28d804 100755 (executable)
@@ -26,15 +26,15 @@ if (php_sapi_name() !== 'cli') {
 }
 
 use Dice\Dice;
-use Friendica\Core\Logger\Capabilities\LogChannel;
+use Friendica\Core\Logger\Capability\LogChannel;
 use Friendica\DI;
 use Psr\Log\LoggerInterface;
 
 require dirname(__DIR__) . '/vendor/autoload.php';
 
 $dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
-/** @var \Friendica\Core\Addon\Capabilities\ICanLoadAddons $addonLoader */
-$addonLoader = $dice->create(\Friendica\Core\Addon\Capabilities\ICanLoadAddons::class);
+/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
+$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
 $dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
 $dice = $dice->addRule(LoggerInterface::class, ['constructParams' => [LogChannel::CONSOLE]]);
 
index 11bad2b11a9b43b10106c56a093a185985b52b33..cd774fe25ebdc54c287de9de8945d96c4a7dfc41 100755 (executable)
@@ -60,10 +60,10 @@ if (!file_exists('index.php') && (sizeof($_SERVER['argv']) != 0)) {
 require dirname(__DIR__) . '/vendor/autoload.php';
 
 $dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
-/** @var \Friendica\Core\Addon\Capabilities\ICanLoadAddons $addonLoader */
-$addonLoader = $dice->create(\Friendica\Core\Addon\Capabilities\ICanLoadAddons::class);
+/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
+$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
 $dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
-$dice = $dice->addRule(LoggerInterface::class, ['constructParams' => [Logger\Capabilities\LogChannel::DAEMON]]);
+$dice = $dice->addRule(LoggerInterface::class, ['constructParams' => [Logger\Capability\LogChannel::DAEMON]]);
 
 DI::init($dice);
 \Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
index 42a8f533d3771a9480b83a30d2c8b0ac56b8aead..c855f9bc559d28aef36440fad5f9bead55cca7bf 100755 (executable)
@@ -29,7 +29,7 @@ if (php_sapi_name() !== 'cli') {
 use Dice\Dice;
 use Friendica\App;
 use Friendica\App\Mode;
-use Friendica\Core\Logger\Capabilities\LogChannel;
+use Friendica\Core\Logger\Capability\LogChannel;
 use Friendica\Core\Update;
 use Friendica\Core\Worker;
 use Friendica\DI;
@@ -55,8 +55,8 @@ if (!file_exists("index.php") && (sizeof($_SERVER["argv"]) != 0)) {
 require dirname(__DIR__) . '/vendor/autoload.php';
 
 $dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
-/** @var \Friendica\Core\Addon\Capabilities\ICanLoadAddons $addonLoader */
-$addonLoader = $dice->create(\Friendica\Core\Addon\Capabilities\ICanLoadAddons::class);
+/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
+$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
 $dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
 $dice = $dice->addRule(LoggerInterface::class, ['constructParams' => [LogChannel::WORKER]]);
 
index 39fc1bd8df4cea30a7d6dc0ca520c169d87d7b86..2960ceeaad65498a2a8b9c866cfa6f372cb28434 100644 (file)
@@ -10,9 +10,9 @@ This type of hook is based on the [Strategy Design Pattern](https://refactoring.
 A strategy class defines a possible implementation of a given interface based on a unique name.
 Every name is possible as long as it's unique and not `null`.
 Using an empty name (`''`) is possible as well and should be used as the "default" implementation.
-To register a strategy, use the [`ICanRegisterInstance`](../src/Core/Hooks/Capabilities/ICanRegisterInstances.php) interface.
+To register a strategy, use the [`ICanRegisterInstance`](../src/Core/Hooks/Capability/ICanRegisterInstances.php) interface.
 
-After registration, a caller can automatically create this instance with the [`ICanCreateInstances`](../src/Core/Hooks/Capabilities/ICanCreateInstances.php) interface and the chosen name.
+After registration, a caller can automatically create this instance with the [`ICanCreateInstances`](../src/Core/Hooks/Capability/ICanCreateInstances.php) interface and the chosen name.
 
 This is useful in case there are different, possible implementations for the same purpose, like for logging, locking, caching, ...
 
@@ -43,11 +43,11 @@ public class ConcreteClassB implements ExampleInterface
        }
 }
 
-/** @var \Friendica\Core\Hooks\Capabilities\ICanRegisterStrategies $instanceRegister */
+/** @var \Friendica\Core\Hooks\Capability\ICanRegisterStrategies $instanceRegister */
 $instanceRegister->registerStrategy(ExampleInterface::class, ConcreteClassA::class, 'A');
 $instanceRegister->registerStrategy(ExampleInterface::class, ConcreteClassB::class, 'B');
 
-/** @var \Friendica\Core\Hooks\Capabilities\ICanCreateInstances $instanceManager */
+/** @var \Friendica\Core\Hooks\Capability\ICanCreateInstances $instanceManager */
 /** @var ConcreteClassA $concreteClass */
 $concreteClass = $instanceManager->create(ExampleInterface::class, 'A');
 
@@ -62,14 +62,14 @@ To avoid registering all strategies manually inside the code, Friendica introduc
 
 There, you can register all kind of strategies  in one file.
 
-### [`HookType::STRATEGY`](../src/Core/Hooks/Capabilities/HookType.php)
+### [`HookType::STRATEGY`](../src/Core/Hooks/Capability/HookType.php)
 
 For each given interface, a list of key-value pairs can be set, where the key is the concrete implementation class and the value is an array of unique names.
 
 ### Example
 
 ```php
-use Friendica\Core\Hooks\Capabilities\BehavioralHookType as H;
+use Friendica\Core\Hooks\Capability\BehavioralHookType as H;
 
 return [
        H::STRATEGY  => [
index ce82470b6421d48eeb5ba44fea2d567a816069ee..87778308a5713a0b7846f511c73b2d346b613e2c 100644 (file)
--- a/index.php
+++ b/index.php
@@ -30,8 +30,8 @@ if (!file_exists(__DIR__ . '/vendor/autoload.php')) {
 require __DIR__ . '/vendor/autoload.php';
 
 $dice = (new Dice())->addRules(include __DIR__ . '/static/dependencies.config.php');
-/** @var \Friendica\Core\Addon\Capabilities\ICanLoadAddons $addonLoader */
-$addonLoader = $dice->create(\Friendica\Core\Addon\Capabilities\ICanLoadAddons::class);
+/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */
+$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class);
 $dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies'));
 $dice = $dice->addRule(Friendica\App\Mode::class, ['call' => [['determineRunMode', [false, $_SERVER], Dice::CHAIN_CALL]]]);
 
index 742197e732c0fcab2f8b25f07d6ed729e118adc2..42cc63e109db64c99164bb179f32ef5b041c976b 100644 (file)
@@ -22,7 +22,7 @@
 namespace Friendica\Console;
 
 use Friendica\App;
-use Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs;
+use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
 use Friendica\Core\L10n;
 use Friendica\Core\Update;
 
index f7dda6c65f4030c24de79e24e645009a90ae3e1b..c25e5296f01e78504a0c5f4cfb28588b3fda3961 100644 (file)
@@ -544,7 +544,7 @@ class Item
                                        unset($item['owner-name']);
                                        unset($item['owner-avatar']);
                                }
-       
+
                                $item['postopts'] = '';
                        }
 
diff --git a/src/Core/Addon/Capabilities/ICanLoadAddons.php b/src/Core/Addon/Capabilities/ICanLoadAddons.php
deleted file mode 100644 (file)
index 9c9d1e8..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Addon\Capabilities;
-
-/**
- * Interface for loading Addons specific content
- */
-interface ICanLoadAddons
-{
-       /**
-        * Returns a merged config array of all active addons for a given config-name
-        *
-        * @param string $configName The config-name (config-file at the static directory, like 'hooks' => '{addon}/static/hooks.config.php)
-        *
-        * @return array the merged array
-        */
-       public function getActiveAddonConfig(string $configName): array;
-}
diff --git a/src/Core/Addon/Capability/ICanLoadAddons.php b/src/Core/Addon/Capability/ICanLoadAddons.php
new file mode 100644 (file)
index 0000000..42af1a7
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Core\Addon\Capability;
+
+/**
+ * Interface for loading Addons specific content
+ */
+interface ICanLoadAddons
+{
+       /**
+        * Returns a merged config array of all active addons for a given config-name
+        *
+        * @param string $configName The config-name (config-file at the static directory, like 'hooks' => '{addon}/static/hooks.config.php)
+        *
+        * @return array the merged array
+        */
+       public function getActiveAddonConfig(string $configName): array;
+}
index 952246af0a693553983691c3aae75ff1f2e3bc14..e808f21777c57474a38725c2d9c043396628998a 100644 (file)
@@ -21,7 +21,7 @@
 
 namespace Friendica\Core\Addon\Model;
 
-use Friendica\Core\Addon\Capabilities\ICanLoadAddons;
+use Friendica\Core\Addon\Capability\ICanLoadAddons;
 use Friendica\Core\Addon\Exception\AddonInvalidConfigFileException;
 use Friendica\Core\Config\Capability\IManageConfigValues;
 use Friendica\Util\Strings;
index b6124c156d2cb019d1b8a0f6a89d88add8cfe015..02cdb1a79ed65c7086d81685166dec38ecffb905 100644 (file)
@@ -27,7 +27,7 @@ use Friendica\Core\Cache\Exception\CachePersistenceException;
 use Friendica\Core\Cache\Exception\InvalidCacheDriverException;
 use Friendica\Core\Cache\Type;
 use Friendica\Core\Config\Capability\IManageConfigValues;
-use Friendica\Core\Hooks\Capabilities\ICanCreateInstances;
+use Friendica\Core\Hooks\Capability\ICanCreateInstances;
 use Friendica\Util\Profiler;
 
 /**
diff --git a/src/Core/Hooks/Capabilities/BehavioralHookType.php b/src/Core/Hooks/Capabilities/BehavioralHookType.php
deleted file mode 100644 (file)
index 6336406..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Hooks\Capabilities;
-
-/**
- * An enum of hook types, based on behavioral design patterns
- * @see https://refactoring.guru/design-patterns/behavioral-patterns
- */
-interface BehavioralHookType
-{
-       /**
-        * Defines the key for the list of strategy-hooks.
-        *
-        * @see https://refactoring.guru/design-patterns/strategy
-        */
-       const STRATEGY = 'strategy';
-       const EVENT    = 'event';
-}
diff --git a/src/Core/Hooks/Capabilities/ICanCreateInstances.php b/src/Core/Hooks/Capabilities/ICanCreateInstances.php
deleted file mode 100644 (file)
index 77d4c4b..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Hooks\Capabilities;
-
-/**
- * creates special instances for given classes
- */
-interface ICanCreateInstances
-{
-       /**
-        * Returns a new instance of a given class for the corresponding name
-        *
-        * The instance will be build based on the registered strategy and the (unique) name
-        *
-        * @param string $class     The fully-qualified name of the given class or interface which will get returned
-        * @param string $strategy  An arbitrary identifier to find a concrete instance strategy.
-        * @param array  $arguments Additional arguments, which can be passed to the constructor of "$class" at runtime
-        *
-        * @return object The concrete instance of the type "$class"
-        */
-       public function create(string $class, string $strategy, array $arguments = []): object;
-}
diff --git a/src/Core/Hooks/Capabilities/ICanRegisterStrategies.php b/src/Core/Hooks/Capabilities/ICanRegisterStrategies.php
deleted file mode 100644 (file)
index 911eb34..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Hooks\Capabilities;
-
-use Friendica\Core\Hooks\Exceptions\HookRegisterArgumentException;
-
-/**
- * Register strategies for given classes
- */
-interface ICanRegisterStrategies
-{
-       /**
-        * Register a class(strategy) for a given interface with a unique name.
-        *
-        * @see https://refactoring.guru/design-patterns/strategy
-        *
-        * @param string  $interface The interface, which the given class implements
-        * @param string  $class     The fully-qualified given class name
-        *                           A placeholder for dependencies is possible as well
-        * @param ?string $name      An arbitrary identifier for the given strategy, which will be used for factories, dependency injections etc.
-        *
-        * @return $this This interface for chain-calls
-        *
-        * @throws HookRegisterArgumentException in case the given class for the interface isn't valid or already set
-        */
-       public function registerStrategy(string $interface, string $class, ?string $name = null): self;
-}
diff --git a/src/Core/Hooks/Capability/BehavioralHookType.php b/src/Core/Hooks/Capability/BehavioralHookType.php
new file mode 100644 (file)
index 0000000..6de875e
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Core\Hooks\Capability;
+
+/**
+ * An enum of hook types, based on behavioral design patterns
+ * @see https://refactoring.guru/design-patterns/behavioral-patterns
+ */
+interface BehavioralHookType
+{
+       /**
+        * Defines the key for the list of strategy-hooks.
+        *
+        * @see https://refactoring.guru/design-patterns/strategy
+        */
+       const STRATEGY = 'strategy';
+       const EVENT    = 'event';
+}
diff --git a/src/Core/Hooks/Capability/ICanCreateInstances.php b/src/Core/Hooks/Capability/ICanCreateInstances.php
new file mode 100644 (file)
index 0000000..55740d2
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Core\Hooks\Capability;
+
+/**
+ * creates special instances for given classes
+ */
+interface ICanCreateInstances
+{
+       /**
+        * Returns a new instance of a given class for the corresponding name
+        *
+        * The instance will be build based on the registered strategy and the (unique) name
+        *
+        * @param string $class     The fully-qualified name of the given class or interface which will get returned
+        * @param string $strategy  An arbitrary identifier to find a concrete instance strategy.
+        * @param array  $arguments Additional arguments, which can be passed to the constructor of "$class" at runtime
+        *
+        * @return object The concrete instance of the type "$class"
+        */
+       public function create(string $class, string $strategy, array $arguments = []): object;
+}
diff --git a/src/Core/Hooks/Capability/ICanRegisterStrategies.php b/src/Core/Hooks/Capability/ICanRegisterStrategies.php
new file mode 100644 (file)
index 0000000..8756657
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Core\Hooks\Capability;
+
+use Friendica\Core\Hooks\Exceptions\HookRegisterArgumentException;
+
+/**
+ * Register strategies for given classes
+ */
+interface ICanRegisterStrategies
+{
+       /**
+        * Register a class(strategy) for a given interface with a unique name.
+        *
+        * @see https://refactoring.guru/design-patterns/strategy
+        *
+        * @param string  $interface The interface, which the given class implements
+        * @param string  $class     The fully-qualified given class name
+        *                           A placeholder for dependencies is possible as well
+        * @param ?string $name      An arbitrary identifier for the given strategy, which will be used for factories, dependency injections etc.
+        *
+        * @return $this This interface for chain-calls
+        *
+        * @throws HookRegisterArgumentException in case the given class for the interface isn't valid or already set
+        */
+       public function registerStrategy(string $interface, string $class, ?string $name = null): self;
+}
index a8b0b540cef2e1a47347e0160490a4e3d641ed15..194fc6e5c7679e9f82a667823e2daaa57b5e8543 100644 (file)
@@ -22,8 +22,8 @@
 namespace Friendica\Core\Hooks\Model;
 
 use Dice\Dice;
-use Friendica\Core\Hooks\Capabilities\ICanCreateInstances;
-use Friendica\Core\Hooks\Capabilities\ICanRegisterStrategies;
+use Friendica\Core\Hooks\Capability\ICanCreateInstances;
+use Friendica\Core\Hooks\Capability\ICanRegisterStrategies;
 use Friendica\Core\Hooks\Exceptions\HookInstanceException;
 use Friendica\Core\Hooks\Exceptions\HookRegisterArgumentException;
 use Friendica\Core\Hooks\Util\StrategiesFileManager;
index 700c401f2b90f0e57c018f49c560290c5423eaa8..d6651ac9813da4917abf07bec94a71a354eca110 100644 (file)
@@ -21,8 +21,8 @@
 
 namespace Friendica\Core\Hooks\Util;
 
-use Friendica\Core\Addon\Capabilities\ICanLoadAddons;
-use Friendica\Core\Hooks\Capabilities\ICanRegisterStrategies;
+use Friendica\Core\Addon\Capability\ICanLoadAddons;
+use Friendica\Core\Hooks\Capability\ICanRegisterStrategies;
 use Friendica\Core\Hooks\Exceptions\HookConfigException;
 
 /**
diff --git a/src/Core/KeyValueStorage/Capabilities/IManageKeyValuePairs.php b/src/Core/KeyValueStorage/Capabilities/IManageKeyValuePairs.php
deleted file mode 100644 (file)
index c9d215c..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\KeyValueStorage\Capabilities;
-
-use Friendica\Core\KeyValueStorage\Exceptions\KeyValueStoragePersistenceException;
-
-/**
- * Interface for Friendica specific Key-Value pair storage
- */
-interface IManageKeyValuePairs extends \ArrayAccess
-{
-       /**
-        * Get a particular value from the KeyValue Storage
-        *
-        * @param string  $key           The key to query
-        *
-        * @return mixed Stored value or null if it does not exist
-        *
-        * @throws KeyValueStoragePersistenceException In case the persistence layer throws errors
-        *
-        */
-       public function get(string $key);
-
-       /**
-        * Sets a value for a given key
-        *
-        * Note: Please do not store booleans - convert to 0/1 integer values!
-        *
-        * @param string $key    The configuration key to set
-        * @param mixed  $value  The value to store
-        *
-        * @throws KeyValueStoragePersistenceException In case the persistence layer throws errors
-        */
-       public function set(string $key, $value): void;
-
-       /**
-        * Deletes the given key.
-        *
-        * @param string $key    The configuration key to delete
-        *
-        * @throws KeyValueStoragePersistenceException In case the persistence layer throws errors
-        *
-        */
-       public function delete(string $key): void;
-}
diff --git a/src/Core/KeyValueStorage/Capability/IManageKeyValuePairs.php b/src/Core/KeyValueStorage/Capability/IManageKeyValuePairs.php
new file mode 100644 (file)
index 0000000..5d9c845
--- /dev/null
@@ -0,0 +1,64 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Core\KeyValueStorage\Capability;
+
+use Friendica\Core\KeyValueStorage\Exceptions\KeyValueStoragePersistenceException;
+
+/**
+ * Interface for Friendica specific Key-Value pair storage
+ */
+interface IManageKeyValuePairs extends \ArrayAccess
+{
+       /**
+        * Get a particular value from the KeyValue Storage
+        *
+        * @param string  $key           The key to query
+        *
+        * @return mixed Stored value or null if it does not exist
+        *
+        * @throws KeyValueStoragePersistenceException In case the persistence layer throws errors
+        *
+        */
+       public function get(string $key);
+
+       /**
+        * Sets a value for a given key
+        *
+        * Note: Please do not store booleans - convert to 0/1 integer values!
+        *
+        * @param string $key    The configuration key to set
+        * @param mixed  $value  The value to store
+        *
+        * @throws KeyValueStoragePersistenceException In case the persistence layer throws errors
+        */
+       public function set(string $key, $value): void;
+
+       /**
+        * Deletes the given key.
+        *
+        * @param string $key    The configuration key to delete
+        *
+        * @throws KeyValueStoragePersistenceException In case the persistence layer throws errors
+        *
+        */
+       public function delete(string $key): void;
+}
index 1bce84f4e68dbc7d113872980e35920c94e47a5e..ee6cb17318dee32d970040bcb55c58c529eb2ab0 100644 (file)
@@ -21,8 +21,8 @@
 
 namespace Friendica\Core\KeyValueStorage\Factory;
 
-use Friendica\Core\Hooks\Capabilities\ICanCreateInstances;
-use Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs;
+use Friendica\Core\Hooks\Capability\ICanCreateInstances;
+use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
 
 class KeyValueStorage
 {
index a6924b61f5a83b038a458e1f9f2050da3e9ad9e3..6b1666527642fe957f282ccf4e5872a04223c86f 100644 (file)
@@ -21,7 +21,7 @@
 
 namespace Friendica\Core\KeyValueStorage\Type;
 
-use Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs;
+use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
 
 /**
  * An abstract helper class for Key-Value storage classes
diff --git a/src/Core/Logger/Capabilities/ICheckLoggerSettings.php b/src/Core/Logger/Capabilities/ICheckLoggerSettings.php
deleted file mode 100644 (file)
index fb93d18..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Logger\Capabilities;
-
-/**
- * Whenever a logging specific check is necessary, use this interface to encapsulate and centralize this logic
- */
-interface ICheckLoggerSettings
-{
-       /**
-        * Checks if the logfile is set and usable
-        *
-        * @return string|null null in case everything is ok, otherwise returns the error
-        */
-       public function checkLogfile(): ?string;
-
-       /**
-        * Checks if the debugging logfile is usable in case it is set!
-        *
-        * @return string|null null in case everything is ok, otherwise returns the error
-        */
-       public function checkDebugLogfile(): ?string;
-}
diff --git a/src/Core/Logger/Capabilities/IHaveCallIntrospections.php b/src/Core/Logger/Capabilities/IHaveCallIntrospections.php
deleted file mode 100644 (file)
index 83d75f9..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Logger\Capabilities;
-
-interface IHaveCallIntrospections
-{
-       /**
-        * A list of classes, which shouldn't get logged
-        *
-        * @var string[]
-        */
-       public const IGNORE_CLASS_LIST = [
-               \Friendica\Core\Logger::class,
-               \Friendica\Core\Logger\Factory\Logger::class,
-               'Friendica\\Core\\Logger\\Type',
-               \Friendica\Util\Profiler::class,
-       ];
-
-       /**
-        * Adds new classes to get skipped
-        *
-        * @param array $classNames
-        */
-       public function addClasses(array $classNames): void;
-
-       /**
-        * Returns the introspection record of the current call
-        *
-        * @return array
-        */
-       public function getRecord(): array;
-}
diff --git a/src/Core/Logger/Capabilities/LogChannel.php b/src/Core/Logger/Capabilities/LogChannel.php
deleted file mode 100644 (file)
index 3191516..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/**
- * @copyright Copyright (C) 2010-2023, the Friendica project
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- *
- */
-
-namespace Friendica\Core\Logger\Capabilities;
-
-/**
- * An enum class for the Log channels
- */
-interface LogChannel
-{
-       /** @var string channel for the auth_ejabbered script */
-       public const AUTH_JABBERED = 'auth_ejabberd';
-       /** @var string Default channel in case it isn't set explicit */
-       public const DEFAULT = self::APP;
-       /** @var string channel for console execution */
-       public const CONSOLE = 'console';
-       /** @var string channel for developer focused logging */
-       public const DEV = 'dev';
-       /** @var string channel for daemon executions */
-       public const DAEMON = 'daemon';
-       /** @var string channel for worker execution */
-       public const WORKER = 'worker';
-       /** @var string channel for frontend app executions */
-       public const APP = 'app';
-}
diff --git a/src/Core/Logger/Capability/ICheckLoggerSettings.php b/src/Core/Logger/Capability/ICheckLoggerSettings.php
new file mode 100644 (file)
index 0000000..abdbc3b
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Core\Logger\Capability;
+
+/**
+ * Whenever a logging specific check is necessary, use this interface to encapsulate and centralize this logic
+ */
+interface ICheckLoggerSettings
+{
+       /**
+        * Checks if the logfile is set and usable
+        *
+        * @return string|null null in case everything is ok, otherwise returns the error
+        */
+       public function checkLogfile(): ?string;
+
+       /**
+        * Checks if the debugging logfile is usable in case it is set!
+        *
+        * @return string|null null in case everything is ok, otherwise returns the error
+        */
+       public function checkDebugLogfile(): ?string;
+}
diff --git a/src/Core/Logger/Capability/IHaveCallIntrospections.php b/src/Core/Logger/Capability/IHaveCallIntrospections.php
new file mode 100644 (file)
index 0000000..918232a
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Core\Logger\Capability;
+
+interface IHaveCallIntrospections
+{
+       /**
+        * A list of classes, which shouldn't get logged
+        *
+        * @var string[]
+        */
+       public const IGNORE_CLASS_LIST = [
+               \Friendica\Core\Logger::class,
+               \Friendica\Core\Logger\Factory\Logger::class,
+               'Friendica\\Core\\Logger\\Type',
+               \Friendica\Util\Profiler::class,
+       ];
+
+       /**
+        * Adds new classes to get skipped
+        *
+        * @param array $classNames
+        */
+       public function addClasses(array $classNames): void;
+
+       /**
+        * Returns the introspection record of the current call
+        *
+        * @return array
+        */
+       public function getRecord(): array;
+}
diff --git a/src/Core/Logger/Capability/LogChannel.php b/src/Core/Logger/Capability/LogChannel.php
new file mode 100644 (file)
index 0000000..c3b6316
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Core\Logger\Capability;
+
+/**
+ * An enum class for the Log channels
+ */
+interface LogChannel
+{
+       /** @var string channel for the auth_ejabbered script */
+       public const AUTH_JABBERED = 'auth_ejabberd';
+       /** @var string Default channel in case it isn't set explicit */
+       public const DEFAULT = self::APP;
+       /** @var string channel for console execution */
+       public const CONSOLE = 'console';
+       /** @var string channel for developer focused logging */
+       public const DEV = 'dev';
+       /** @var string channel for daemon executions */
+       public const DAEMON = 'daemon';
+       /** @var string channel for worker execution */
+       public const WORKER = 'worker';
+       /** @var string channel for frontend app executions */
+       public const APP = 'app';
+}
index 402176d8e65ba1961e8598f79aeadfc961de45c4..86dfeae63bc8960d61ee758b104885cc177e21f1 100644 (file)
@@ -21,7 +21,7 @@
 
 namespace Friendica\Core\Logger\Factory;
 
-use Friendica\Core\Logger\Capabilities\IHaveCallIntrospections;
+use Friendica\Core\Logger\Capability\IHaveCallIntrospections;
 use Psr\Log\LogLevel;
 
 /**
index c370cc4dd7cc6caa7e4b05e07c9fb256149589a8..f1086f5853c4cea47f23b244106ffb0e2a604337 100644 (file)
@@ -22,8 +22,8 @@
 namespace Friendica\Core\Logger\Factory;
 
 use Friendica\Core\Config\Capability\IManageConfigValues;
-use Friendica\Core\Hooks\Capabilities\ICanCreateInstances;
-use Friendica\Core\Logger\Capabilities\LogChannel;
+use Friendica\Core\Hooks\Capability\ICanCreateInstances;
+use Friendica\Core\Logger\Capability\LogChannel;
 use Friendica\Core\Logger\Type\ProfilerLogger as ProfilerLoggerClass;
 use Friendica\Util\Profiler;
 use Psr\Log\LoggerInterface;
index caad78e3b44b2672fa4d2802aa913b36e9dd3b05..7f32d66b1dadb4bf7c0969a05362afeabb24df04 100644 (file)
@@ -22,7 +22,7 @@
 namespace Friendica\Core\Logger\Factory;
 
 use Friendica\Core\Config\Capability\IManageConfigValues;
-use Friendica\Core\Logger\Capabilities\LogChannel;
+use Friendica\Core\Logger\Capability\LogChannel;
 use Friendica\Core\Logger\Exception\LoggerArgumentException;
 use Friendica\Core\Logger\Exception\LoggerException;
 use Friendica\Core\Logger\Exception\LogLevelException;
index 77a61e9206467dac7d0d71846ae2ef2347935976..e592ee86d6a0e6436fcbf18ca5d8acfe7c80e803 100644 (file)
@@ -21,7 +21,7 @@
 
 namespace Friendica\Core\Logger\Type;
 
-use Friendica\Core\Logger\Capabilities\IHaveCallIntrospections;
+use Friendica\Core\Logger\Capability\IHaveCallIntrospections;
 use Friendica\Core\Logger\Exception\LoggerException;
 use Friendica\Util\Strings;
 use Psr\Log\LoggerInterface;
index 87f1a3937f36d10263b25d5fa568adbd13c9ba2f..e09a320473ed2c334b000d3d3490848a820a1b41 100644 (file)
@@ -21,7 +21,7 @@
 
 namespace Friendica\Core\Logger\Type;
 
-use Friendica\Core\Logger\Capabilities\IHaveCallIntrospections;
+use Friendica\Core\Logger\Capability\IHaveCallIntrospections;
 use Friendica\Core\Logger\Exception\LoggerException;
 use Friendica\Core\Logger\Exception\LogLevelException;
 use Friendica\Util\DateTimeFormat;
index 88dc1964ddb729f5d9c4a52a252df2d65b51d3e9..fb8cb97ae72b2c80d57f1266e94c942613d5fa21 100644 (file)
@@ -21,7 +21,7 @@
 
 namespace Friendica\Core\Logger\Type;
 
-use Friendica\Core\Logger\Capabilities\IHaveCallIntrospections;
+use Friendica\Core\Logger\Capability\IHaveCallIntrospections;
 use Friendica\Core\Logger\Exception\LoggerException;
 use Friendica\Core\Logger\Exception\LogLevelException;
 use Psr\Log\LogLevel;
index e0f7e85540afbfc09c3ecd8c711a82bed4900b6f..0b703da825514b22558910029589f63479eb3721 100644 (file)
@@ -22,7 +22,7 @@
 namespace Friendica\Core\Logger\Util;
 
 use Friendica\App\Request;
-use Friendica\Core\Logger\Capabilities\IHaveCallIntrospections;
+use Friendica\Core\Logger\Capability\IHaveCallIntrospections;
 
 /**
  * Get Introspection information about the current call
index 7782216daba779e232dd838c7150ef36a03dc140..cb598d5f2d4de0e31f9212db443eb15b2c8ebbe6 100644 (file)
@@ -23,7 +23,7 @@ namespace Friendica\Core\Logger\Util;
 
 use Friendica\Core\Config\Capability\IManageConfigValues;
 use Friendica\Core\L10n;
-use Friendica\Core\Logger\Capabilities\ICheckLoggerSettings;
+use Friendica\Core\Logger\Capability\ICheckLoggerSettings;
 use Friendica\Core\Logger\Exception\LoggerUnusableException;
 
 /** {@inheritDoc} */
index 4195619bc244afb5a40f40c31965851b79f97a37..05967528992f7548c4de4ff504beb1257f4b0062 100644 (file)
@@ -22,7 +22,7 @@
 namespace Friendica\Core\PConfig\Factory;
 
 use Friendica\Core\Config\Capability\IManageConfigValues;
-use Friendica\Core\Hooks\Capabilities\ICanCreateInstances;
+use Friendica\Core\Hooks\Capability\ICanCreateInstances;
 use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
 
 class PConfig
index 1917f710d3a77112e8780404e1b90c9384ba728b..34cf1c68d55b76177610be3df682fec57db81bd3 100644 (file)
@@ -22,7 +22,7 @@
 namespace Friendica;
 
 use Dice\Dice;
-use Friendica\Core\Logger\Capabilities\ICheckLoggerSettings;
+use Friendica\Core\Logger\Capability\ICheckLoggerSettings;
 use Friendica\Core\Logger\Util\LoggerSettingsCheck;
 use Friendica\Core\Session\Capability\IHandleSessions;
 use Friendica\Core\Session\Capability\IHandleUserSessions;
@@ -210,9 +210,9 @@ abstract class DI
                return self::$dice->create(Core\Config\Util\ConfigFileManager::class);
        }
 
-       public static function keyValue(): Core\KeyValueStorage\Capabilities\IManageKeyValuePairs
+       public static function keyValue(): Core\KeyValueStorage\Capability\IManageKeyValuePairs
        {
-               return self::$dice->create(Core\KeyValueStorage\Capabilities\IManageKeyValuePairs::class);
+               return self::$dice->create(Core\KeyValueStorage\Capability\IManageKeyValuePairs::class);
        }
 
        /**
index c6e2768bd300032519a894cf4e68afa863f5f6f8..1bd6bd411e9172cd2dacd3d2848f1e5c6030d200 100644 (file)
@@ -26,7 +26,7 @@ use Friendica\BaseModule;
 use Friendica\Core\Addon;
 use Friendica\Core\Config\Capability\IManageConfigValues;
 use Friendica\Core\Hook;
-use Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs;
+use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
 use Friendica\Core\L10n;
 use Friendica\Core\Renderer;
 use Friendica\Core\Session\Capability\IHandleUserSessions;
index 514f10bb73d768d836fb576d06d29a5c6863b2d0..e69f75421649bc216b66741ec0de298380b485de 100644 (file)
@@ -25,7 +25,7 @@ use Friendica\App;
 use Friendica\BaseModule;
 use Friendica\Core\Addon;
 use Friendica\Core\Config\Capability\IManageConfigValues;
-use Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs;
+use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
 use Friendica\Core\L10n;
 use Friendica\Core\System;
 use Friendica\Network\HTTPException\NotFoundException;
@@ -38,7 +38,7 @@ class Statistics extends BaseModule
        protected $config;
        /** @var IManageKeyValuePairs */
        protected $keyValue;
-       
+
        public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, IManageConfigValues $config, IManageKeyValuePairs $keyValue, Response $response, array $server, array $parameters = [])
        {
                parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
index 9c1ead90530cfd75c5fa92bf0e2ed0d8e5820cc3..3dfde6b5f47c0e1c65ec8b2e5db931cf8cc5db1e 100644 (file)
@@ -37,8 +37,8 @@ use Dice\Dice;
 use Friendica\App;
 use Friendica\Core\Cache;
 use Friendica\Core\Config;
-use Friendica\Core\Hooks\Capabilities\ICanCreateInstances;
-use Friendica\Core\Hooks\Capabilities\ICanRegisterStrategies;
+use Friendica\Core\Hooks\Capability\ICanCreateInstances;
+use Friendica\Core\Hooks\Capability\ICanRegisterStrategies;
 use Friendica\Core\Hooks\Model\DiceInstanceManager;
 use Friendica\Core\PConfig;
 use Friendica\Core\L10n;
@@ -63,7 +63,7 @@ return [
                // one instance for the whole execution
                'shared' => true,
        ],
-       \Friendica\Core\Addon\Capabilities\ICanLoadAddons::class => [
+       \Friendica\Core\Addon\Capability\ICanLoadAddons::class => [
                'instanceOf' => \Friendica\Core\Addon\Model\AddonLoader::class,
                'constructParams' => [
                        [Dice::INSTANCE => '$basepath'],
@@ -215,10 +215,10 @@ return [
                        ['create', [], Dice::CHAIN_CALL],
                ],
        ],
-       \Friendica\Core\Logger\Capabilities\IHaveCallIntrospections::class => [
+       \Friendica\Core\Logger\Capability\IHaveCallIntrospections::class => [
                'instanceOf'      => \Friendica\Core\Logger\Util\Introspection::class,
                'constructParams' => [
-                       \Friendica\Core\Logger\Capabilities\IHaveCallIntrospections::IGNORE_CLASS_LIST,
+                       \Friendica\Core\Logger\Capability\IHaveCallIntrospections::IGNORE_CLASS_LIST,
                ],
        ],
        '$devLogger'                                                       => [
@@ -290,7 +290,7 @@ return [
                        ['getBackend', [], Dice::CHAIN_CALL],
                ],
        ],
-       \Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs::class => [
+       \Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs::class => [
                'instanceOf' => \Friendica\Core\KeyValueStorage\Factory\KeyValueStorage::class,
                'call' => [
                        ['create', [], Dice::CHAIN_CALL],
index 339a59a878b5f9ff4ec265ddf09c6a15c0084975..8df0c04788862ff3e04293b59e2fa4c578e5974a 100644 (file)
@@ -38,11 +38,11 @@ return [
                Cache\Type\MemcachedCache::class => ['memcached'],
                Cache\Type\RedisCache::class     => ['redis'],
        ],
-       KeyValueStorage\Capabilities\IManageKeyValuePairs::class => [
+       KeyValueStorage\Capability\IManageKeyValuePairs::class => [
                KeyValueStorage\Type\DBKeyValueStorage::class => ['database', ''],
        ],
        PConfig\Capability\IManagePersonalConfigValues::class => [
-               PConfig\Type\JitPConfig::class => ['jit'],
+               PConfig\Type\JitPConfig::class     => ['jit'],
                PConfig\Type\PreloadPConfig::class => ['preload', ''],
        ],
 ];
index 189110fded7bacce323bdabd17dce21f30843434..f49333b32d965b01a3c87a8ecac4145af011c3d1 100644 (file)
@@ -54,7 +54,7 @@ class AddonLoaderTest extends MockedTest
 <?php
 
 return [
-       \Friendica\Core\Hooks\Capabilities\BehavioralHookType::STRATEGY => [
+       \Friendica\Core\Hooks\Capability\BehavioralHookType::STRATEGY => [
                \Psr\Log\LoggerInterface::class => [
                        \Psr\Log\NullLogger::class => [''],
                ],
@@ -79,7 +79,7 @@ EOF;
                                        'addon/testaddon1/static/hooks.config.php' => $this->content,
                                ],
                                'assertion' => [
-                                       \Friendica\Core\Hooks\Capabilities\BehavioralHookType::STRATEGY => [
+                                       \Friendica\Core\Hooks\Capability\BehavioralHookType::STRATEGY => [
                                                \Psr\Log\LoggerInterface::class => [
                                                        \Psr\Log\NullLogger::class => [''],
                                                ],
@@ -94,7 +94,7 @@ EOF;
                                        'addon/testaddon2/static/hooks.config.php' => $this->content,
                                ],
                                'assertion' => [
-                                       \Friendica\Core\Hooks\Capabilities\BehavioralHookType::STRATEGY => [
+                                       \Friendica\Core\Hooks\Capability\BehavioralHookType::STRATEGY => [
                                                \Psr\Log\LoggerInterface::class => [
                                                        \Psr\Log\NullLogger::class => ['', ''],
                                                ],
@@ -118,7 +118,7 @@ EOF;
                                        'addon/testaddon2/static/hooks.config.php' => $this->content,
                                ],
                                'assertion' => [
-                                       \Friendica\Core\Hooks\Capabilities\BehavioralHookType::STRATEGY => [
+                                       \Friendica\Core\Hooks\Capability\BehavioralHookType::STRATEGY => [
                                                \Psr\Log\LoggerInterface::class => [
                                                        \Psr\Log\NullLogger::class => [''],
                                                ],
index 592f6f1e06b648af8e3b30a6a6336b027b7bb4b6..ebb213fa7bb295dcbb3169972e1acd2700be3b6e 100644 (file)
@@ -21,8 +21,8 @@
 
 namespace Friendica\Test\src\Core\Hooks\Util;
 
-use Friendica\Core\Addon\Capabilities\ICanLoadAddons;
-use Friendica\Core\Hooks\Capabilities\ICanRegisterStrategies;
+use Friendica\Core\Addon\Capability\ICanLoadAddons;
+use Friendica\Core\Hooks\Capability\ICanRegisterStrategies;
 use Friendica\Core\Hooks\Exceptions\HookConfigException;
 use Friendica\Core\Hooks\Util\StrategiesFileManager;
 use Friendica\Test\MockedTest;
index 80a0f16de01d2064ed1fcc7c689758811ee8ee72..3a3b255365d2d14d00c651b205709108d01a61d5 100644 (file)
@@ -21,7 +21,7 @@
 
 namespace Friendica\Test\src\Core\KeyValueStorage;
 
-use Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs;
+use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
 use Friendica\Core\KeyValueStorage\Type\DBKeyValueStorage;
 use Friendica\Database\Database;
 use Friendica\Test\Util\CreateDatabaseTrait;
index 6ccc0f5f4d9000c2d7f6f534f883c7b447e72129..ddb0acc4dccb0f6182475bbc9108c3d9deb23497 100644 (file)
@@ -21,7 +21,7 @@
 
 namespace Friendica\Test\src\Core\KeyValueStorage;
 
-use Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs;
+use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
 use Friendica\Test\MockedTest;
 
 abstract class KeyValueStorageTest extends MockedTest
index 1e0c4535f96e0787fdc975a864646c447f570d97..dce28b164cfc790d9afb6ab990ff61cb96dd4c21 100644 (file)
@@ -21,7 +21,7 @@
 
 namespace Friendica\Test\src\Core\Logger;
 
-use Friendica\Core\Logger\Capabilities\IHaveCallIntrospections;
+use Friendica\Core\Logger\Capability\IHaveCallIntrospections;
 use Friendica\Core\Logger\Type\SyslogLogger;
 
 /**