),
+ * ...
+ * )
+ *
+ * @param bool $sorted
+ * @param bool $asLabelValue
+ * @param bool $withGroups
+ * @param Store|null $store
+ * @return array
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function getPaymentMethodList($sorted = true, $asLabelValue = false, $withGroups = false, $store = null)
+ {
+ }
+ /**
+ * Returns value of Zero Subtotal Checkout / Enabled
+ *
+ * @param null|string|bool|int|Store $store
+ * @return bool
+ */
+ public function isZeroSubTotal($store = null)
+ {
+ }
+ /**
+ * Returns value of Zero Subtotal Checkout / New Order Status
+ *
+ * @param null|string|bool|int|Store $store
+ * @return string
+ */
+ public function getZeroSubTotalOrderStatus($store = null)
+ {
+ }
+ /**
+ * Returns value of Zero Subtotal Checkout / Automatically Invoice All Items
+ *
+ * @param null|string|bool|int|Store $store
+ * @return string
+ */
+ public function getZeroSubTotalPaymentAutomaticInvoice($store = null)
+ {
+ }
+}
\ No newline at end of file
diff --git a/.dev-tools/stubs/DataObject.stub b/.dev-tools/stubs/DataObject.stub
new file mode 100644
index 00000000..11abf3b5
--- /dev/null
+++ b/.dev-tools/stubs/DataObject.stub
@@ -0,0 +1,174542 @@
+
+ */
+ class Tar extends \Magento\Framework\Archive\AbstractArchive implements \Magento\Framework\Archive\ArchiveInterface
+ {
+ /**
+ * The value of the tar block size
+ *
+ * @const int
+ */
+ public const TAR_BLOCK_SIZE = 512;
+ /**
+ * Keep file or directory for packing.
+ *
+ * @var string
+ */
+ protected $_currentFile;
+ /**
+ * Keep path to file or directory for packing.
+ *
+ * @var string
+ */
+ protected $_currentPath;
+ /**
+ * Skip first level parent directory. Example:
+ * use test/fip.php instead test/test/fip.php;
+ *
+ * @var bool
+ */
+ protected $_skipRoot;
+ /**
+ * Tarball data writer
+ *
+ * @var File
+ */
+ protected $_writer;
+ /**
+ * Tarball data reader
+ *
+ * @var File
+ */
+ protected $_reader;
+ /**
+ * Path to file where tarball should be placed
+ *
+ * @var string
+ */
+ protected $_destinationFilePath;
+ /**
+ * Initialize tarball writer
+ *
+ * @return $this
+ */
+ protected function _initWriter()
+ {
+ }
+ /**
+ * Returns string that is used for tar's header parsing
+ *
+ * @return string
+ */
+ protected static function _getFormatParseHeader()
+ {
+ }
+ /**
+ * Destroy tarball writer
+ *
+ * @return $this
+ */
+ protected function _destroyWriter()
+ {
+ }
+ /**
+ * Get tarball writer
+ *
+ * @return File
+ */
+ protected function _getWriter()
+ {
+ }
+ /**
+ * Initialize tarball reader
+ *
+ * @return $this
+ */
+ protected function _initReader()
+ {
+ }
+ /**
+ * Destroy tarball reader
+ *
+ * @return $this
+ */
+ protected function _destroyReader()
+ {
+ }
+ /**
+ * Get tarball reader
+ *
+ * @return File
+ */
+ protected function _getReader()
+ {
+ }
+ /**
+ * Set option that define ability skip first catalog level.
+ *
+ * @param bool $skipRoot
+ * @return $this
+ */
+ protected function _setSkipRoot($skipRoot)
+ {
+ }
+ /**
+ * Set file which is packing.
+ *
+ * @param string $file
+ * @return $this
+ */
+ protected function _setCurrentFile($file)
+ {
+ }
+ /**
+ * Set path to file where tarball should be placed
+ *
+ * @param string $destinationFilePath
+ * @return $this
+ */
+ protected function _setDestinationFilePath($destinationFilePath)
+ {
+ }
+ /**
+ * Retrieve file which is packing.
+ *
+ * @return string
+ */
+ protected function _getCurrentFile()
+ {
+ }
+ /**
+ * Set path to file which is packing.
+ *
+ * @param string $path
+ * @return $this
+ */
+ protected function _setCurrentPath($path)
+ {
+ }
+ /**
+ * Retrieve path to file which is packing.
+ *
+ * @return string
+ */
+ protected function _getCurrentPath()
+ {
+ }
+ /**
+ * Recursively walk through file tree and create tarball
+ *
+ * @param bool $skipRoot
+ * @param bool $finalize
+ * @return void
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ protected function _createTar($skipRoot = false, $finalize = false)
+ {
+ }
+ /**
+ * Write current file to tarball
+ *
+ * @return void
+ */
+ protected function _packAndWriteCurrentFile()
+ {
+ }
+ /**
+ * Compose header for current file in TAR format.
+ *
+ * If length of file's name greater 100 characters,
+ * method breaks header into two pieces. First contains
+ * header and data with long name. Second contain only header.
+ *
+ * @param bool $long
+ * @return string
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ protected function _composeHeader($long = false)
+ {
+ }
+ /**
+ * Read TAR string from file, and unpacked it.
+ *
+ * Create files and directories information about described
+ * in the string.
+ *
+ * @param string $destination path to file is unpacked
+ * @return string[] list of files
+ * @throws \Magento\Framework\Exception\LocalizedException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function _unpackCurrentTar($destination)
+ {
+ }
+ /**
+ * Read and decode file header information from tarball
+ *
+ * @return array|bool
+ */
+ protected function _extractFileHeader()
+ {
+ }
+ /**
+ * Extract next file from tarball by its $header information and save it to $destination
+ *
+ * @param array $fileHeader
+ * @param string $destination
+ * @return void
+ */
+ protected function _extractAndWriteFile($fileHeader, $destination)
+ {
+ }
+ /**
+ * Pack file to TAR (Tape Archiver).
+ *
+ * @param string $source
+ * @param string $destination
+ * @param bool $skipRoot
+ * @return string
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ public function pack($source, $destination, $skipRoot = false)
+ {
+ }
+ /**
+ * Unpack file from TAR (Tape Archiver).
+ *
+ * @param string $source
+ * @param string $destination
+ * @return string
+ */
+ public function unpack($source, $destination)
+ {
+ }
+ /**
+ * Extract one file from TAR (Tape Archiver).
+ *
+ * @param string $file
+ * @param string $source
+ * @param string $destination
+ * @return string
+ */
+ public function extract($file, $source, $destination)
+ {
+ }
+ }
+ class Gz extends \Magento\Framework\Archive\AbstractArchive implements \Magento\Framework\Archive\ArchiveInterface
+ {
+ /**
+ * Pack file by GZ compressor.
+ *
+ * @param string $source
+ * @param string $destination
+ * @return string
+ */
+ public function pack($source, $destination)
+ {
+ }
+ /**
+ * Unpack file by GZ compressor.
+ *
+ * @param string $source
+ * @param string $destination
+ * @return string
+ */
+ public function unpack($source, $destination)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Archive\Test\Unit {
+ class ZipTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Zip|MockObject
+ */
+ protected $zip;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Check constructor if no exceptions is thrown.
+ */
+ public function testConstructorNoExceptions()
+ {
+ }
+ /**
+ * @depends testConstructorNoExceptions
+ */
+ public function testPack()
+ {
+ }
+ /**
+ * @depends testConstructorNoExceptions
+ */
+ public function testUnpack()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Archive\Helper {
+ class File
+ {
+ /**
+ * Full path to directory where file located
+ *
+ * @var string
+ */
+ protected $_fileLocation;
+ /**
+ * File name
+ *
+ * @var string
+ */
+ protected $_fileName;
+ /**
+ * Full path (directory + filename) to file
+ *
+ * @var string
+ */
+ protected $_filePath;
+ /**
+ * File permissions that will be set if file opened in write mode
+ *
+ * @var int
+ */
+ protected $_chmod;
+ /**
+ * File handler
+ *
+ * @var resource
+ */
+ protected $_fileHandler;
+ /**
+ * Whether file has been opened in write mode
+ *
+ * @var bool
+ */
+ protected $_isInWriteMode;
+ /**
+ * Set file path via constructor
+ *
+ * @param string $filePath
+ */
+ public function __construct($filePath)
+ {
+ }
+ /**
+ * Close file if it's not closed before object destruction
+ */
+ public function __destruct()
+ {
+ }
+ /**
+ * Open file
+ *
+ * @param string $mode
+ * @param int $chmod
+ * @return void
+ * @throws LocalizedException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function open($mode = 'w+', $chmod = null)
+ {
+ }
+ /**
+ * Write data to file
+ *
+ * @param string $data
+ * @return void
+ */
+ public function write($data)
+ {
+ }
+ /**
+ * Read data from file
+ *
+ * @param int $length
+ * @return string|boolean
+ */
+ public function read($length = 4096)
+ {
+ }
+ /**
+ * Check whether end of file reached
+ *
+ * @return boolean
+ */
+ public function eof()
+ {
+ }
+ /**
+ * Close file
+ *
+ * @return void
+ */
+ public function close()
+ {
+ }
+ /**
+ * Implementation of file opening
+ *
+ * @param string $mode
+ * @return void
+ * @throws LocalizedException
+ */
+ protected function _open($mode)
+ {
+ }
+ /**
+ * Implementation of writing data to file
+ *
+ * @param string $data
+ * @return void
+ * @throws LocalizedException
+ */
+ protected function _write($data)
+ {
+ }
+ /**
+ * Implementation of file reading
+ *
+ * @param int $length
+ * @return string
+ * @throws LocalizedException
+ */
+ protected function _read($length)
+ {
+ }
+ /**
+ * Implementation of EOF indicator
+ *
+ * @return boolean
+ */
+ protected function _eof()
+ {
+ }
+ /**
+ * Implementation of file closing
+ *
+ * @return void
+ */
+ protected function _close()
+ {
+ }
+ /**
+ * Check whether requested mode is writable mode
+ *
+ * @param string $mode
+ * @return int
+ */
+ protected function _isWritableMode($mode)
+ {
+ }
+ /**
+ * Check whether requested mode is readable mode
+ *
+ * @param string $mode
+ * @return bool
+ */
+ protected function _isReadableMode($mode)
+ {
+ }
+ /**
+ * Check whether file is opened
+ *
+ * @return void
+ * @throws LocalizedException
+ */
+ protected function _checkFileOpened()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Archive\Helper\File {
+ class Gz extends \Magento\Framework\Archive\Helper\File
+ {
+ /**
+ * {@inheritdoc}
+ * @throws \RuntimeException
+ */
+ protected function _open($mode)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ protected function _write($data)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ protected function _read($length)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ protected function _eof()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ protected function _close()
+ {
+ }
+ }
+ class Bz extends \Magento\Framework\Archive\Helper\File
+ {
+ /**
+ * {@inheritdoc}
+ * @throws \RuntimeException
+ */
+ protected function _open($mode)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ protected function _write($data)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ protected function _read($length)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ protected function _close()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Archive {
+ class Bz extends \Magento\Framework\Archive\AbstractArchive implements \Magento\Framework\Archive\ArchiveInterface
+ {
+ /**
+ * Pack file by BZIP2 compressor.
+ *
+ * @param string $source
+ * @param string $destination
+ * @return string
+ */
+ public function pack($source, $destination)
+ {
+ }
+ /**
+ * Unpack file by BZIP2 compressor.
+ *
+ * @param string $source
+ * @param string $destination
+ * @return string
+ */
+ public function unpack($source, $destination)
+ {
+ }
+ }
+}
+namespace Magento\Framework\ObjectManager {
+ /**
+ * This interface is used to reset service's mutable state, and similar problems, after request has been sent in
+ * Stateful application server and can be used in other long running processes where mutable state in services can
+ * cause issues.
+ */
+ interface ResetAfterRequestInterface
+ {
+ /**
+ * Resets mutable state and/or resources in objects that need to be cleaned after a response has been sent.
+ *
+ * @return void
+ */
+ public function _resetState() : void;
+ }
+}
+namespace Magento\Framework\Validator {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ interface ValidatorInterface extends \Laminas\Validator\ValidatorInterface
+ {
+ /**
+ * Set translator instance.
+ *
+ * @param TranslatorInterface|null $translator
+ * @return ValidatorInterface
+ */
+ public function setTranslator(?\Laminas\Validator\Translator\TranslatorInterface $translator = null);
+ /**
+ * Get translator.
+ *
+ * @return TranslatorInterface|null
+ */
+ public function getTranslator();
+ /**
+ * Check that translator is set.
+ *
+ * @return boolean
+ */
+ public function hasTranslator();
+ }
+ /**
+ * Abstract validator class.
+ *
+ * phpcs:disable Magento2.Classes.AbstractApi
+ * @api
+ * @since 100.0.2
+ */
+ abstract class AbstractValidator implements \Magento\Framework\Validator\ValidatorInterface, \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * @var TranslatorInterface|null
+ */
+ protected static $_defaultTranslator = null;
+ /**
+ * @var TranslatorInterface|null
+ */
+ protected $_translator = null;
+ /**
+ * @var array
+ */
+ protected $_messages = [];
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ /**
+ * Set default translator instance
+ *
+ * @param TranslatorInterface|null $translator
+ * @return void
+ */
+ public static function setDefaultTranslator(\Laminas\Validator\Translator\TranslatorInterface $translator = null)
+ {
+ }
+ /**
+ * Get default translator
+ *
+ * @return TranslatorInterface|null
+ */
+ public static function getDefaultTranslator()
+ {
+ }
+ /**
+ * Set translator instance
+ *
+ * @param TranslatorInterface|null $translator
+ * @return AbstractValidator
+ */
+ public function setTranslator(?\Laminas\Validator\Translator\TranslatorInterface $translator = null)
+ {
+ }
+ /**
+ * Get translator
+ *
+ * @return TranslatorInterface|null
+ */
+ public function getTranslator()
+ {
+ }
+ /**
+ * Check that translator is set.
+ *
+ * @return boolean
+ */
+ public function hasTranslator()
+ {
+ }
+ /**
+ * Get validation failure messages
+ *
+ * @return string[]
+ */
+ public function getMessages()
+ {
+ }
+ /**
+ * Whether it has failure messages
+ *
+ * @return bool
+ */
+ public function hasMessages()
+ {
+ }
+ /**
+ * Clear messages
+ *
+ * @return void
+ */
+ protected function _clearMessages()
+ {
+ }
+ /**
+ * Add messages
+ *
+ * @param array $messages
+ * @return void
+ */
+ protected function _addMessages(array $messages)
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * Validator class that represents chain of validators.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Validator extends \Magento\Framework\Validator\AbstractValidator implements \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * Validator chain
+ *
+ * @var array
+ */
+ protected $_validators = [];
+ /**
+ * Adds a validator to the end of the chain
+ *
+ * @param \Magento\Framework\Validator\ValidatorInterface $validator
+ * @param boolean $breakChainOnFailure
+ * @return \Magento\Framework\Validator
+ */
+ public function addValidator(\Magento\Framework\Validator\ValidatorInterface $validator, $breakChainOnFailure = false)
+ {
+ }
+ /**
+ * Returns true if and only if $value passes all validations in the chain
+ *
+ * @param mixed $value
+ * @return boolean
+ */
+ public function isValid($value)
+ {
+ }
+ /**
+ * Set translator to chain.
+ *
+ * @param TranslatorInterface|null $translator
+ * @return AbstractValidator
+ */
+ public function setTranslator(?\Laminas\Validator\Translator\TranslatorInterface $translator = null)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Currency\Data {
+ /**
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ */
+ class Currency
+ {
+ public const NO_SYMBOL = 1;
+ public const USE_SYMBOL = 2;
+ public const USE_SHORTNAME = 3;
+ public const USE_NAME = 4;
+ public const STANDARD = 8;
+ public const RIGHT = 16;
+ public const LEFT = 32;
+ /**
+ * @var array
+ */
+ protected $options = ['position' => self::STANDARD, 'display' => self::NO_SYMBOL, 'precision' => 2, 'name' => null, 'currency' => null, 'symbol' => null, 'locale' => null, 'value' => 0];
+ /**
+ * @param array|string|null $options
+ * @param string|null $locale
+ * @throws CurrencyException
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function __construct($options = null, $locale = null)
+ {
+ }
+ /**
+ * Returns a localized currency string.
+ *
+ * @param float|int|null $value
+ * @param array $options
+ * @return string
+ * @throws CurrencyException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function toCurrency($value = null, array $options = []) : string
+ {
+ }
+ /**
+ * Sets the formatting options of the localized currency string.
+ *
+ * @param array $options
+ * @return Currency
+ * @throws CurrencyException
+ */
+ public function setFormat(array $options = []) : \Magento\Framework\Currency\Data\Currency
+ {
+ }
+ /**
+ * Returns the actual or details of other currency symbols.
+ *
+ * @param string|null $currency
+ * @param string|null $locale
+ * @return string|null
+ * @throws CurrencyException
+ */
+ public function getSymbol($currency = null, $locale = null) : ?string
+ {
+ }
+ /**
+ * Returns the actual or details of other currency shortnames.
+ *
+ * @param string|null $currency
+ * @param string|null $locale
+ * @return string|null
+ * @throws CurrencyException
+ */
+ public function getShortName($currency = null, $locale = null) : ?string
+ {
+ }
+ /**
+ * Returns the actual or details of other currency names.
+ *
+ * @param string|null $currency
+ * @param string|null $locale
+ * @return string|null
+ * @throws CurrencyException
+ */
+ public function getName($currency = null, $locale = null) : ?string
+ {
+ }
+ /**
+ * Returns a list of regions where this currency is or was known.
+ *
+ * @param string|null $currency
+ * @return array
+ * @throws CurrencyException
+ */
+ public function getRegionList($currency = null) : array
+ {
+ }
+ /**
+ * Returns a list of currencies which are used in this region.
+ *
+ * @param string|null $region
+ * @return array
+ */
+ public function getCurrencyList($region = null) : array
+ {
+ }
+ /**
+ * Returns the actual currency name.
+ *
+ * @return string
+ * @throws CurrencyException
+ */
+ public function toString() : string
+ {
+ }
+ /**
+ * Returns the currency name.
+ *
+ * @return string
+ * @throws CurrencyException
+ */
+ public function __toString()
+ {
+ }
+ /**
+ * Returns the set cache.
+ *
+ * @return Zend_Cache_Core
+ */
+ public static function getCache()
+ {
+ }
+ /**
+ * Sets a cache for Currency
+ *
+ * @param Zend_Cache_Core $cache
+ * @return void
+ */
+ public static function setCache(\Zend_Cache_Core $cache)
+ {
+ }
+ /**
+ * Returns true when a cache is set.
+ *
+ * @return bool
+ */
+ public static function hasCache()
+ {
+ }
+ /**
+ * Removes any set cache.
+ *
+ * @return void
+ */
+ public static function removeCache()
+ {
+ }
+ /**
+ * Clears all set cache data.
+ *
+ * @param string|null $tag
+ * @return void
+ * @throws \Zend_Cache_Exception
+ */
+ public static function clearCache($tag = null) : void
+ {
+ }
+ /**
+ * Sets a new locale for data retirement.
+ *
+ * @param string|null $locale
+ * @return Currency
+ * @throws CurrencyException
+ */
+ public function setLocale($locale = null) : \Magento\Framework\Currency\Data\Currency
+ {
+ }
+ /**
+ * Returns the actual set locale.
+ *
+ * @return string
+ */
+ public function getLocale() : string
+ {
+ }
+ /**
+ * Returns the value.
+ *
+ * @return float
+ */
+ public function getValue() : float
+ {
+ }
+ /**
+ * Adds a currency.
+ *
+ * @param float|int|Currency $value
+ * @param string|Currency $currency
+ * @return Currency
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function setValue($value, $currency = null) : \Magento\Framework\Currency\Data\Currency
+ {
+ }
+ /**
+ * Adds a currency.
+ *
+ * @param float|int|Currency $value
+ * @param string|Currency $currency
+ * @return Currency
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function add($value, $currency = null) : \Magento\Framework\Currency\Data\Currency
+ {
+ }
+ /**
+ * Sub a currency.
+ *
+ * @param float|int|Currency $value
+ * @param string|Currency $currency
+ * @return Currency
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function sub($value, $currency = null) : \Magento\Framework\Currency\Data\Currency
+ {
+ }
+ /**
+ * Divides a currency.
+ *
+ * @param float|int|Currency $value
+ * @param string|Currency $currency
+ * @return Currency
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function div($value, $currency = null) : \Magento\Framework\Currency\Data\Currency
+ {
+ }
+ /**
+ * Multiplies a currency.
+ *
+ * @param float|int|Currency $value
+ * @param string|Currency $currency
+ * @return Currency
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function mul($value, $currency = null) : \Magento\Framework\Currency\Data\Currency
+ {
+ }
+ /**
+ * Calculates the modulo from a currency.
+ *
+ * @param float|int|Currency $value
+ * @param string|Currency $currency
+ * @return Currency
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function mod($value, $currency = null) : \Magento\Framework\Currency\Data\Currency
+ {
+ }
+ /**
+ * Compares two currencies.
+ *
+ * @param float|int|Currency $value
+ * @param string|Currency $currency
+ * @return int
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function compare($value, $currency = null) : int
+ {
+ }
+ /**
+ * Returns true when the two currencies are equal.
+ *
+ * @param float|int|Currency $value
+ * @param string|Currency $currency
+ * @return bool
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function equals($value, $currency = null) : bool
+ {
+ }
+ /**
+ * Returns true when the currency is more than the given value.
+ *
+ * @param float|int|Currency $value
+ * @param string|Currency $currency
+ * @return bool
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function isMore($value, $currency = null) : bool
+ {
+ }
+ /**
+ * Returns true when the currency is less than the given value.
+ *
+ * @param float|int|CurrencyInterface $value
+ * @param string|CurrencyInterface $currency
+ * @return bool
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function isLess($value, $currency = null) : bool
+ {
+ }
+ /**
+ * Internal method which calculates the exchange currency.
+ *
+ * @param float|int|CurrencyInterface $value
+ * @param string|CurrencyInterface $currency
+ * @return int
+ * @throws CurrencyException
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ protected function exchangeCurrency($value, $currency)
+ {
+ }
+ /**
+ * Internal method for checking the options array.
+ *
+ * @param array $options Options to check
+ * @return array
+ * @throws CurrencyException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function checkOptions($options = []) : array
+ {
+ }
+ }
+}
+namespace Magento\Framework\Exception {
+ /**
+ * Localized exception
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class LocalizedException extends \Exception
+ {
+ /**
+ * @var \Magento\Framework\Phrase
+ */
+ protected $phrase;
+ /**
+ * @var string
+ */
+ protected $logMessage;
+ /**
+ * @param \Magento\Framework\Phrase $phrase
+ * @param \Exception $cause
+ * @param int $code
+ */
+ public function __construct(\Magento\Framework\Phrase $phrase, \Exception $cause = null, $code = 0)
+ {
+ }
+ /**
+ * Get the un-processed message, without the parameters filled in
+ *
+ * @return string
+ */
+ public function getRawMessage()
+ {
+ }
+ /**
+ * Get parameters, corresponding to placeholders in raw exception message
+ *
+ * @return array
+ */
+ public function getParameters()
+ {
+ }
+ /**
+ * Get the un-localized message, but with the parameters filled in
+ *
+ * @return string
+ */
+ public function getLogMessage()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Currency\Exception {
+ class CurrencyException extends \Magento\Framework\Exception\LocalizedException
+ {
+ }
+}
+namespace Magento\Framework\Measure {
+ /**
+ * Base for Measure
+ */
+ abstract class AbstractMeasure
+ {
+ /**
+ * @var string
+ */
+ protected $value;
+ /**
+ * @var string
+ */
+ protected string $type;
+ /**
+ * @var string|null
+ */
+ protected ?string $locale = null;
+ /**
+ * @var array
+ */
+ protected array $units = [];
+ /**
+ * @param float|int $value
+ * @param string|null $type
+ * @param string|null $locale
+ * @throws MeasureException
+ */
+ public function __construct($value, $type = null, $locale = null)
+ {
+ }
+ /**
+ * Returns the conversion list.
+ *
+ * @return array
+ */
+ public function getConversionList() : array
+ {
+ }
+ /**
+ * Sets a new locale for the value representation.
+ *
+ * @param string|null $locale
+ * @return AbstractMeasure
+ */
+ public function setLocale(string $locale = null) : \Magento\Framework\Measure\AbstractMeasure
+ {
+ }
+ /**
+ * Sets a new locale for the value representation.
+ *
+ * @param int|string $value
+ * @param string $type
+ * @param string $locale
+ * @return AbstractMeasure
+ * @throws MeasureException
+ */
+ public function setValue($value, string $type, string $locale) : \Magento\Framework\Measure\AbstractMeasure
+ {
+ }
+ /**
+ * Returns the internal value.
+ *
+ * @param int $round
+ * @param string|null $locale
+ * @return float|string
+ */
+ public function getValue(int $round = -1, string $locale = null)
+ {
+ }
+ /**
+ * Set a new type, and convert the value.
+ *
+ * @param string $type
+ * @return AbstractMeasure
+ * @throws MeasureException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * phpcs:disable Generic.Metrics.NestingLevel
+ */
+ public function setType(string $type) : \Magento\Framework\Measure\AbstractMeasure
+ {
+ }
+ /**
+ * Returns the original type.
+ *
+ * @return string
+ */
+ public function getType() : string
+ {
+ }
+ /**
+ * Returns a string representation.
+ *
+ * @param int $round
+ * @param string|null $locale
+ * @return string
+ */
+ public function toString(int $round = -1, ?string $locale = null) : string
+ {
+ }
+ /**
+ * Returns a string representation.
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ }
+ }
+ class Weight extends \Magento\Framework\Measure\AbstractMeasure
+ {
+ public const STANDARD = 'KILOGRAM';
+ public const ARRATEL = 'ARRATEL';
+ public const ARTEL = 'ARTEL';
+ public const ARROBA_PORTUGUESE = 'ARROBA_PORTUGUESE';
+ public const ARROBA = 'ARROBA';
+ public const AS_ = 'AS_';
+ public const ASS = 'ASS';
+ public const ATOMIC_MASS_UNIT_1960 = 'ATOMIC_MASS_UNIT_1960';
+ public const ATOMIC_MASS_UNIT_1973 = 'ATOMIC_MASS_UNIT_1973';
+ public const ATOMIC_MASS_UNIT_1986 = 'ATOMIC_MASS_UNIT_1986';
+ public const ATOMIC_MASS_UNIT = 'ATOMIC_MASS_UNIT';
+ public const AVOGRAM = 'AVOGRAM';
+ public const BAG = 'BAG';
+ public const BAHT = 'BAHT';
+ public const BALE = 'BALE';
+ public const BALE_US = 'BALE_US';
+ public const BISMAR_POUND = 'BISMAR_POUND';
+ public const CANDY = 'CANDY';
+ public const CARAT_INTERNATIONAL = 'CARAT_INTERNATIONAL';
+ public const CARAT = 'CARAT';
+ public const CARAT_UK = 'CARAT_UK';
+ public const CARAT_US_1913 = 'CARAT_US_1913';
+ public const CARGA = 'CARGA';
+ public const CATTI = 'CATTI';
+ public const CATTI_JAPANESE = 'CATTI_JAPANESE';
+ public const CATTY = 'CATTY';
+ public const CATTY_JAPANESE = 'CATTY_JAPANESE';
+ public const CATTY_THAI = 'CATTY_THAI';
+ public const CENTAL = 'CENTAL';
+ public const CENTIGRAM = 'CENTIGRAM';
+ public const CENTNER = 'CENTNER';
+ public const CENTNER_RUSSIAN = 'CENTNER_RUSSIAN';
+ public const CHALDER = 'CHALDER';
+ public const CHALDRON = 'CHALDRON';
+ public const CHIN = 'CHIN';
+ public const CHIN_JAPANESE = 'CHIN_JAPANESE';
+ public const CLOVE = 'CLOVE';
+ public const CRITH = 'CRITH';
+ public const DALTON = 'DALTON';
+ public const DAN = 'DAN';
+ public const DAN_JAPANESE = 'DAN_JAPANESE';
+ public const DECIGRAM = 'DECIGRAM';
+ public const DECITONNE = 'DECITONNE';
+ public const DEKAGRAM = 'DEKAGRAM';
+ public const DEKATONNE = 'DEKATONNE';
+ public const DENARO = 'DENARO';
+ public const DENIER = 'DENIER';
+ public const DRACHME = 'DRACHME';
+ public const DRAM = 'DRAM';
+ public const DRAM_APOTHECARIES = 'DRAM_APOTHECARIES';
+ public const DYNE = 'DYNE';
+ public const ELECTRON = 'ELECTRON';
+ public const ELECTRONVOLT = 'ELECTRONVOLT';
+ public const ETTO = 'ETTO';
+ public const EXAGRAM = 'EXAGRAM';
+ public const FEMTOGRAM = 'FEMTOGRAM';
+ public const FIRKIN = 'FIRKIN';
+ public const FLASK = 'FLASK';
+ public const FOTHER = 'FOTHER';
+ public const FOTMAL = 'FOTMAL';
+ public const FUNT = 'FUNT';
+ public const FUNTE = 'FUNTE';
+ public const GAMMA = 'GAMMA';
+ public const GIGAELECTRONVOLT = 'GIGAELECTRONVOLT';
+ public const GIGAGRAM = 'GIGAGRAM';
+ public const GIGATONNE = 'GIGATONNE';
+ public const GIN = 'GIN';
+ public const GIN_JAPANESE = 'GIN_JAPANESE';
+ public const GRAIN = 'GRAIN';
+ public const GRAM = 'GRAM';
+ public const GRAN = 'GRAN';
+ public const GRANO = 'GRANO';
+ public const GRANI = 'GRANI';
+ public const GROS = 'GROS';
+ public const HECTOGRAM = 'HECTOGRAM';
+ public const HUNDRETWEIGHT = 'HUNDRETWEIGHT';
+ public const HUNDRETWEIGHT_US = 'HUNDRETWEIGHT_US';
+ public const HYL = 'HYL';
+ public const JIN = 'JIN';
+ public const JUPITER = 'JUPITER';
+ public const KATI = 'KATI';
+ public const KATI_JAPANESE = 'KATI_JAPANESE';
+ public const KEEL = 'KEEL';
+ public const KEG = 'KEG';
+ public const KILODALTON = 'KILODALTON';
+ public const KILOGRAM = 'KILOGRAM';
+ public const KILOGRAM_FORCE = 'KILOGRAM_FORCE';
+ public const KILOTON = 'KILOTON';
+ public const KILOTON_US = 'KILOTON_US';
+ public const KILOTONNE = 'KILOTONNE';
+ public const KIN = 'KIN';
+ public const KIP = 'KIP';
+ public const KOYAN = 'KOYAN';
+ public const KWAN = 'KWAN';
+ public const LAST_GERMANY = 'LAST_GERMANY';
+ public const LAST = 'LAST';
+ public const LAST_WOOL = 'LAST_WOOL';
+ public const LB = 'LB';
+ public const LBS = 'LBS';
+ public const LIANG = 'LIANG';
+ public const LIBRA_ITALIAN = 'LIBRE_ITALIAN';
+ public const LIBRA_SPANISH = 'LIBRA_SPANISH';
+ public const LIBRA_PORTUGUESE = 'LIBRA_PORTUGUESE';
+ public const LIBRA_ANCIENT = 'LIBRA_ANCIENT';
+ public const LIBRA = 'LIBRA';
+ public const LIVRE = 'LIVRE';
+ public const LONG_TON = 'LONG_TON';
+ public const LOT = 'LOT';
+ public const MACE = 'MACE';
+ public const MAHND = 'MAHND';
+ public const MARC = 'MARC';
+ public const MARCO = 'MARCO';
+ public const MARK = 'MARK';
+ public const MARK_GERMAN = 'MARK_GERMANY';
+ public const MAUND = 'MAUND';
+ public const MAUND_PAKISTAN = 'MAUND_PAKISTAN';
+ public const MEGADALTON = 'MEGADALTON';
+ public const MEGAGRAM = 'MEGAGRAM';
+ public const MEGATONNE = 'MEGATONNE';
+ public const MERCANTILE_POUND = 'MERCANTILE_POUND';
+ public const METRIC_TON = 'METRIC_TON';
+ public const MIC = 'MIC';
+ public const MICROGRAM = 'MICROGRAM';
+ public const MILLIDALTON = 'MILLIDALTON';
+ public const MILLIER = 'MILLIER';
+ public const MILLIGRAM = 'MILLIGRAM';
+ public const MILLIMASS_UNIT = 'MILLIMASS_UNIT';
+ public const MINA = 'MINA';
+ public const MOMME = 'MOMME';
+ public const MYRIAGRAM = 'MYRIAGRAM';
+ public const NANOGRAM = 'NANOGRAM';
+ public const NEWTON = 'NEWTON';
+ public const OBOL = 'OBOL';
+ public const OBOLOS = 'OBOLOS';
+ public const OBOLUS = 'OBOLUS';
+ public const OBOLOS_ANCIENT = 'OBOLOS_ANCIENT';
+ public const OBOLUS_ANCIENT = 'OBOLUS_ANCIENT';
+ public const OKA = 'OKA';
+ public const ONCA = 'ONCA';
+ public const ONCE = 'ONCE';
+ public const ONCIA = 'ONCIA';
+ public const ONZA = 'ONZA';
+ public const ONS = 'ONS';
+ public const OUNCE = 'OUNCE';
+ public const OUNCE_FORCE = 'OUNCE_FORCE';
+ public const OUNCE_TROY = 'OUNCE_TROY';
+ public const PACKEN = 'PACKEN';
+ public const PENNYWEIGHT = 'PENNYWEIGHT';
+ public const PETAGRAM = 'PETAGRAM';
+ public const PFUND = 'PFUND';
+ public const PICOGRAM = 'PICOGRAM';
+ public const POINT = 'POINT';
+ public const POND = 'POND';
+ public const POUND = 'POUND';
+ public const POUND_FORCE = 'POUND_FORCE';
+ public const POUND_METRIC = 'POUND_METRIC';
+ public const POUND_TROY = 'POUND_TROY';
+ public const PUD = 'PUD';
+ public const POOD = 'POOD';
+ public const PUND = 'PUND';
+ public const QIAN = 'QIAN';
+ public const QINTAR = 'QINTAR';
+ public const QUARTER = 'QUARTER';
+ public const QUARTER_US = 'QUARTER_US';
+ public const QUARTER_TON = 'QUARTER_TON';
+ public const QUARTERN = 'QUARTERN';
+ public const QUARTERN_LOAF = 'QUARTERN_LOAF';
+ public const QUINTAL_FRENCH = 'QUINTAL_FRENCH';
+ public const QUINTAL = 'QUINTAL';
+ public const QUINTAL_PORTUGUESE = 'QUINTAL_PORTUGUESE';
+ public const QUINTAL_SPAIN = 'QUINTAL_SPAIN';
+ public const REBAH = 'REBAH';
+ public const ROTL = 'ROTL';
+ public const ROTEL = 'ROTEL';
+ public const ROTTLE = 'ROTTLE';
+ public const RATEL = 'RATEL';
+ public const SACK = 'SACK';
+ public const SCRUPLE = 'SCRUPLE';
+ public const SEER = 'SEER';
+ public const SEER_PAKISTAN = 'SEER_PAKISTAN';
+ public const SHEKEL = 'SHEKEL';
+ public const SHORT_TON = 'SHORT_TON';
+ public const SLINCH = 'SLINCH';
+ public const SLUG = 'SLUG';
+ public const STONE = 'STONE';
+ public const TAEL = 'TAEL';
+ public const TAHIL_JAPANESE = 'TAHIL_JAPANESE';
+ public const TAHIL = 'TAHIL';
+ public const TALENT = 'TALENT';
+ public const TAN = 'TAN';
+ public const TECHNISCHE_MASS_EINHEIT = 'TECHNISCHE_MASS_EINHEIT';
+ public const TERAGRAM = 'TERAGRAM';
+ public const TETRADRACHM = 'TETRADRACHM';
+ public const TICAL = 'TICAL';
+ public const TOD = 'TOD';
+ public const TOLA = 'TOLA';
+ public const TOLA_PAKISTAN = 'TOLA_PAKISTAN';
+ public const TON_UK = 'TON_UK';
+ public const TON = 'TON';
+ public const TON_US = 'TON_US';
+ public const TONELADA_PORTUGUESE = 'TONELADA_PORTUGUESE';
+ public const TONELADA = 'TONELADA';
+ public const TONNE = 'TONNE';
+ public const TONNEAU = 'TONNEAU';
+ public const TOVAR = 'TOVAR';
+ public const TROY_OUNCE = 'TROY_OUNCE';
+ public const TROY_POUND = 'TROY_POUND';
+ public const TRUSS = 'TRUSS';
+ public const UNCIA = 'UNCIA';
+ public const UNZE = 'UNZE';
+ public const VAGON = 'VAGON';
+ public const YOCTOGRAM = 'YOCTOGRAM';
+ public const YOTTAGRAM = 'YOTTAGRAM';
+ public const ZENTNER = 'ZENTNER';
+ public const ZEPTOGRAM = 'ZEPTOGRAM';
+ public const ZETTAGRAM = 'ZETTAGRAM';
+ /**
+ * Calculations for all weight units
+ *
+ * @var array
+ */
+ protected array $units = ['ARRATEL' => ['0.5', 'arratel'], 'ARTEL' => ['0.5', 'artel'], 'ARROBA_PORTUGUESE' => ['14.69', 'arroba'], 'ARROBA' => ['11.502', '@'], 'AS_' => ['0.000052', 'as'], 'ASS' => ['0.000052', 'ass'], 'ATOMIC_MASS_UNIT_1960' => ['1.6603145e-27', 'amu'], 'ATOMIC_MASS_UNIT_1973' => ['1.6605655e-27', 'amu'], 'ATOMIC_MASS_UNIT_1986' => ['1.6605402e-27', 'amu'], 'ATOMIC_MASS_UNIT' => ['1.66053873e-27', 'amu'], 'AVOGRAM' => ['1.6605402e-27', 'avogram'], 'BAG' => ['42.63768278', 'bag'], 'BAHT' => ['0.015', 'baht'], 'BALE' => ['326.5865064', 'bl'], 'BALE_US' => ['217.7243376', 'bl'], 'BISMAR_POUND' => ['5.993', 'bismar pound'], 'CANDY' => ['254', 'candy'], 'CARAT_INTERNATIONAL' => ['0.0002', 'ct'], 'CARAT' => ['0.0002', 'ct'], 'CARAT_UK' => ['0.00025919564', 'ct'], 'CARAT_US_1913' => ['0.0002053', 'ct'], 'CARGA' => ['140', 'carga'], 'CATTI' => ['0.604875', 'catti'], 'CATTI_JAPANESE' => ['0.594', 'catti'], 'CATTY' => ['0.5', 'catty'], 'CATTY_JAPANESE' => ['0.6', 'catty'], 'CATTY_THAI' => ['0.6', 'catty'], 'CENTAL' => ['45.359237', 'cH'], 'CENTIGRAM' => ['0.00001', 'cg'], 'CENTNER' => ['50', 'centner'], 'CENTNER_RUSSIAN' => ['100', 'centner'], 'CHALDER' => ['2692.52', 'chd'], 'CHALDRON' => ['2692.52', 'chd'], 'CHIN' => ['0.5', 'chin'], 'CHIN_JAPANESE' => ['0.6', 'chin'], 'CLOVE' => ['3.175', 'clove'], 'CRITH' => ['0.000089885', 'crith'], 'DALTON' => ['1.6605402e-27', 'D'], 'DAN' => ['50', 'dan'], 'DAN_JAPANESE' => ['60', 'dan'], 'DECIGRAM' => ['0.0001', 'dg'], 'DECITONNE' => ['100', 'dt'], 'DEKAGRAM' => ['0.01', 'dag'], 'DEKATONNE' => ['10000', 'dat'], 'DENARO' => ['0.0011', 'denaro'], 'DENIER' => ['0.001275', 'denier'], 'DRACHME' => ['0.0038', 'drachme'], 'DRAM' => [['' => '0.45359237', '/' => '256'], 'dr'], 'DRAM_APOTHECARIES' => ['0.0038879346', 'dr'], 'DYNE' => ['1.0197162e-6', 'dyn'], 'ELECTRON' => ['9.109382e-31', 'e−'], 'ELECTRONVOLT' => ['1.782662e-36', 'eV'], 'ETTO' => ['0.1', 'hg'], 'EXAGRAM' => ['1.0e+15', 'Eg'], 'FEMTOGRAM' => ['1.0e-18', 'fg'], 'FIRKIN' => ['25.40117272', 'fir'], 'FLASK' => ['34.7', 'flask'], 'FOTHER' => ['979.7595192', 'fother'], 'FOTMAL' => ['32.65865064', 'fotmal'], 'FUNT' => ['0.4095', 'funt'], 'FUNTE' => ['0.4095', 'funte'], 'GAMMA' => ['0.000000001', 'gamma'], 'GIGAELECTRONVOLT' => ['1.782662e-27', 'GeV'], 'GIGAGRAM' => ['1000000', 'Gg'], 'GIGATONNE' => ['1.0e+12', 'Gt'], 'GIN' => ['0.6', 'gin'], 'GIN_JAPANESE' => ['0.594', 'gin'], 'GRAIN' => ['0.00006479891', 'gr'], 'GRAM' => ['0.001', 'g'], 'GRAN' => ['0.00082', 'gran'], 'GRANO' => ['0.00004905', 'grano'], 'GRANI' => ['0.00004905', 'grani'], 'GROS' => ['0.003824', 'gros'], 'HECTOGRAM' => ['0.1', 'hg'], 'HUNDRETWEIGHT' => ['50.80234544', 'cwt'], 'HUNDRETWEIGHT_US' => ['45.359237', 'cwt'], 'HYL' => ['9.80665', 'hyl'], 'JIN' => ['0.5', 'jin'], 'JUPITER' => ['1.899e+27', 'jupiter'], 'KATI' => ['0.5', 'kati'], 'KATI_JAPANESE' => ['0.6', 'kati'], 'KEEL' => ['21540.19446656', 'keel'], 'KEG' => ['45.359237', 'keg'], 'KILODALTON' => ['1.6605402e-24', 'kD'], 'KILOGRAM' => ['1', 'kg'], 'KILOGRAM_FORCE' => ['1', 'kgf'], 'KILOTON' => ['1016046.9088', 'kt'], 'KILOTON_US' => ['907184.74', 'kt'], 'KILOTONNE' => ['1000000', 'kt'], 'KIN' => ['0.6', 'kin'], 'KIP' => ['453.59237', 'kip'], 'KOYAN' => ['2419', 'koyan'], 'KWAN' => ['3.75', 'kwan'], 'LAST_GERMANY' => ['2000', 'last'], 'LAST' => ['1814.36948', 'last'], 'LAST_WOOL' => ['1981.29147216', 'last'], 'LB' => ['0.45359237', 'lb'], 'LBS' => ['0.45359237', 'lbs'], 'LIANG' => ['0.05', 'liang'], 'LIBRE_ITALIAN' => ['0.339', 'lb'], 'LIBRA_SPANISH' => ['0.459', 'lb'], 'LIBRA_PORTUGUESE' => ['0.459', 'lb'], 'LIBRA_ANCIENT' => ['0.323', 'lb'], 'LIBRA' => ['1', 'lb'], 'LIVRE' => ['0.4895', 'livre'], 'LONG_TON' => ['1016.0469088', 't'], 'LOT' => ['0.015', 'lot'], 'MACE' => ['0.003778', 'mace'], 'MAHND' => ['0.9253284348', 'mahnd'], 'MARC' => ['0.24475', 'marc'], 'MARCO' => ['0.23', 'marco'], 'MARK' => ['0.2268', 'mark'], 'MARK_GERMANY' => ['0.2805', 'mark'], 'MAUND' => ['37.3242', 'maund'], 'MAUND_PAKISTAN' => ['40', 'maund'], 'MEGADALTON' => ['1.6605402e-21', 'MD'], 'MEGAGRAM' => ['1000', 'Mg'], 'MEGATONNE' => ['1.0e+9', 'Mt'], 'MERCANTILE_POUND' => ['0.46655', 'lb merc'], 'METRIC_TON' => ['1000', 't'], 'MIC' => ['1.0e-9', 'mic'], 'MICROGRAM' => ['1.0e-9', '�g'], 'MILLIDALTON' => ['1.6605402e-30', 'mD'], 'MILLIER' => ['1000', 'millier'], 'MILLIGRAM' => ['0.000001', 'mg'], 'MILLIMASS_UNIT' => ['1.6605402e-30', 'mmu'], 'MINA' => ['0.499', 'mina'], 'MOMME' => ['0.00375', 'momme'], 'MYRIAGRAM' => ['10', 'myg'], 'NANOGRAM' => ['1.0e-12', 'ng'], 'NEWTON' => ['0.101971621', 'N'], 'OBOL' => ['0.0001', 'obol'], 'OBOLOS' => ['0.0001', 'obolos'], 'OBOLUS' => ['0.0001', 'obolus'], 'OBOLOS_ANCIENT' => ['0.0005', 'obolos'], 'OBOLUS_ANCIENT' => ['0.00057', 'obolos'], 'OKA' => ['1.28', 'oka'], 'ONCA' => ['0.02869', 'onca'], 'ONCE' => ['0.03059', 'once'], 'ONCIA' => ['0.0273', 'oncia'], 'ONZA' => ['0.02869', 'onza'], 'ONS' => ['0.1', 'ons'], 'OUNCE' => [['' => '0.45359237', '/' => '16'], 'oz'], 'OUNCE_FORCE' => [['' => '0.45359237', '/' => '16'], 'ozf'], 'OUNCE_TROY' => [['' => '65.31730128', '/' => '2100'], 'oz'], 'PACKEN' => ['490.79', 'packen'], 'PENNYWEIGHT' => [['' => '65.31730128', '/' => '42000'], 'dwt'], 'PETAGRAM' => ['1.0e+12', 'Pg'], 'PFUND' => ['0.5', 'pfd'], 'PICOGRAM' => ['1.0e-15', 'pg'], 'POINT' => ['0.000002', 'pt'], 'POND' => ['0.5', 'pond'], 'POUND' => ['0.45359237', 'lb'], 'POUND_FORCE' => ['0.4535237', 'lbf'], 'POUND_METRIC' => ['0.5', 'lb'], 'POUND_TROY' => [['' => '65.31730128', '/' => '175'], 'lb'], 'PUD' => ['16.3', 'pud'], 'POOD' => ['16.3', 'pood'], 'PUND' => ['0.5', 'pund'], 'QIAN' => ['0.005', 'qian'], 'QINTAR' => ['50', 'qintar'], 'QUARTER' => ['12.70058636', 'qtr'], 'QUARTER_US' => ['11.33980925', 'qtr'], 'QUARTER_TON' => ['226.796185', 'qtr'], 'QUARTERN' => ['1.587573295', 'quartern'], 'QUARTERN_LOAF' => ['1.81436948', 'quartern-loaf'], 'QUINTAL_FRENCH' => ['48.95', 'q'], 'QUINTAL' => ['100', 'q'], 'QUINTAL_PORTUGUESE' => ['58.752', 'q'], 'QUINTAL_SPAIN' => ['45.9', 'q'], 'REBAH' => ['0.2855', 'rebah'], 'ROTL' => ['0.5', 'rotl'], 'ROTEL' => ['0.5', 'rotel'], 'ROTTLE' => ['0.5', 'rottle'], 'RATEL' => ['0.5', 'ratel'], 'SACK' => ['165.10762268', 'sack'], 'SCRUPLE' => [['' => '65.31730128', '/' => '50400'], 's'], 'SEER' => ['0.933105', 'seer'], 'SEER_PAKISTAN' => ['1', 'seer'], 'SHEKEL' => ['0.01142', 'shekel'], 'SHORT_TON' => ['907.18474', 'st'], 'SLINCH' => ['175.126908', 'slinch'], 'SLUG' => ['14.593903', 'slug'], 'STONE' => ['6.35029318', 'st'], 'TAEL' => ['0.03751', 'tael'], 'TAHIL_JAPANESE' => ['0.03751', 'tahil'], 'TAHIL' => ['0.05', 'tahil'], 'TALENT' => ['30', 'talent'], 'TAN' => ['50', 'tan'], 'TECHNISCHE_MASS_EINHEIT' => ['9.80665', 'TME'], 'TERAGRAM' => ['1.0e+9', 'Tg'], 'TETRADRACHM' => ['0.014', 'tetradrachm'], 'TICAL' => ['0.0164', 'tical'], 'TOD' => ['12.70058636', 'tod'], 'TOLA' => ['0.0116638125', 'tola'], 'TOLA_PAKISTAN' => ['0.0125', 'tola'], 'TON_UK' => ['1016.0469088', 't'], 'TON' => ['1000', 't'], 'TON_US' => ['907.18474', 't'], 'TONELADA_PORTUGUESE' => ['793.15', 'tonelada'], 'TONELADA' => ['919.9', 'tonelada'], 'TONNE' => ['1000', 't'], 'TONNEAU' => ['979', 'tonneau'], 'TOVAR' => ['128.8', 'tovar'], 'TROY_OUNCE' => [['' => '65.31730128', '/' => '2100'], 'troy oz'], 'TROY_POUND' => [['' => '65.31730128', '/' => '175'], 'troy lb'], 'TRUSS' => ['25.40117272', 'truss'], 'UNCIA' => ['0.0272875', 'uncia'], 'UNZE' => ['0.03125', 'unze'], 'VAGON' => ['10000', 'vagon'], 'YOCTOGRAM' => ['1.0e-27', 'yg'], 'YOTTAGRAM' => ['1.0e+21', 'Yg'], 'ZENTNER' => ['50', 'Ztr'], 'ZEPTOGRAM' => ['1.0e-24', 'zg'], 'ZETTAGRAM' => ['1.0e+18', 'Zg'], 'STANDARD' => 'KILOGRAM'];
+ }
+}
+namespace Magento\Framework\Measure\Test\Unit {
+ class LengthTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Test for Length initialisation.
+ */
+ public function testLengthInit()
+ {
+ }
+ /**
+ * Test for exception unknown type.
+ *
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ public function testLengthUnknownType()
+ {
+ }
+ /**
+ * Test for standard locale.
+ */
+ public function testLengthNoLocale()
+ {
+ }
+ /**
+ * Test for positive value.
+ */
+ public function testLengthValuePositive()
+ {
+ }
+ /**
+ * Test for negative value.
+ */
+ public function testLengthValueNegative()
+ {
+ }
+ /**
+ * Test for decimal value.
+ */
+ public function testLengthValueDecimal()
+ {
+ }
+ /**
+ * Test for set positive value.
+ */
+ public function testLengthSetPositive()
+ {
+ }
+ /**
+ * Test for set negative value.
+ */
+ public function testLengthSetNegative()
+ {
+ }
+ /**
+ * Test for set decimal value.
+ */
+ public function testLengthSetDecimal()
+ {
+ }
+ /**
+ * Test for exception unknown locale
+ */
+ public function testMeasureSetWithNoLocale()
+ {
+ }
+ /**
+ * Test setting type.
+ */
+ public function testLengthSetType()
+ {
+ }
+ /**
+ * Test setting computed type.
+ */
+ public function testLengthSetComputedType1()
+ {
+ }
+ /**
+ * Test setting computed type.
+ */
+ public function testLengthSetComputedType2()
+ {
+ }
+ /**
+ * Test setting unknown type.
+ */
+ public function testLengthSetTypeFailed()
+ {
+ }
+ /**
+ * Test toString
+ */
+ public function testLengthToString()
+ {
+ }
+ /**
+ * Test casting of value.
+ */
+ public function testLengthCastingValue()
+ {
+ }
+ /**
+ * Test getConversionList.
+ */
+ public function testLengthConversionList()
+ {
+ }
+ }
+ class WeightTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Test for Weight initialisation.
+ */
+ public function testWeightInit()
+ {
+ }
+ /**
+ * Test for exception unknown type.
+ *
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ public function testWeightUnknownType()
+ {
+ }
+ /**
+ * Test for standard locale.
+ */
+ public function testWeightNoLocale()
+ {
+ }
+ /**
+ * Test for positive value.
+ */
+ public function testWeightValuePositive()
+ {
+ }
+ /**
+ * Test for negative value.
+ */
+ public function testWeightValueNegative()
+ {
+ }
+ /**
+ * Test for decimal value.
+ */
+ public function testWeightValueDecimal()
+ {
+ }
+ /**
+ * Test for set positive value.
+ */
+ public function testWeightSetPositive()
+ {
+ }
+ /**
+ * Test for set negative value.
+ */
+ public function testWeightSetNegative()
+ {
+ }
+ /**
+ * Test for set decimal value.
+ */
+ public function testWeightSetDecimal()
+ {
+ }
+ /**
+ * Test for exception unknown locale
+ */
+ public function testMeasureSetWithNoLocale()
+ {
+ }
+ /**
+ * Test setting type.
+ */
+ public function testWeightSetType()
+ {
+ }
+ /**
+ * Test setting computed type.
+ */
+ public function testWeightSetComputedType1()
+ {
+ }
+ /**
+ * Test setting computed type.
+ */
+ public function testWeightSetComputedType2()
+ {
+ }
+ /**
+ * Test setting unknown type.
+ */
+ public function testWeightSetTypeFailed()
+ {
+ }
+ /**
+ * Test toString
+ */
+ public function testWeightToString()
+ {
+ }
+ /**
+ * Test casting of value.
+ */
+ public function testWeightCastingValue()
+ {
+ }
+ /**
+ * Test getConversionList.
+ */
+ public function testWeightConversionList()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Measure {
+ class Length extends \Magento\Framework\Measure\AbstractMeasure
+ {
+ public const STANDARD = 'METER';
+ public const AGATE = 'AGATE';
+ public const ALEN_DANISH = 'ALEN_DANISH';
+ public const ALEN = 'ALEN';
+ public const ALEN_SWEDISH = 'ALEN_SWEDISH';
+ public const ANGSTROM = 'ANGSTROM';
+ public const ARMS = 'ARMS';
+ public const ARPENT_CANADIAN = 'ARPENT_CANADIAN';
+ public const ARPENT = 'ARPENT';
+ public const ARSHEEN = 'ARSHEEN';
+ public const ARSHIN = 'ARSHIN';
+ public const ARSHIN_IRAQ = 'ARSHIN_IRAQ';
+ public const ASTRONOMICAL_UNIT = 'ASTRONOMICAL_UNIT';
+ public const ATTOMETER = 'ATTOMETER';
+ public const BAMBOO = 'BAMBOO';
+ public const BARLEYCORN = 'BARLEYCORN';
+ public const BEE_SPACE = 'BEE_SPACE';
+ public const BICRON = 'BICRON';
+ public const BLOCK_US_EAST = 'BLOCK_US_EAST';
+ public const BLOCK_US_WEST = 'BLOCK_US_WEST';
+ public const BLOCK_US_SOUTH = 'BLOCK_US_SOUTH';
+ public const BOHR = 'BOHR';
+ public const BRACCIO = 'BRACCIO';
+ public const BRAZA_ARGENTINA = 'BRAZA_ARGENTINA';
+ public const BRAZA = 'BRAZA';
+ public const BRAZA_US = 'BRAZA_US';
+ public const BUTTON = 'BUTTON';
+ public const CABLE_US = 'CABLE_US';
+ public const CABLE_UK = 'CABLE_UK';
+ public const CALIBER = 'CALIBER';
+ public const CANA = 'CANA';
+ public const CAPE_FOOT = 'CAPE_FOOT';
+ public const CAPE_INCH = 'CAPE_INCH';
+ public const CAPE_ROOD = 'CAPE_ROOD';
+ public const CENTIMETER = 'CENTIMETER';
+ public const CHAIN = 'CHAIN';
+ public const CHAIN_ENGINEER = 'CHAIN_ENGINEER';
+ public const CHINESE_FOOT = 'CHINESE_FOOT';
+ public const CHINESE_INCH = 'CHINESE_INCH';
+ public const CHINESE_MILE = 'CHINESE_MILE';
+ public const CHINESE_YARD = 'CHINESE_YARD';
+ public const CITY_BLOCK_US_EAST = 'CITY_BLOCK_US_EAST';
+ public const CITY_BLOCK_US_WEST = 'CITY_BLOCK_US_WEST';
+ public const CITY_BLOCK_US_SOUTH = 'CITY_BLOCK_US_SOUTH';
+ public const CLICK = 'CLICK';
+ public const CUADRA = 'CUADRA';
+ public const CUADRA_ARGENTINA = 'CUADRA_ARGENTINA';
+ public const CUBIT_EGYPT = 'Length:CUBIT_EGYPT';
+ public const CUBIT_ROYAL = 'CUBIT_ROYAL';
+ public const CUBIT_UK = 'CUBIT_UK';
+ public const CUBIT = 'CUBIT';
+ public const CUERDA = 'CUERDA';
+ public const DECIMETER = 'DECIMETER';
+ public const DEKAMETER = 'DEKAMETER';
+ public const DIDOT_POINT = 'DIDOT_POINT';
+ public const DIGIT = 'DIGIT';
+ public const DIRAA = 'DIRAA';
+ public const DONG = 'DONG';
+ public const DOUZIEME_WATCH = 'DOUZIEME_WATCH';
+ public const DOUZIEME = 'DOUZIEME';
+ public const DRA_IRAQ = 'DRA_IRAQ';
+ public const DRA = 'DRA';
+ public const EL = 'EL';
+ public const ELL = 'ELL';
+ public const ELL_SCOTTISH = 'ELL_SCOTTISH';
+ public const ELLE = 'ELLE';
+ public const ELLE_VIENNA = 'ELLE_VIENNA';
+ public const EM = 'EM';
+ public const ESTADIO_PORTUGAL = 'ESTADIO_PORTUGAL';
+ public const ESTADIO = 'ESTADIO';
+ public const EXAMETER = 'EXAMETER';
+ public const FADEN_AUSTRIA = 'FADEN_AUSTRIA';
+ public const FADEN = 'FADEN';
+ public const FALL = 'FALL';
+ public const FALL_SCOTTISH = 'FALL_SCOTTISH';
+ public const FATHOM = 'FATHOM';
+ public const FATHOM_ANCIENT = 'FATHOM_ANCIENT';
+ public const FAUST = 'FAUST';
+ public const FEET_OLD_CANADIAN = 'FEET_OLD_CANADIAN';
+ public const FEET_EGYPT = 'FEET_EGYPT';
+ public const FEET_FRANCE = 'FEET_FRANCE';
+ public const FEET = 'FEET';
+ public const FEET_IRAQ = 'FEET_IRAQ';
+ public const FEET_NETHERLAND = 'FEET_NETHERLAND';
+ public const FEET_ITALIC = 'FEET_ITALIC';
+ public const FEET_SURVEY = 'FEET_SURVEY';
+ public const FEMTOMETER = 'FEMTOMETER';
+ public const FERMI = 'FERMI';
+ public const FINGER = 'FINGER';
+ public const FINGERBREADTH = 'FINGERBREADTH';
+ public const FIST = 'FIST';
+ public const FOD = 'FOD';
+ public const FOOT_EGYPT = 'FOOT_EGYPT';
+ public const FOOT_FRANCE = 'FOOT_FRANCE';
+ public const FOOT = 'FOOT';
+ public const FOOT_IRAQ = 'FOOT_IRAQ';
+ public const FOOT_NETHERLAND = 'FOOT_NETHERLAND';
+ public const FOOT_ITALIC = 'FOOT_ITALIC';
+ public const FOOT_SURVEY = 'FOOT_SURVEY';
+ public const FOOTBALL_FIELD_CANADA = 'FOOTBALL_FIELD_CANADA';
+ public const FOOTBALL_FIELD_US = 'FOOTBALL_FIELD_US';
+ public const FOOTBALL_FIELD = 'FOOTBALL_FIELD';
+ public const FURLONG = 'FURLONG';
+ public const FURLONG_SURVEY = 'FURLONG_SURVEY';
+ public const FUSS = 'FUSS';
+ public const GIGAMETER = 'GIGAMETER';
+ public const GIGAPARSEC = 'GIGAPARSEC';
+ public const GOAD = 'GOAD';
+ public const GRY = 'GRY';
+ public const HAND = 'HAND';
+ public const HAT = 'HAT';
+ public const HECTOMETER = 'HECTOMETER';
+ public const HEER = 'HEER';
+ public const HIRO = 'HIRO';
+ public const HUBBLE = 'HUBBLE';
+ public const HVAT = 'HVAT';
+ public const INCH = 'INCH';
+ public const IRON = 'IRON';
+ public const KEN = 'KEN';
+ public const KERAT = 'KERAT';
+ public const KILOFOOT = 'KILOFOOT';
+ public const KILOMETER = 'KILOMETER';
+ public const KILOPARSEC = 'KILOPARSEC';
+ public const KILOYARD = 'KILOYARD';
+ public const KIND = 'KIND';
+ public const KLAFTER = 'KLAFTER';
+ public const KLAFTER_SWISS = 'KLAFTER_SWISS';
+ public const KLICK = 'KLICK';
+ public const KYU = 'KYU';
+ public const LAP_ANCIENT = 'LAP_ANCIENT';
+ public const LAP = 'LAP';
+ public const LAP_POOL = 'LAP_POOL';
+ public const LEAGUE_ANCIENT = 'LEAGUE_ANCIENT';
+ public const LEAGUE_NAUTIC = 'LEAGUE_NAUTIC';
+ public const LEAGUE_UK_NAUTIC = 'LEAGUE_UK_NAUTIC';
+ public const LEAGUE = 'LEAGUE';
+ public const LEAGUE_US = 'LEAGUE_US';
+ public const LEAP = 'LEAP';
+ public const LEGOA = 'LEGOA';
+ public const LEGUA = 'LEGUA';
+ public const LEGUA_US = 'LEGUA_US';
+ public const LEGUA_SPAIN_OLD = 'LEGUA_SPAIN_OLD';
+ public const LEGUA_SPAIN = 'LEGUA_SPAIN';
+ public const LI_ANCIENT = 'LI_ANCIENT';
+ public const LI_IMPERIAL = 'LI_IMPERIAL';
+ public const LI = 'LI';
+ public const LIEUE = 'LIEUE';
+ public const LIEUE_METRIC = 'LIEUE_METRIC';
+ public const LIEUE_NAUTIC = 'LIEUE_NAUTIC';
+ public const LIGHT_SECOND = 'LIGHT_SECOND';
+ public const LIGHT_MINUTE = 'LIGHT_MINUTE';
+ public const LIGHT_HOUR = 'LIGHT_HOUR';
+ public const LIGHT_DAY = 'LIGHT_DAY';
+ public const LIGHT_YEAR = 'LIGHT_YEAR';
+ public const LIGNE = 'LIGNE';
+ public const LIGNE_SWISS = 'LIGNE_SWISS';
+ public const LINE = 'LINE';
+ public const LINE_SMALL = 'LINE_SMALL';
+ public const LINK = 'LINK';
+ public const LINK_ENGINEER = 'LINK_ENGINEER';
+ public const LUG = 'LUG';
+ public const LUG_GREAT = 'LUG_GREAT';
+ public const MARATHON = 'MARATHON';
+ public const MARK_TWAIN = 'MARK_TWAIN';
+ public const MEGAMETER = 'MEGAMETER';
+ public const MEGAPARSEC = 'MEGAPARSEC';
+ public const MEILE_AUSTRIAN = 'MEILE_AUSTRIAN';
+ public const MEILE = 'MEILE';
+ public const MEILE_GERMAN = 'MEILE_GERMAN';
+ public const METER = 'METER';
+ public const METRE = 'METRE';
+ public const METRIC_MILE = 'METRIC_MILE';
+ public const METRIC_MILE_US = 'METRIC_MILE_US';
+ public const MICROINCH = 'MICROINCH';
+ public const MICROMETER = 'MICROMETER';
+ public const MICROMICRON = 'MICROMICRON';
+ public const MICRON = 'MICRON';
+ public const MIGLIO = 'MIGLIO';
+ public const MIIL = 'MIIL';
+ public const MIIL_DENMARK = 'MIIL_DENMARK';
+ public const MIIL_SWEDISH = 'MIIL_SWEDISH';
+ public const MIL = 'MIL';
+ public const MIL_SWEDISH = 'MIL_SWEDISH';
+ public const MILE_UK = 'MILE_UK';
+ public const MILE_IRISH = 'MILE_IRISH';
+ public const MILE = 'MILE';
+ public const MILE_NAUTIC = 'MILE_NAUTIC';
+ public const MILE_NAUTIC_UK = 'MILE_NAUTIC_UK';
+ public const MILE_NAUTIC_US = 'MILE_NAUTIC_US';
+ public const MILE_ANCIENT = 'MILE_ANCIENT';
+ public const MILE_SCOTTISH = 'MILE_SCOTTISH';
+ public const MILE_STATUTE = 'MILE_STATUTE';
+ public const MILE_US = 'MILE_US';
+ public const MILHA = 'MILHA';
+ public const MILITARY_PACE = 'MILITARY_PACE';
+ public const MILITARY_PACE_DOUBLE = 'MILITARY_PACE_DOUBLE';
+ public const MILLA = 'MILLA';
+ public const MILLE = 'MILLE';
+ public const MILLIARE = 'MILLIARE';
+ public const MILLIMETER = 'MILLIMETER';
+ public const MILLIMICRON = 'MILLIMICRON';
+ public const MKONO = 'MKONO';
+ public const MOOT = 'MOOT';
+ public const MYRIAMETER = 'MYRIAMETER';
+ public const NAIL = 'NAIL';
+ public const NANOMETER = 'NANOMETER';
+ public const NANON = 'NANON';
+ public const PACE = 'PACE';
+ public const PACE_ROMAN = 'PACE_ROMAN';
+ public const PALM_DUTCH = 'PALM_DUTCH';
+ public const PALM_UK = 'PALM_UK';
+ public const PALM = 'PALM';
+ public const PALMO_PORTUGUESE = 'PALMO_PORTUGUESE';
+ public const PALMO = 'PALMO';
+ public const PALMO_US = 'PALMO_US';
+ public const PARASANG = 'PARASANG';
+ public const PARIS_FOOT = 'PARIS_FOOT';
+ public const PARSEC = 'PARSEC';
+ public const PE = 'PE';
+ public const PEARL = 'PEARL';
+ public const PERCH = 'PERCH';
+ public const PERCH_IRELAND = 'PERCH_IRELAND';
+ public const PERTICA = 'PERTICA';
+ public const PES = 'PES';
+ public const PETAMETER = 'PETAMETER';
+ public const PICA = 'PICA';
+ public const PICOMETER = 'PICOMETER';
+ public const PIE_ARGENTINA = 'PIE_ARGENTINA';
+ public const PIE_ITALIC = 'PIE_ITALIC';
+ public const PIE = 'PIE';
+ public const PIE_US = 'PIE_US';
+ public const PIED_DE_ROI = 'PIED_DE_ROI';
+ public const PIK = 'PIK';
+ public const PIKE = 'PIKE';
+ public const POINT_ADOBE = 'POINT_ADOBE';
+ public const POINT = 'POINT';
+ public const POINT_DIDOT = 'POINT_DIDOT';
+ public const POINT_TEX = 'POINT_TEX';
+ public const POLE = 'POLE';
+ public const POLEGADA = 'POLEGADA';
+ public const POUCE = 'POUCE';
+ public const PU = 'PU';
+ public const PULGADA = 'PULGADA';
+ public const PYGME = 'PYGME';
+ public const Q = 'Q';
+ public const QUADRANT = 'QUADRANT';
+ public const QUARTER = 'QUARTER';
+ public const QUARTER_CLOTH = 'QUARTER_CLOTH';
+ public const QUARTER_PRINT = 'QUARTER_PRINT';
+ public const RANGE = 'RANGE';
+ public const REED = 'REED';
+ public const RI = 'RI';
+ public const RIDGE = 'RIDGE';
+ public const RIVER = 'RIVER';
+ public const ROD = 'ROD';
+ public const ROD_SURVEY = 'ROD_SURVEY';
+ public const ROEDE = 'ROEDE';
+ public const ROOD = 'ROOD';
+ public const ROPE = 'ROPE';
+ public const ROYAL_FOOT = 'ROYAL_FOOT';
+ public const RUTE = 'RUTE';
+ public const SADZHEN = 'SADZHEN';
+ public const SAGENE = 'SAGENE';
+ public const SCOTS_FOOT = 'SCOTS_FOOT';
+ public const SCOTS_MILE = 'SCOTS_MILE';
+ public const SEEMEILE = 'SEEMEILE';
+ public const SHACKLE = 'SHACKLE';
+ public const SHAFTMENT = 'SHAFTMENT';
+ public const SHAFTMENT_ANCIENT = 'SHAFTMENT_ANCIENT';
+ public const SHAKU = 'SHAKU';
+ public const SIRIOMETER = 'SIRIOMETER';
+ public const SMOOT = 'SMOOT';
+ public const SPAN = 'SPAN';
+ public const SPAT = 'SPAT';
+ public const STADIUM = 'STADIUM';
+ public const STEP = 'STEP';
+ public const STICK = 'STICK';
+ public const STORY = 'STORY';
+ public const STRIDE = 'STRIDE';
+ public const STRIDE_ROMAN = 'STRIDE_ROMAN';
+ public const TENTHMETER = 'TENTHMETER';
+ public const TERAMETER = 'TERAMETER';
+ public const THOU = 'THOU';
+ public const TOISE = 'TOISE';
+ public const TOWNSHIP = 'TOWNSHIP';
+ public const TU = 'TU';
+ public const TWAIN = 'TWAIN';
+ public const TWIP = 'TWIP';
+ public const U = 'U';
+ public const VARA_CALIFORNIA = 'VARA_CALIFORNIA';
+ public const VARA_MEXICAN = 'VARA_MEXICAN';
+ public const VARA_PORTUGUESE = 'VARA_PORTUGUESE';
+ public const VARA_AMERICA = 'VARA_AMERICA';
+ public const VARA = 'VARA';
+ public const VARA_TEXAS = 'VARA_TEXAS';
+ public const VERGE = 'VERGE';
+ public const VERSHOK = 'VERSHOK';
+ public const VERST = 'VERST';
+ public const WAH = 'WAH';
+ public const WERST = 'WERST';
+ public const X_UNIT = 'X_UNIT';
+ public const YARD = 'YARD';
+ public const YOCTOMETER = 'YOCTOMETER';
+ public const YOTTAMETER = 'YOTTAMETER';
+ public const ZEPTOMETER = 'ZEPTOMETER';
+ public const ZETTAMETER = 'ZETTAMETER';
+ public const ZOLL = 'ZOLL';
+ public const ZOLL_SWISS = 'ZOLL_SWISS';
+ /**
+ * Calculations for all length units
+ *
+ * @var array
+ */
+ protected array $units = ['AGATE' => [['' => '0.0254', '/' => '72'], 'agate'], 'ALEN_DANISH' => ['0.6277', 'alen'], 'ALEN' => ['0.6', 'alen'], 'ALEN_SWEDISH' => ['0.5938', 'alen'], 'ANGSTROM' => ['1.0e-10', 'Å'], 'ARMS' => ['0.7', 'arms'], 'ARPENT_CANADIAN' => ['58.47', 'arpent'], 'ARPENT' => ['58.471308', 'arpent'], 'ARSHEEN' => ['0.7112', 'arsheen'], 'ARSHIN' => ['1.04', 'arshin'], 'ARSHIN_IRAQ' => ['74.5', 'arshin'], 'ASTRONOMICAL_UNIT' => ['149597870691', 'AU'], 'ATTOMETER' => ['1.0e-18', 'am'], 'BAMBOO' => ['3.2', 'bamboo'], 'BARLEYCORN' => ['0.0085', 'barleycorn'], 'BEE_SPACE' => ['0.0065', 'bee space'], 'BICRON' => ['1.0e-12', 'µµ'], 'BLOCK_US_EAST' => ['80.4672', 'block'], 'BLOCK_US_WEST' => ['100.584', 'block'], 'BLOCK_US_SOUTH' => ['160.9344', 'block'], 'BOHR' => ['52.918e-12', 'a₀'], 'BRACCIO' => ['0.7', 'braccio'], 'BRAZA_ARGENTINA' => ['1.733', 'braza'], 'BRAZA' => ['1.67', 'braza'], 'BRAZA_US' => ['1.693', 'braza'], 'BUTTON' => ['0.000635', 'button'], 'CABLE_US' => ['219.456', 'cable'], 'CABLE_UK' => ['185.3184', 'cable'], 'CALIBER' => ['0.0254', 'cal'], 'CANA' => ['2', 'cana'], 'CAPE_FOOT' => ['0.314858', 'cf'], 'CAPE_INCH' => [['' => '0.314858', '/' => '12'], 'ci'], 'CAPE_ROOD' => ['3.778296', 'cr'], 'CENTIMETER' => ['0.01', 'cm'], 'CHAIN' => [['' => '79200', '/' => '3937'], 'ch'], 'CHAIN_ENGINEER' => ['30.48', 'ch'], 'CHINESE_FOOT' => ['0.371475', 'ft'], 'CHINESE_INCH' => ['0.0371475', 'in'], 'CHINESE_MILE' => ['557.21', 'mi'], 'CHINESE_YARD' => ['0.89154', 'yd'], 'CITY_BLOCK_US_EAST' => ['80.4672', 'block'], 'CITY_BLOCK_US_WEST' => ['100.584', 'block'], 'CITY_BLOCK_US_SOUTH' => ['160.9344', 'block'], 'CLICK' => ['1000', 'click'], 'CUADRA' => ['84', 'cuadra'], 'CUADRA_ARGENTINA' => ['130', 'cuadra'], 'Length:CUBIT_EGYPT' => ['0.45', 'cubit'], 'CUBIT_ROYAL' => ['0.5235', 'cubit'], 'CUBIT_UK' => ['0.4572', 'cubit'], 'CUBIT' => ['0.444', 'cubit'], 'CUERDA' => ['21', 'cda'], 'DECIMETER' => ['0.1', 'dm'], 'DEKAMETER' => ['10', 'dam'], 'DIDOT_POINT' => ['0.000377', 'didot point'], 'DIGIT' => ['0.019', 'digit'], 'DIRAA' => ['0.58', ''], 'DONG' => [['' => '7', '/' => '300'], 'dong'], 'DOUZIEME_WATCH' => ['0.000188', 'douzième'], 'DOUZIEME' => ['0.00017638888889', 'douzième'], 'DRA_IRAQ' => ['0.745', 'dra'], 'DRA' => ['0.7112', 'dra'], 'EL' => ['0.69', 'el'], 'ELL' => ['1.143', 'ell'], 'ELL_SCOTTISH' => ['0.945', 'ell'], 'ELLE' => ['0.6', 'ellen'], 'ELLE_VIENNA' => ['0.7793', 'ellen'], 'EM' => ['0.0042175176', 'em'], 'ESTADIO_PORTUGAL' => ['261', 'estadio'], 'ESTADIO' => ['174', 'estadio'], 'EXAMETER' => ['1.0e+18', 'Em'], 'FADEN_AUSTRIA' => ['1.8965', 'faden'], 'FADEN' => ['1.8', 'faden'], 'FALL' => ['6.858', 'fall'], 'FALL_SCOTTISH' => ['5.67', 'fall'], 'FATHOM' => ['1.8288', 'fth'], 'FATHOM_ANCIENT' => ['1.829', 'fth'], 'FAUST' => ['0.10536', 'faust'], 'FEET_OLD_CANADIAN' => ['0.325', 'ft'], 'FEET_EGYPT' => ['0.36', 'ft'], 'FEET_FRANCE' => ['0.3248406', 'ft'], 'FEET' => ['0.3048', 'ft'], 'FEET_IRAQ' => ['0.316', 'ft'], 'FEET_NETHERLAND' => ['0.28313', 'ft'], 'FEET_ITALIC' => ['0.296', 'ft'], 'FEET_SURVEY' => [['' => '1200', '/' => '3937'], 'ft'], 'FEMTOMETER' => ['1.0e-15', 'fm'], 'FERMI' => ['1.0e-15', 'f'], 'FINGER' => ['0.1143', 'finger'], 'FINGERBREADTH' => ['0.01905', 'fingerbreadth'], 'FIST' => ['0.1', 'fist'], 'FOD' => ['0.3141', 'fod'], 'FOOT_EGYPT' => ['0.36', 'ft'], 'FOOT_FRANCE' => ['0.3248406', 'ft'], 'FOOT' => ['0.3048', 'ft'], 'FOOT_IRAQ' => ['0.316', 'ft'], 'FOOT_NETHERLAND' => ['0.28313', 'ft'], 'FOOT_ITALIC' => ['0.296', 'ft'], 'FOOT_SURVEY' => [['' => '1200', '/' => '3937'], 'ft'], 'FOOTBALL_FIELD_CANADA' => ['100.584', 'football field'], 'FOOTBALL_FIELD_US' => ['91.44', 'football field'], 'FOOTBALL_FIELD' => ['109.728', 'football field'], 'FURLONG' => ['201.168', 'fur'], 'FURLONG_SURVEY' => [['' => '792000', '/' => '3937'], 'fur'], 'FUSS' => ['0.31608', 'fuss'], 'GIGAMETER' => ['1.0e+9', 'Gm'], 'GIGAPARSEC' => ['30.85678e+24', 'Gpc'], 'GOAD' => ['1.3716', 'goad'], 'GRY' => ['0.000211667', 'gry'], 'HAND' => ['0.1016', 'hand'], 'HAT' => ['0.5', 'hat'], 'HECTOMETER' => ['100', 'hm'], 'HEER' => ['73.152', 'heer'], 'HIRO' => ['1.818', 'hiro'], 'HUBBLE' => ['9.4605e+24', 'hubble'], 'HVAT' => ['1.8965', 'hvat'], 'INCH' => ['0.0254', 'in'], 'IRON' => [['' => '0.0254', '/' => '48'], 'iron'], 'KEN' => ['1.818', 'ken'], 'KERAT' => ['0.0286', 'kerat'], 'KILOFOOT' => ['304.8', 'kft'], 'KILOMETER' => ['1000', 'km'], 'KILOPARSEC' => ['3.0856776e+19', 'kpc'], 'KILOYARD' => ['914.4', 'kyd'], 'KIND' => ['0.5', 'kind'], 'KLAFTER' => ['1.8965', 'klafter'], 'KLAFTER_SWISS' => ['1.8', 'klafter'], 'KLICK' => ['1000', 'klick'], 'KYU' => ['0.00025', 'kyu'], 'LAP_ANCIENT' => ['402.336', ''], 'LAP' => ['400', 'lap'], 'LAP_POOL' => ['100', 'lap'], 'LEAGUE_ANCIENT' => ['2275', 'league'], 'LEAGUE_NAUTIC' => ['5556', 'league'], 'LEAGUE_UK_NAUTIC' => ['5559.552', 'league'], 'LEAGUE' => ['4828', 'league'], 'LEAGUE_US' => ['4828.0417', 'league'], 'LEAP' => ['2.0574', 'leap'], 'LEGOA' => ['6174.1', 'legoa'], 'LEGUA' => ['4200', 'legua'], 'LEGUA_US' => ['4233.4', 'legua'], 'LEGUA_SPAIN_OLD' => ['4179.4', 'legua'], 'LEGUA_SPAIN' => ['6680', 'legua'], 'LI_ANCIENT' => ['500', 'li'], 'LI_IMPERIAL' => ['644.65', 'li'], 'LI' => ['500', 'li'], 'LIEUE' => ['3898', 'lieue'], 'LIEUE_METRIC' => ['4000', 'lieue'], 'LIEUE_NAUTIC' => ['5556', 'lieue'], 'LIGHT_SECOND' => ['299792458', 'light second'], 'LIGHT_MINUTE' => ['17987547480', 'light minute'], 'LIGHT_HOUR' => ['1079252848800', 'light hour'], 'LIGHT_DAY' => ['25902068371200', 'light day'], 'LIGHT_YEAR' => ['9460528404879000', 'ly'], 'LIGNE' => ['0.0021167', 'ligne'], 'LIGNE_SWISS' => ['0.002256', 'ligne'], 'LINE' => ['0.0021167', 'li'], 'LINE_SMALL' => ['0.000635', 'li'], 'LINK' => [['' => '792', '/' => '3937'], 'link'], 'LINK_ENGINEER' => ['0.3048', 'link'], 'LUG' => ['5.0292', 'lug'], 'LUG_GREAT' => ['6.4008', 'lug'], 'MARATHON' => ['42194.988', 'marathon'], 'MARK_TWAIN' => ['3.6576074', 'mark twain'], 'MEGAMETER' => ['1000000', 'Mm'], 'MEGAPARSEC' => ['3.085677e+22', 'Mpc'], 'MEILE_AUSTRIAN' => ['7586', 'meile'], 'MEILE' => ['7412.7', 'meile'], 'MEILE_GERMAN' => ['7532.5', 'meile'], 'METER' => ['1', 'm'], 'METRE' => ['1', 'm'], 'METRIC_MILE' => ['1500', 'metric mile'], 'METRIC_MILE_US' => ['1600', 'metric mile'], 'MICROINCH' => ['2.54e-08', 'µin'], 'MICROMETER' => ['0.000001', 'µm'], 'MICROMICRON' => ['1.0e-12', 'µµ'], 'MICRON' => ['0.000001', 'µm'], 'MIGLIO' => ['1488.6', 'miglio'], 'MIIL' => ['7500', 'miil'], 'MIIL_DENMARK' => ['7532.5', 'miil'], 'MIIL_SWEDISH' => ['10687', 'miil'], 'MIL' => ['0.0000254', 'mil'], 'MIL_SWEDISH' => ['10000', 'mil'], 'MILE_UK' => ['1609', 'mi'], 'MILE_IRISH' => ['2048', 'mi'], 'MILE' => ['1609.344', 'mi'], 'MILE_NAUTIC' => ['1852', 'mi'], 'MILE_NAUTIC_UK' => ['1853.184', 'mi'], 'MILE_NAUTIC_US' => ['1852', 'mi'], 'MILE_ANCIENT' => ['1520', 'mi'], 'MILE_SCOTTISH' => ['1814', 'mi'], 'MILE_STATUTE' => ['1609.344', 'mi'], 'MILE_US' => [['' => '6336000', '/' => '3937'], 'mi'], 'MILHA' => ['2087.3', 'milha'], 'MILITARY_PACE' => ['0.762', 'mil. pace'], 'MILITARY_PACE_DOUBLE' => ['0.9144', 'mil. pace'], 'MILLA' => ['1392', 'milla'], 'MILLE' => ['1949', 'mille'], 'MILLIARE' => ['0.001478', 'milliare'], 'MILLIMETER' => ['0.001', 'mm'], 'MILLIMICRON' => ['1.0e-9', 'mµ'], 'MKONO' => ['0.4572', 'mkono'], 'MOOT' => ['0.0762', 'moot'], 'MYRIAMETER' => ['10000', 'mym'], 'NAIL' => ['0.05715', 'nail'], 'NANOMETER' => ['1.0e-9', 'nm'], 'NANON' => ['1.0e-9', 'nanon'], 'PACE' => ['1.524', 'pace'], 'PACE_ROMAN' => ['1.48', 'pace'], 'PALM_DUTCH' => ['0.10', 'palm'], 'PALM_UK' => ['0.075', 'palm'], 'PALM' => ['0.2286', 'palm'], 'PALMO_PORTUGUESE' => ['0.22', 'palmo'], 'PALMO' => ['0.20', 'palmo'], 'PALMO_US' => ['0.2117', 'palmo'], 'PARASANG' => ['6000', 'parasang'], 'PARIS_FOOT' => ['0.3248406', 'paris foot'], 'PARSEC' => ['3.0856776e+16', 'pc'], 'PE' => ['0.33324', 'pé'], 'PEARL' => ['0.001757299', 'pearl'], 'PERCH' => ['5.0292', 'perch'], 'PERCH_IRELAND' => ['6.4008', 'perch'], 'PERTICA' => ['2.96', 'pertica'], 'PES' => ['0.2967', 'pes'], 'PETAMETER' => ['1.0e+15', 'Pm'], 'PICA' => ['0.0042175176', 'pi'], 'PICOMETER' => ['1.0e-12', 'pm'], 'PIE_ARGENTINA' => ['0.2889', 'pie'], 'PIE_ITALIC' => ['0.298', 'pie'], 'PIE' => ['0.2786', 'pie'], 'PIE_US' => ['0.2822', 'pie'], 'PIED_DE_ROI' => ['0.3248406', 'pied de roi'], 'PIK' => ['0.71', 'pik'], 'PIKE' => ['0.71', 'pike'], 'POINT_ADOBE' => [['' => '0.3048', '/' => '864'], 'pt'], 'POINT' => ['0.00035', 'pt'], 'POINT_DIDOT' => ['0.000377', 'pt'], 'POINT_TEX' => ['0.0003514598035', 'pt'], 'POLE' => ['5.0292', 'pole'], 'POLEGADA' => ['0.02777', 'polegada'], 'POUCE' => ['0.02707', 'pouce'], 'PU' => ['1.7907', 'pu'], 'PULGADA' => ['0.02365', 'pulgada'], 'PYGME' => ['0.346', 'pygme'], 'Q' => ['0.00025', 'q'], 'QUADRANT' => ['10001300', 'quad'], 'QUARTER' => ['402.336', 'Q'], 'QUARTER_CLOTH' => ['0.2286', 'Q'], 'QUARTER_PRINT' => ['0.00025', 'Q'], 'RANGE' => [['' => '38016000', '/' => '3937'], 'range'], 'REED' => ['2.679', 'reed'], 'RI' => ['3927', 'ri'], 'RIDGE' => ['6.1722', 'ridge'], 'RIVER' => ['2000', 'river'], 'ROD' => ['5.0292', 'rd'], 'ROD_SURVEY' => [['' => '19800', '/' => '3937'], 'rd'], 'ROEDE' => ['10', 'roede'], 'ROOD' => ['3.7783', 'rood'], 'ROPE' => ['3.7783', 'rope'], 'ROYAL_FOOT' => ['0.3248406', 'royal foot'], 'RUTE' => ['3.75', 'rute'], 'SADZHEN' => ['2.1336', 'sadzhen'], 'SAGENE' => ['2.1336', 'sagene'], 'SCOTS_FOOT' => ['0.30645', 'scots foot'], 'SCOTS_MILE' => ['1814.2', 'scots mile'], 'SEEMEILE' => ['1852', 'seemeile'], 'SHACKLE' => ['27.432', 'shackle'], 'SHAFTMENT' => ['0.15124', 'shaftment'], 'SHAFTMENT_ANCIENT' => ['0.165', 'shaftment'], 'SHAKU' => ['0.303', 'shaku'], 'SIRIOMETER' => ['1.4959787e+17', 'siriometer'], 'SMOOT' => ['1.7018', 'smoot'], 'SPAN' => ['0.2286', 'span'], 'SPAT' => ['1.0e+12', 'spat'], 'STADIUM' => ['185', 'stadium'], 'STEP' => ['0.762', 'step'], 'STICK' => ['3.048', 'stk'], 'STORY' => ['3.3', 'story'], 'STRIDE' => ['1.524', 'stride'], 'STRIDE_ROMAN' => ['1.48', 'stride'], 'TENTHMETER' => ['1.0e-10', 'tenth-meter'], 'TERAMETER' => ['1.0e+12', 'Tm'], 'THOU' => ['0.0000254', 'thou'], 'TOISE' => ['1.949', 'toise'], 'TOWNSHIP' => [['' => '38016000', '/' => '3937'], 'twp'], 'TU' => ['161130', 'tu'], 'TWAIN' => ['3.6576074', 'twain'], 'TWIP' => ['0.000017639', 'twip'], 'U' => ['0.04445', 'U'], 'VARA_CALIFORNIA' => ['0.83820168', 'vara'], 'VARA_MEXICAN' => ['0.83802', 'vara'], 'VARA_PORTUGUESE' => ['1.10', 'vara'], 'VARA_AMERICA' => ['0.864', 'vara'], 'VARA' => ['0.83587', 'vara'], 'VARA_TEXAS' => ['0.84666836', 'vara'], 'VERGE' => ['0.9144', 'verge'], 'VERSHOK' => ['0.04445', 'vershok'], 'VERST' => ['1066.8', 'verst'], 'WAH' => ['2', 'wah'], 'WERST' => ['1066.8', 'werst'], 'X_UNIT' => ['1.0020722e-13', 'Xu'], 'YARD' => ['0.9144', 'yd'], 'YOCTOMETER' => ['1.0e-24', 'ym'], 'YOTTAMETER' => ['1.0e+24', 'Ym'], 'ZEPTOMETER' => ['1.0e-21', 'zm'], 'ZETTAMETER' => ['1.0e+21', 'Zm'], 'ZOLL' => ['0.02634', 'zoll'], 'ZOLL_SWISS' => ['0.03', 'zoll'], 'STANDARD' => 'METER'];
+ }
+}
+namespace Magento\Framework\Measure\Exception {
+ /**
+ * Exception for Measure
+ */
+ class MeasureException extends \Magento\Framework\Exception\LocalizedException
+ {
+ }
+}
+namespace Magento\Framework\Locale {
+ /**
+ * Interface for classes that return array of locales.
+ *
+ * @api
+ */
+ interface OptionInterface
+ {
+ /**
+ * Get array of deployed locales.
+ *
+ * Function result has next format:
+ * ```php
+ * [
+ * 0 => [
+ * 'value' => 'de_DE'
+ * 'label' => 'German (Germany)'
+ * ],
+ * 1 => [
+ * 'value' => 'en_GB'
+ * 'label' => 'English (United Kingdom)'
+ * ],
+ * ]
+ * ```
+ *
+ * @return array
+ */
+ public function getOptionLocales();
+ /**
+ * Get array of deployed locales with translation.
+ *
+ * Function result has next format:
+ * ```php
+ * [
+ * 0 => [
+ * 'value' => 'de_DE'
+ * 'label' => 'Deutsch (Deutschland) / German (Germany)'
+ * ],
+ * 1 => [
+ * 'value' => 'en_GB'
+ * 'label' => 'English (United Kingdom) / English (United Kingdom)'
+ * ],
+ * ]
+ * ```
+ *
+ * @return array
+ */
+ public function getTranslatedOptionLocales();
+ }
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ interface ListsInterface extends \Magento\Framework\Locale\OptionInterface
+ {
+ /**
+ * Retrieve timezone option list
+ *
+ * @return array
+ */
+ public function getOptionTimezones();
+ /**
+ * Retrieve days of week option list
+ *
+ * @param bool $preserveCodes
+ * @param bool $ucFirstCode
+ *
+ * @return array
+ */
+ public function getOptionWeekdays($preserveCodes = false, $ucFirstCode = false);
+ /**
+ * Retrieve country option list
+ *
+ * @return array
+ */
+ public function getOptionCountries();
+ /**
+ * Retrieve currency option list
+ *
+ * @return array
+ */
+ public function getOptionCurrencies();
+ /**
+ * Retrieve all currency option list
+ *
+ * @return array
+ */
+ public function getOptionAllCurrencies();
+ /**
+ * Returns the localized country name
+ *
+ * @param string $value Name to get detailed information about
+ * @param string $locale Optional locale string
+ * @return string
+ */
+ public function getCountryTranslation($value, $locale = null);
+ }
+ /**
+ * Translated lists.
+ */
+ class TranslatedLists implements \Magento\Framework\Locale\ListsInterface
+ {
+ /**
+ * @var \Magento\Framework\Locale\ConfigInterface
+ */
+ protected $_config;
+ /**
+ * @var \Magento\Framework\Locale\ResolverInterface
+ */
+ protected $localeResolver;
+ /**
+ * @param \Magento\Framework\Locale\ConfigInterface $config
+ * @param \Magento\Framework\Locale\ResolverInterface $localeResolver
+ * @param string $locale
+ */
+ public function __construct(\Magento\Framework\Locale\ConfigInterface $config, \Magento\Framework\Locale\ResolverInterface $localeResolver, $locale = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getOptionLocales()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getTranslatedOptionLocales()
+ {
+ }
+ /**
+ * Get options array for locale dropdown
+ *
+ * @param bool $translatedName translation flag
+ * @return array
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function _getOptionLocales($translatedName = false)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getOptionTimezones()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getOptionWeekdays($preserveCodes = false, $ucFirstCode = false)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getOptionCountries()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getOptionCurrencies()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getOptionAllCurrencies()
+ {
+ }
+ /**
+ * Sort option array.
+ *
+ * @param array $option
+ * @return array
+ */
+ protected function _sortOptionArray($option)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getCountryTranslation($value, $locale = null)
+ {
+ }
+ }
+ /**
+ * Manages locale config information
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ResolverInterface
+ {
+ /**
+ * Return path to default locale
+ *
+ * @return string
+ */
+ public function getDefaultLocalePath();
+ /**
+ * Set default locale code
+ *
+ * @param string $locale
+ * @return self
+ */
+ public function setDefaultLocale($locale);
+ /**
+ * Retrieve default locale code
+ *
+ * @return string
+ */
+ public function getDefaultLocale();
+ /**
+ * Set locale
+ *
+ * @param string $locale
+ * @return self
+ */
+ public function setLocale($locale = null);
+ /**
+ * Retrieve locale
+ *
+ * @return string
+ */
+ public function getLocale();
+ /**
+ * Push current locale to stack and replace with locale from specified scope
+ *
+ * @param int $scopeId
+ * @return string|null
+ */
+ public function emulate($scopeId);
+ /**
+ * Get last locale, used before last emulation
+ *
+ * @return string|null
+ */
+ public function revert();
+ }
+ /**
+ * Interface for classes that fetching codes of available locales for the concrete theme.
+ *
+ * @api
+ */
+ interface AvailableLocalesInterface
+ {
+ /**
+ * Returns array of codes of deployed locales for the theme by given theme code and area.
+ *
+ * @param string $code theme code identifier
+ * @param string $area area in which theme can be applied
+ * @return array of locale codes, for example: ['en_US', 'en_GB']
+ */
+ public function getList($code, $area = \Magento\Framework\View\DesignInterface::DEFAULT_AREA);
+ }
+}
+namespace Magento\Framework\Locale\Deployed {
+ /**
+ * Returns array of deployed locale codes for the theme.
+ */
+ class Codes implements \Magento\Framework\Locale\AvailableLocalesInterface
+ {
+ /**
+ * @param FlyweightFactory $flyweightFactory factory for creating objects
+ * that implements \Magento\Framework\View\Design\ThemeInterface
+ * @param Filesystem $fileSystem works with file system
+ */
+ public function __construct(\Magento\Framework\View\Design\Theme\FlyweightFactory $flyweightFactory, \Magento\Framework\Filesystem $fileSystem)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ *
+ * If theme or file directory for theme static content does not exist then return an empty array.
+ */
+ public function getList($code, $area = \Magento\Framework\View\DesignInterface::DEFAULT_AREA)
+ {
+ }
+ }
+ /**
+ * Returns options array of locales that have deployed static content.
+ */
+ class Options implements \Magento\Framework\Locale\OptionInterface
+ {
+ /**
+ * @param ListsInterface $localeLists locales list
+ * @param State $state application state class
+ * @param AvailableLocalesInterface $availableLocales operates with available locales
+ * @param DesignInterface $design operates with magento design settings
+ * @param DeploymentConfig $deploymentConfig
+ */
+ public function __construct(\Magento\Framework\Locale\ListsInterface $localeLists, \Magento\Framework\App\State $state, \Magento\Framework\Locale\AvailableLocalesInterface $availableLocales, \Magento\Framework\View\DesignInterface $design, \Magento\Framework\App\DeploymentConfig $deploymentConfig = null)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getOptionLocales() : array
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getTranslatedOptionLocales() : array
+ {
+ }
+ }
+}
+namespace Magento\Framework\Locale {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ interface FormatInterface
+ {
+ /**
+ * Returns the first found number from a string
+ * Parsing depends on given locale (grouping and decimal)
+ *
+ * Examples for input:
+ * ' 2345.4356,1234' = 23455456.1234
+ * '+23,3452.123' = 233452.123
+ * ' 12343 ' = 12343
+ * '-9456km' = -9456
+ * '0' = 0
+ * '2 054,10' = 2054.1
+ * '2'054.52' = 2054.52
+ * '2,46 GB' = 2.46
+ *
+ * @param string|float|int $value
+ * @return float|null
+ */
+ public function getNumber($value);
+ /**
+ * Returns an array with price formatting info for js function
+ * formatCurrency in js/varien/js.js
+ *
+ * @return array
+ */
+ public function getPriceFormat();
+ }
+ /**
+ * Format numbers to a locale
+ */
+ class LocaleFormatter
+ {
+ /**
+ * @param LocalResolverInterface $localeResolver
+ */
+ public function __construct(\Magento\Framework\Locale\ResolverInterface $localeResolver)
+ {
+ }
+ /**
+ * Get locale code in JS format
+ *
+ * @return string
+ */
+ public function getLocaleJs() : string
+ {
+ }
+ /**
+ * Localize given number
+ *
+ * @param string|float|int|null $number
+ * @return false|string
+ */
+ public function formatNumber($number)
+ {
+ }
+ }
+ /**
+ * Provides access to currency config information
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface CurrencyInterface
+ {
+ /**
+ * Retrieve default currency code
+ *
+ * @return string
+ */
+ public function getDefaultCurrency();
+ /**
+ * Create Currency object for current locale
+ *
+ * @param string $currency
+ * @return \Magento\Framework\Currency
+ */
+ public function getCurrency($currency);
+ }
+}
+namespace Magento\Framework\Locale\Test\Unit\Deployed {
+ /**
+ * Test for Codes class.
+ *
+ * @see Codes
+ */
+ class CodesTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ public function testGetList()
+ {
+ }
+ }
+ /**
+ * Test for Options class.
+ *
+ * @see Options
+ */
+ class OptionsTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $mode
+ * @param int $scdOnDemand
+ * @param array $locales
+ * @return void
+ *
+ * @dataProvider getFullLocalesDataProvider
+ */
+ public function testGetOptionLocalesFull(string $mode, int $scdOnDemand, array $locales) : void
+ {
+ }
+ /**
+ * @param string $mode
+ * @param int $scdOnDemand
+ * @param array $locales
+ * @return void
+ *
+ * @dataProvider getFullLocalesDataProvider
+ */
+ public function testGetTranslatedOptionLocalesFull(string $mode, int $scdOnDemand, array $locales) : void
+ {
+ }
+ /**
+ * @param string $mode
+ * @param int $scdOnDemand
+ * @param array $locales
+ * @param array $expectedLocales
+ * @param array $deployedCodes
+ * @return void
+ *
+ * @dataProvider getLimitedLocalesDataProvider
+ */
+ public function testGetOptionLocalesLimited(string $mode, int $scdOnDemand, array $locales, array $expectedLocales, array $deployedCodes) : void
+ {
+ }
+ /**
+ * @param string $mode
+ * @param int $scdOnDemand
+ * @param array $locales
+ * @param array $expectedLocales
+ * @param array $deployedCodes
+ * @return void
+ *
+ * @dataProvider getLimitedLocalesDataProvider
+ */
+ public function testGetTranslatedOptionLocalesLimited(string $mode, int $scdOnDemand, array $locales, array $expectedLocales, array $deployedCodes) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getFullLocalesDataProvider() : array
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getLimitedLocalesDataProvider() : array
+ {
+ }
+ }
+}
+namespace Magento\Framework\Locale\Test\Unit {
+ /**
+ * Tests class for Number locale format
+ */
+ class FormatTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Format
+ */
+ protected $formatModel;
+ /**
+ * @var MockObject|ResolverInterface
+ */
+ protected $localeResolver;
+ /**
+ * @var MockObject|ScopeInterface
+ */
+ protected $scope;
+ /**
+ * @var MockObject|ScopeResolverInterface
+ */
+ protected $scopeResolver;
+ /**
+ * @var MockObject|Currency
+ */
+ protected $currency;
+ /**
+ * {@inheritDoc}
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $localeCode
+ * @param string $currencyCode
+ * @param array $expectedResult
+ * @dataProvider getPriceFormatDataProvider
+ */
+ public function testGetPriceFormat($localeCode, $currencyCode, array $expectedResult) : void
+ {
+ }
+ /**
+ *
+ * @return array
+ */
+ public function getPriceFormatDataProvider() : array
+ {
+ }
+ /**
+ *
+ * @param mixed $value
+ * @param float $expected
+ * @param string $locale
+ * @dataProvider provideNumbers
+ */
+ public function testGetNumber(string $value, float $expected, string $locale = null) : void
+ {
+ }
+ /**
+ *
+ * @return array
+ */
+ public function provideNumbers() : array
+ {
+ }
+ }
+ class ConfigTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGetAllowedLocalesNoDataArray()
+ {
+ }
+ public function testGetAllowedLocalesGivenDataArray()
+ {
+ }
+ public function testGetAllowedLocalesGivenRedundantDataArray()
+ {
+ }
+ public function testGetAllowedCurrenciesNoDataArray()
+ {
+ }
+ public function testGetAllowedCurrenciesGivenDataArray()
+ {
+ }
+ public function testGetAllowedCurrenciesGivenRedundantDataArray()
+ {
+ }
+ }
+ class CurrencyTest extends \PHPUnit\Framework\TestCase
+ {
+ public const TEST_NONCACHED_CURRENCY = 'USD';
+ public const TEST_NONCACHED_CURRENCY_LOCALE = 'en_US';
+ public const TEST_CACHED_CURRENCY = 'CAD';
+ public const TEST_CACHED_CURRENCY_LOCALE = 'en_CA';
+ public const TEST_NONEXISTENT_CURRENCY = 'QQQ';
+ public const TEST_NONEXISTENT_CURRENCY_LOCALE = 'fr_FR';
+ public const TEST_EXCEPTION_CURRENCY = 'ZZZ';
+ public const TEST_EXCEPTION_CURRENCY_LOCALE = 'es_ES';
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetDefaultCurrency() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetCurrencyNonCached() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetCurrencyCached() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetNonExistentCurrency() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testExceptionCase() : void
+ {
+ }
+ }
+ class TranslatedListsTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testGetCountryTranslation()
+ {
+ }
+ public function testGetOptionAllCurrencies()
+ {
+ }
+ public function testGetOptionCurrencies()
+ {
+ }
+ public function testGetOptionCountries()
+ {
+ }
+ public function testGetOptionsWeekdays()
+ {
+ }
+ public function testGetOptionTimezones()
+ {
+ }
+ public function testGetOptionLocales()
+ {
+ }
+ public function testGetTranslatedOptionLocales()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Locale {
+ /**
+ * Provides access to locale-related config information
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ConfigInterface
+ {
+ /**
+ * Get list pre-configured allowed locales
+ *
+ * @return string[]
+ */
+ public function getAllowedLocales();
+ /**
+ * Get list pre-configured allowed currencies
+ *
+ * @return string[]
+ */
+ public function getAllowedCurrencies();
+ }
+}
+namespace Magento\Framework\Locale\Bundle {
+ class DataBundle
+ {
+ /**
+ * @var string
+ */
+ protected $path = 'ICUDATA';
+ /**
+ * @var \ResourceBundle[][]
+ */
+ protected static $bundles = [];
+ /**
+ * Get resource bundle for the locale
+ *
+ * @param string $locale
+ * @return \ResourceBundle
+ */
+ public function get($locale)
+ {
+ }
+ /**
+ * @param string $locale
+ * @param string $path
+ * @return null|\ResourceBundle
+ */
+ protected function createResourceBundle($locale, $path)
+ {
+ }
+ /**
+ * Clean locale leaving only language and script
+ *
+ * @param string $locale
+ * @return string
+ */
+ protected function cleanLocale($locale)
+ {
+ }
+ }
+ class TimezoneBundle extends \Magento\Framework\Locale\Bundle\DataBundle
+ {
+ /**
+ * @var string
+ */
+ protected $path = 'ICUDATA-zone';
+ }
+ class RegionBundle extends \Magento\Framework\Locale\Bundle\DataBundle
+ {
+ /**
+ * @var string
+ */
+ protected $path = 'ICUDATA-region';
+ }
+ class LanguageBundle extends \Magento\Framework\Locale\Bundle\DataBundle
+ {
+ /**
+ * @var string
+ */
+ protected $path = 'ICUDATA-lang';
+ }
+ class CurrencyBundle extends \Magento\Framework\Locale\Bundle\DataBundle
+ {
+ /**
+ * @var string
+ */
+ protected $path = 'ICUDATA-curr';
+ }
+}
+namespace Magento\Framework\Locale {
+ /**
+ * Manages locale config information.
+ */
+ class Resolver implements \Magento\Framework\Locale\ResolverInterface, \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * Resolver default locale
+ */
+ public const DEFAULT_LOCALE = 'en_US';
+ /**
+ * Default locale code
+ *
+ * @var string
+ */
+ protected $defaultLocale;
+ /**
+ * @var string
+ */
+ protected $scopeType;
+ /**
+ * Locale code
+ *
+ * @var string
+ */
+ protected $locale;
+ /**
+ * @var ScopeConfigInterface
+ */
+ protected $scopeConfig;
+ /**
+ * Emulated locales stack
+ *
+ * @var array
+ */
+ protected $emulatedLocales = [];
+ /**
+ * @param ScopeConfigInterface $scopeConfig
+ * @param string $defaultLocalePath
+ * @param string $scopeType
+ * @param mixed $locale
+ * @param DeploymentConfig|null $deploymentConfig
+ */
+ public function __construct(\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, $defaultLocalePath, $scopeType, $locale = null, \Magento\Framework\App\DeploymentConfig $deploymentConfig = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDefaultLocalePath()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setDefaultLocale($locale)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDefaultLocale()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setLocale($locale = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getLocale()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function emulate($scopeId)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function revert()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ }
+ class Currency implements \Magento\Framework\Locale\CurrencyInterface
+ {
+ /**
+ * Default currency
+ */
+ const DEFAULT_CURRENCY = 'USD';
+ /**#@+
+ * Currency Options
+ */
+ const CURRENCY_OPTION_SYMBOL = 'symbol';
+ const CURRENCY_OPTION_CURRENCY = 'currency';
+ const CURRENCY_OPTION_NAME = 'name';
+ const CURRENCY_OPTION_DISPLAY = 'display';
+ /**
+ * @var array
+ */
+ protected static $_currencyCache = [];
+ /**
+ * Core event manager proxy
+ *
+ * @var \Magento\Framework\Event\ManagerInterface
+ */
+ protected $_eventManager = null;
+ /**
+ * @var \Magento\Framework\Locale\ResolverInterface
+ */
+ protected $_localeResolver;
+ /**
+ * @var \Magento\Framework\CurrencyFactory
+ */
+ protected $_currencyFactory;
+ /**
+ * @param \Magento\Framework\Event\ManagerInterface $eventManager
+ * @param ResolverInterface $localeResolver
+ * @param \Magento\Framework\CurrencyFactory $currencyFactory
+ */
+ public function __construct(\Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Framework\Locale\ResolverInterface $localeResolver, \Magento\Framework\CurrencyFactory $currencyFactory)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDefaultCurrency()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getCurrency($currency)
+ {
+ }
+ }
+ /**
+ * Price locale format.
+ */
+ class Format implements \Magento\Framework\Locale\FormatInterface
+ {
+ /**
+ * @var \Magento\Framework\App\ScopeResolverInterface
+ */
+ protected $_scopeResolver;
+ /**
+ * @var \Magento\Framework\Locale\ResolverInterface
+ */
+ protected $_localeResolver;
+ /**
+ * @var \Magento\Directory\Model\CurrencyFactory
+ */
+ protected $currencyFactory;
+ /**
+ * @param \Magento\Framework\App\ScopeResolverInterface $scopeResolver
+ * @param ResolverInterface $localeResolver
+ * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
+ */
+ public function __construct(\Magento\Framework\App\ScopeResolverInterface $scopeResolver, \Magento\Framework\Locale\ResolverInterface $localeResolver, \Magento\Directory\Model\CurrencyFactory $currencyFactory)
+ {
+ }
+ /**
+ * Returns the first found number from a string.
+ *
+ * Parsing depends on given locale (grouping and decimal)
+ *
+ * Examples for input:
+ * ' 2345.4356,1234' = 23455456.1234
+ * '+23,3452.123' = 233452.123
+ * ' 12343 ' = 12343
+ * '-9456km' = -9456
+ * '0' = 0
+ * '2 054,10' = 2054.1
+ * '2'054.52' = 2054.52
+ * '2,46 GB' = 2.46
+ *
+ * @param string|float|int $value
+ * @return float|null
+ */
+ public function getNumber($value)
+ {
+ }
+ /**
+ * Returns an array with price formatting info
+ *
+ * @param string $localeCode Locale code.
+ * @param string $currencyCode Currency code.
+ * @return array
+ */
+ public function getPriceFormat($localeCode = null, $currencyCode = null)
+ {
+ }
+ }
+ /**
+ * Allowed locale and currency configuration.
+ */
+ class Config implements \Magento\Framework\Locale\ConfigInterface
+ {
+ /**
+ * List of allowed locales
+ *
+ * @var array
+ */
+ protected $_allowedLocales = [
+ 'af_ZA',
+ /*Afrikaans (South Africa)*/
+ 'ar_DZ',
+ /*Arabic (Algeria)*/
+ 'ar_EG',
+ /*Arabic (Egypt)*/
+ 'ar_KW',
+ /*Arabic (Kuwait)*/
+ 'ar_MA',
+ /*Arabic (Morocco)*/
+ 'ar_SA',
+ /*Arabic (Saudi Arabia)*/
+ 'az_Latn_AZ',
+ /*Azerbaijani (Azerbaijan)*/
+ 'be_BY',
+ /*Belarusian (Belarus)*/
+ 'bg_BG',
+ /*Bulgarian (Bulgaria)*/
+ 'bn_BD',
+ /*Bengali (Bangladesh)*/
+ 'bs_Latn_BA',
+ /*Bosnian (Bosnia)*/
+ 'ca_ES',
+ /*Catalan (Catalonia)*/
+ 'cs_CZ',
+ /*Czech (Czech Republic)*/
+ 'cy_GB',
+ /*Welsh (United Kingdom)*/
+ 'da_DK',
+ /*Danish (Denmark)*/
+ 'de_AT',
+ /*German (Austria)*/
+ 'de_CH',
+ /*German (Switzerland)*/
+ 'de_DE',
+ /*German (Germany)*/
+ 'de_LU',
+ /*German (Luxembourg)*/
+ 'el_GR',
+ /*Greek (Greece)*/
+ 'en_AU',
+ /*English (Australian)*/
+ 'en_CA',
+ /*English (Canadian)*/
+ 'en_GB',
+ /*English (United Kingdom)*/
+ 'en_NZ',
+ /*English (New Zealand)*/
+ 'en_US',
+ /*English (United States)*/
+ 'es_AR',
+ /*Spanish (Argentina)*/
+ 'es_CO',
+ /*Spanish (Colombia)*/
+ 'es_PA',
+ /*Spanish (Panama)*/
+ 'gl_ES',
+ /*Galician (Galician)*/
+ 'es_CR',
+ /*Spanish (Costa Rica)*/
+ 'es_ES',
+ /*Spanish (Spain)*/
+ 'es_MX',
+ /*Spanish (Mexico)*/
+ 'eu_ES',
+ /*Basque (Basque)*/
+ 'es_PE',
+ /*Spanish (Peru)*/
+ 'et_EE',
+ /*Estonian (Estonia)*/
+ 'fa_IR',
+ /*Persian (Iran)*/
+ 'fi_FI',
+ /*Finnish (Finland)*/
+ 'fil_PH',
+ /*Filipino (Philippines)*/
+ 'fr_BE',
+ /*French (Belgium)*/
+ 'fr_CA',
+ /*French (Canada)*/
+ 'fr_CH',
+ /*French (Switzerland)*/
+ 'fr_FR',
+ /*French (France)*/
+ 'fr_LU',
+ /*French (Luxembourg)*/
+ 'gu_IN',
+ /*Gujarati (India)*/
+ 'he_IL',
+ /*Hebrew (Israel)*/
+ 'hi_IN',
+ /*Hindi (India)*/
+ 'hr_HR',
+ /*Croatian (Croatia)*/
+ 'hu_HU',
+ /*Hungarian (Hungary)*/
+ 'id_ID',
+ /*Indonesian (Indonesia)*/
+ 'is_IS',
+ /*Icelandic (Iceland)*/
+ 'it_CH',
+ /*Italian (Switzerland)*/
+ 'it_IT',
+ /*Italian (Italy)*/
+ 'ja_JP',
+ /*Japanese (Japan)*/
+ 'ka_GE',
+ /*Georgian (Georgia)*/
+ 'km_KH',
+ /*Khmer (Cambodia)*/
+ 'ko_KR',
+ /*Korean (South Korea)*/
+ 'lo_LA',
+ /*Lao (Laos)*/
+ 'lt_LT',
+ /*Lithuanian (Lithuania)*/
+ 'lv_LV',
+ /*Latvian (Latvia)*/
+ 'mk_MK',
+ /*Macedonian (Macedonia)*/
+ 'mn_Cyrl_MN',
+ /*Mongolian (Mongolia)*/
+ 'ms_MY',
+ /*Malaysian (Malaysia)*/
+ 'ms_Latn_MY',
+ /*Malaysian (Malaysia)*/
+ 'nl_BE',
+ /*Dutch (Belgium)*/
+ 'nl_NL',
+ /*Dutch (Netherlands)*/
+ 'nb_NO',
+ /*Norwegian Bokmål (Norway)*/
+ 'nn_NO',
+ /*Norwegian Nynorsk (Norway)*/
+ 'pl_PL',
+ /*Polish (Poland)*/
+ 'pt_BR',
+ /*Portuguese (Brazil)*/
+ 'pt_PT',
+ /*Portuguese (Portugal)*/
+ 'ro_RO',
+ /*Romanian (Romania)*/
+ 'ru_RU',
+ /*Russian (Russia)*/
+ 'sk_SK',
+ /*Slovak (Slovakia)*/
+ 'sl_SI',
+ /*Slovenian (Slovenia)*/
+ 'sq_AL',
+ /*Albanian (Albania)*/
+ 'sr_Cyrl_RS',
+ /*Serbian (Cyrillic, Serbia)*/
+ 'sr_Latn_RS',
+ /*Serbian (Latin, Serbia)*/
+ 'sv_SE',
+ /*Swedish (Sweden)*/
+ 'sv_FI',
+ /*Swedish (Finland)*/
+ 'sw_KE',
+ /*Swahili (Kenya)*/
+ 'th_TH',
+ /*Thai (Thailand)*/
+ 'tr_TR',
+ /*Turkish (Turkey)*/
+ 'uk_UA',
+ /*Ukrainian (Ukraine)*/
+ 'vi_VN',
+ /*Vietnamese (Vietnam)*/
+ 'zh_Hans_CN',
+ /*Chinese (China)*/
+ 'zh_Hant_HK',
+ /*Chinese (Hong Kong SAR)*/
+ 'zh_Hant_TW',
+ /*Chinese (Taiwan)*/
+ 'es_CL',
+ /*Spanich (Chile)*/
+ 'lo_LA',
+ /*Laotian*/
+ 'es_VE',
+ /*Spanish (Venezuela)*/
+ 'en_IE',
+ /*English (Ireland)*/
+ 'es_BO',
+ /*Spanish (Bolivia)*/
+ 'es_US',
+ ];
+ /**
+ * List of allowed currencies
+ *
+ * @var array
+ */
+ protected $_allowedCurrencies = [
+ 'AFN',
+ /*Afghani*/
+ 'ALL',
+ /*Albanian Lek*/
+ 'AZN',
+ /*Azerbaijanian Manat*/
+ 'DZD',
+ /*Algerian Dinar*/
+ 'AOA',
+ /*Angolan Kwanza*/
+ 'ARS',
+ /*Argentine Peso*/
+ 'AMD',
+ /*Armenian Dram*/
+ 'AWG',
+ /*Aruban Florin*/
+ 'AUD',
+ /*Australian Dollar*/
+ 'BSD',
+ /*Bahamian Dollar*/
+ 'BHD',
+ /*Bahraini Dinar*/
+ 'BDT',
+ /*Bangladesh Taka*/
+ 'BBD',
+ /*Barbados Dollar*/
+ 'BYN',
+ /*Belarussian Ruble*/
+ 'BZD',
+ /*Belize Dollar*/
+ 'BMD',
+ /*Bermudan Dollar*/
+ 'BTN',
+ /*Bhutan Ngultrum*/
+ 'BOB',
+ /*Boliviano*/
+ 'BAM',
+ /*Bosnia-Herzegovina Convertible Mark*/
+ 'BWP',
+ /*Botswanan Pula*/
+ 'BRL',
+ /*Brazilian Real*/
+ 'GBP',
+ /*British Pound Sterling*/
+ 'BND',
+ /*Brunei Dollar*/
+ 'BGN',
+ /*Bulgarian New Lev*/
+ 'BUK',
+ /*Burmese Kyat*/
+ 'BIF',
+ /*Burundi Franc*/
+ 'KHR',
+ /*Cambodian Riel*/
+ 'CAD',
+ /*Canadian Dollar*/
+ 'CVE',
+ /*Cape Verde Escudo*/
+ 'CZK',
+ /*Czech Republic Koruna*/
+ 'KYD',
+ /*Cayman Islands Dollar*/
+ 'GQE',
+ /*Central African CFA Franc*/
+ 'CLP',
+ /*Chilean Peso*/
+ 'CNY',
+ /*Chinese Yuan Renminbi*/
+ 'COP',
+ /*Colombian Peso*/
+ 'KMF',
+ /*Comoro Franc*/
+ 'CDF',
+ /*Congolese Franc Congolais*/
+ 'CRC',
+ /*Costa Rican Colon*/
+ 'HRK',
+ /*Croatian Kuna*/
+ 'CUP',
+ /*Cuban Peso*/
+ 'DKK',
+ /*Danish Krone*/
+ 'DJF',
+ /*Djibouti Franc*/
+ 'DOP',
+ /*Dominican Peso*/
+ 'XCD',
+ /*East Caribbean Dollar*/
+ 'EGP',
+ /*Egyptian Pound*/
+ 'SVC',
+ /*El Salvador Colon*/
+ 'ERN',
+ /*Eritrean Nakfa*/
+ 'EEK',
+ /*Estonian Kroon*/
+ 'ETB',
+ /*Ethiopian Birr*/
+ 'EUR',
+ /*Euro*/
+ 'FKP',
+ /*Falkland Islands Pound*/
+ 'FJD',
+ /*Fiji Dollar*/
+ 'GMD',
+ /*Gambia Dalasi*/
+ 'GEK',
+ /*Georgian Kupon Larit*/
+ 'GEL',
+ /*Georgian Lari*/
+ 'GHS',
+ /*Ghana Cedi*/
+ 'GIP',
+ /*Gibraltar Pound*/
+ 'GTQ',
+ /*Guatemala Quetzal*/
+ 'GNF',
+ /*Guinea Franc*/
+ 'GYD',
+ /*Guyana Dollar*/
+ 'HTG',
+ /*Haitian Gourde*/
+ 'HNL',
+ /*Honduras Lempira*/
+ 'HKD',
+ /*Hong Kong Dollar*/
+ 'HUF',
+ /*Hungarian Forint*/
+ 'ISK',
+ /*Icelandic Krona*/
+ 'INR',
+ /*Indian Rupee*/
+ 'IDR',
+ /*Indonesian Rupiah*/
+ 'IRR',
+ /*Iranian Rial*/
+ 'IQD',
+ /*Iraqi Dinar*/
+ 'ILS',
+ /*Israeli New Sheqel*/
+ 'JMD',
+ /*Jamaican Dollar*/
+ 'JPY',
+ /*Japanese Yen*/
+ 'JOD',
+ /*Jordanian Dinar*/
+ 'KZT',
+ /*Kazakhstan Tenge*/
+ 'KES',
+ /*Kenyan Shilling*/
+ 'KWD',
+ /*Kuwaiti Dinar*/
+ 'KGS',
+ /*Kyrgystan Som*/
+ 'LAK',
+ /*Laotian Kip*/
+ 'LVL',
+ /*Latvian Lats*/
+ 'LBP',
+ /*Lebanese Pound*/
+ 'LSL',
+ /*Lesotho Loti*/
+ 'LRD',
+ /*Liberian Dollar*/
+ 'LYD',
+ /*Libyan Dinar*/
+ 'LTL',
+ /*Lithuanian Lita*/
+ 'MOP',
+ /*Macao Pataca*/
+ 'MKD',
+ /*Macedonian Denar*/
+ 'MGA',
+ /*Malagasy Ariary*/
+ 'MWK',
+ /*Malawi Kwacha*/
+ 'MYR',
+ /*Malaysian Ringgit*/
+ 'MVR',
+ /*Maldive Islands Rufiyaa*/
+ 'LSM',
+ /*Maloti*/
+ 'MRO',
+ /*Mauritania Ouguiya*/
+ 'MUR',
+ /*Mauritius Rupee*/
+ 'MXN',
+ /*Mexican Peso*/
+ 'MDL',
+ /*Moldovan Leu*/
+ 'MNT',
+ /*Mongolian*/
+ 'MAD',
+ /*Moroccan Dirham*/
+ 'MZN',
+ /*Mozambique Metical*/
+ 'MMK',
+ /*Myanmar Kyat*/
+ 'NAD',
+ /*Namibia Dollar*/
+ 'NPR',
+ /*Nepalese Rupee*/
+ 'ANG',
+ /*Netherlands Antillan Guilder*/
+ 'YTL',
+ /*New Turkish Lira*/
+ 'NZD',
+ /*New Zealand Dollar*/
+ 'NIC',
+ /*Nicaraguan Cordoba (1988–1991)*/
+ 'NIO',
+ /*Nicaraguan Cordoba*/
+ 'NGN',
+ /*Nigerian Naira*/
+ 'KPW',
+ /*North Korean Won*/
+ 'NOK',
+ /*Norwegian Krone*/
+ 'OMR',
+ /*Oman Rial*/
+ 'PKR',
+ /*Pakistan Rupee*/
+ 'PAB',
+ /*Panamanian Balboa*/
+ 'PGK',
+ /*Papua New Guinea Kina*/
+ 'PYG',
+ /*Paraguay Guarani*/
+ 'PEN',
+ /*Peruvian Nuevo Sol*/
+ 'PHP',
+ /*Philippine Peso*/
+ 'PLN',
+ /*Polish Zloty*/
+ 'QAR',
+ /*Qatari Rial*/
+ 'RHD',
+ /*Rhodesian Dollar*/
+ 'RON',
+ /*Romanian Leu*/
+ 'RUB',
+ /*Russian Ruble*/
+ 'RWF',
+ /*Rwandan Franc*/
+ 'SHP',
+ /*Saint Helena Pound*/
+ 'STD',
+ /*Sao Tome Dobra*/
+ 'SAR',
+ /*Saudi Riyal*/
+ 'RSD',
+ /*Serbian Dinar*/
+ 'SCR',
+ /*Seychelles Rupee*/
+ 'SLL',
+ /*Sierra Leone Leone*/
+ 'SGD',
+ /*Singapore Dollar*/
+ 'SKK',
+ /*Slovak Koruna*/
+ 'SBD',
+ /*Solomon Islands Dollar*/
+ 'SOS',
+ /*Somali Shilling*/
+ 'ZAR',
+ /*South African Rand*/
+ 'KRW',
+ /*South Korean Won*/
+ 'LKR',
+ /*Sri Lanka Rupee*/
+ 'SDG',
+ /*Sudanese Pound*/
+ 'SRD',
+ /*Surinam Dollar*/
+ 'SZL',
+ /*Swaziland Lilangeni*/
+ 'SEK',
+ /*Swedish Krona*/
+ 'CHF',
+ /*Swiss Franc*/
+ 'SYP',
+ /*Syrian Pound*/
+ 'TWD',
+ /*Taiwan New Dollar*/
+ 'TJS',
+ /*Tajikistan Somoni*/
+ 'TZS',
+ /*Tanzanian Shilling*/
+ 'THB',
+ /*Thai Baht*/
+ 'TOP',
+ /*Tonga Pa?anga*/
+ 'TTD',
+ /*Trinidad and Tobago Dollar*/
+ 'TND',
+ /*Tunisian Dinar*/
+ 'TMM',
+ /*Turkmenistan Manat*/
+ 'USD',
+ /*US Dollar*/
+ 'UGX',
+ /*Ugandan Shilling*/
+ 'UAH',
+ /*Ukrainian Hryvnia*/
+ 'AED',
+ /*United Arab Emirates Dirham*/
+ 'UYU',
+ /*Uruguay Peso Uruguayo*/
+ 'UZS',
+ /*Uzbekistan Sum*/
+ 'VUV',
+ /*Vanuatu Vatu*/
+ 'VEB',
+ /*Venezuelan Bolivar*/
+ 'VEF',
+ /*Venezuelan bolívar fuerte*/
+ 'VND',
+ /*Vietnamese Dong*/
+ 'CHE',
+ /*WIR Euro*/
+ 'CHW',
+ /*WIR Franc*/
+ 'XOF',
+ /*West African CFA franc*/
+ 'WST',
+ /*Western Samoa Tala*/
+ 'YER',
+ /*Yemeni Rial*/
+ 'ZMK',
+ /*Zambian Kwacha*/
+ 'ZWD',
+ /*Zimbabwe Dollar*/
+ 'TRY',
+ /*Turkish Lira*/
+ 'AZM',
+ /*Azerbaijani Manat (1993-2006)*/
+ 'ROL',
+ /*Old Romanian Leu*/
+ 'TRL',
+ /*Old Turkish Lira*/
+ 'XPF',
+ ];
+ /**
+ * @param array $data
+ */
+ public function __construct(array $data = [])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getAllowedLocales()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getAllowedCurrencies()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem {
+ /**
+ * Wrapper for Laminas\Stdlib\Glob
+ */
+ class Glob extends \Laminas\Stdlib\Glob
+ {
+ /**
+ * Find path names matching a pattern.
+ *
+ * @param string $pattern
+ * @param int $flags
+ * @param bool $forceFallback
+ * @return array
+ */
+ public static function glob($pattern, $flags = 0, $forceFallback = false)
+ {
+ }
+ }
+ /**
+ * A pool of stream wrappers
+ */
+ class DriverPool
+ {
+ /**#@+
+ * Available driver types
+ */
+ const FILE = 'file';
+ const HTTP = 'http';
+ const HTTPS = 'https';
+ const ZLIB = 'compress.zlib';
+ /**#@- */
+ /**#@- */
+ protected $types = [self::FILE => \Magento\Framework\Filesystem\Driver\File::class, self::HTTP => \Magento\Framework\Filesystem\Driver\Http::class, self::HTTPS => \Magento\Framework\Filesystem\Driver\Https::class, self::ZLIB => \Magento\Framework\Filesystem\Driver\Zlib::class];
+ /**
+ * Obtain extra types in constructor
+ *
+ * @param array $extraTypes
+ * @throws \InvalidArgumentException
+ */
+ public function __construct($extraTypes = [])
+ {
+ }
+ /**
+ * Gets a driver instance by code
+ *
+ * @param string $code
+ * @return DriverInterface
+ */
+ public function getDriver($code)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem\Directory {
+ /**
+ * Interface \Magento\Framework\Filesystem\Directory\ReadInterface
+ * @api
+ * @since 100.0.2
+ */
+ interface ReadInterface
+ {
+ /**
+ * Get absolute path
+ *
+ * @param string $path [optional]
+ * @return string
+ */
+ public function getAbsolutePath($path = null);
+ /**
+ * Get relative path
+ *
+ * @param string $path
+ * @return string
+ */
+ public function getRelativePath($path = null);
+ /**
+ * Retrieve list of all entities in given path
+ *
+ * @param string $path [optional]
+ * @return array
+ */
+ public function read($path = null);
+ /**
+ * Search all entries for given regex pattern
+ *
+ * @param string $pattern
+ * @param string $path [optional]
+ * @return array
+ */
+ public function search($pattern, $path = null);
+ /**
+ * Check a file or directory exists
+ *
+ * @param string $path [optional]
+ * @return bool
+ */
+ public function isExist($path = null);
+ /**
+ * Gathers the statistics of the given path
+ *
+ * @param string $path
+ * @return array
+ */
+ public function stat($path);
+ /**
+ * Check permissions for reading file or directory
+ *
+ * @param string $path [optional]
+ * @return bool
+ */
+ public function isReadable($path = null);
+ /**
+ * Check whether given path is file
+ *
+ * @param string $path
+ * @return bool
+ */
+ public function isFile($path);
+ /**
+ * Check whether given path is directory
+ *
+ * @param string $path [optional]
+ * @return bool
+ */
+ public function isDirectory($path = null);
+ /**
+ * Open file in read mode
+ *
+ * @param string $path
+ * @return \Magento\Framework\Filesystem\File\ReadInterface
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function openFile($path);
+ /**
+ * Retrieve file contents from given path
+ *
+ * @param string $path
+ * @param string|null $flag
+ * @param resource|null $context
+ * @return string
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function readFile($path, $flag = null, $context = null);
+ }
+ /**
+ * Validate paths to be used with directories.
+ *
+ * @api
+ */
+ interface PathValidatorInterface
+ {
+ /**
+ * Validate if path can be used with a directory.
+ *
+ * @param string $directoryPath
+ * @param string $path
+ * @param string|null $scheme
+ * @param bool $absolutePath Is given path an absolute path?.
+ * @throws ValidatorException
+ *
+ * @return void
+ */
+ public function validate(string $directoryPath, string $path, ?string $scheme = null, bool $absolutePath = false) : void;
+ }
+ /**
+ * @inheritDoc
+ *
+ * Validates paths using driver.
+ */
+ class PathValidator implements \Magento\Framework\Filesystem\Directory\PathValidatorInterface
+ {
+ /**
+ * @param DriverInterface $driver
+ */
+ public function __construct(\Magento\Framework\Filesystem\DriverInterface $driver)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function validate(string $directoryPath, string $path, ?string $scheme = null, bool $absolutePath = false) : void
+ {
+ }
+ }
+ /**
+ * Filesystem directory instance for read operations
+ * @api
+ * @since 100.0.2
+ */
+ class Read implements \Magento\Framework\Filesystem\Directory\ReadInterface
+ {
+ /**
+ * Directory path
+ *
+ * @var string
+ */
+ protected $path;
+ /**
+ * @var \Magento\Framework\Filesystem\File\ReadFactory
+ */
+ protected $fileFactory;
+ /**
+ * Filesystem driver
+ *
+ * @var \Magento\Framework\Filesystem\DriverInterface
+ */
+ protected $driver;
+ /**
+ * @param \Magento\Framework\Filesystem\File\ReadFactory $fileFactory
+ * @param \Magento\Framework\Filesystem\DriverInterface $driver
+ * @param string $path
+ * @param PathValidatorInterface|null $pathValidator
+ */
+ public function __construct(\Magento\Framework\Filesystem\File\ReadFactory $fileFactory, \Magento\Framework\Filesystem\DriverInterface $driver, $path, ?\Magento\Framework\Filesystem\Directory\PathValidatorInterface $pathValidator = null)
+ {
+ }
+ /**
+ * Validate the path is correct and within the directory
+ *
+ * @param null|string $path
+ * @param null|string $scheme
+ * @param bool $absolutePath
+ * @throws ValidatorException
+ *
+ * @return void
+ * @since 101.0.7
+ */
+ protected function validatePath(?string $path, ?string $scheme = null, bool $absolutePath = false) : void
+ {
+ }
+ /**
+ * Sets base path
+ *
+ * @param string $path
+ * @return void
+ */
+ protected function setPath($path)
+ {
+ }
+ /**
+ * Retrieves absolute path i.e. /var/www/application/file.txt
+ *
+ * @param string $path
+ * @param string $scheme
+ * @throws ValidatorException
+ * @return string
+ */
+ public function getAbsolutePath($path = null, $scheme = null)
+ {
+ }
+ /**
+ * Retrieves relative path
+ *
+ * @param string $path
+ * @throws ValidatorException
+ * @return string
+ */
+ public function getRelativePath($path = null)
+ {
+ }
+ /**
+ * Retrieve list of all entities in given path
+ *
+ * @param string|null $path
+ * @throws ValidatorException
+ * @return string[]
+ */
+ public function read($path = null)
+ {
+ }
+ /**
+ * Read recursively
+ *
+ * @param string|null $path
+ * @throws ValidatorException
+ * @return string[]
+ */
+ public function readRecursively($path = null)
+ {
+ }
+ /**
+ * Search all entries for given regex pattern
+ *
+ * @param string $pattern
+ * @param string $path [optional]
+ * @throws ValidatorException
+ * @return string[]
+ */
+ public function search($pattern, $path = null)
+ {
+ }
+ /**
+ * Check a file or directory exists
+ *
+ * @param string $path [optional]
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ * @throws ValidatorException
+ */
+ public function isExist($path = null)
+ {
+ }
+ /**
+ * Gathers the statistics of the given path
+ *
+ * @param string $path
+ * @return array
+ * @throws \Magento\Framework\Exception\FileSystemException
+ * @throws ValidatorException
+ */
+ public function stat($path)
+ {
+ }
+ /**
+ * Check permissions for reading file or directory
+ *
+ * @param string $path [optional]
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ * @throws ValidatorException
+ */
+ public function isReadable($path = null)
+ {
+ }
+ /**
+ * Open file in read mode
+ *
+ * @param string $path
+ * @throws ValidatorException
+ *
+ * @return \Magento\Framework\Filesystem\File\ReadInterface
+ */
+ public function openFile($path)
+ {
+ }
+ /**
+ * Retrieve file contents from given path
+ *
+ * @param string $path
+ * @param string|null $flag
+ * @param resource|null $context
+ * @return string
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function readFile($path, $flag = null, $context = null)
+ {
+ }
+ /**
+ * Check whether given path is file
+ *
+ * @param string $path
+ * @throws ValidatorException
+ * @return bool
+ */
+ public function isFile($path)
+ {
+ }
+ /**
+ * Check whether given path is directory
+ *
+ * @param string $path [optional]
+ * @throws ValidatorException
+ * @return bool
+ */
+ public function isDirectory($path = null)
+ {
+ }
+ /**
+ * Disable show internals with var_dump
+ *
+ * @see https://www.php.net/manual/en/language.oop5.magic.php#object.debuginfo
+ * @return array
+ */
+ public function __debugInfo()
+ {
+ }
+ }
+ /**
+ * The factory of the filesystem directory instances for read operations.
+ *
+ * @api
+ */
+ class ReadFactory
+ {
+ /**
+ * Constructor
+ *
+ * @param DriverPool $driverPool
+ */
+ public function __construct(\Magento\Framework\Filesystem\DriverPool $driverPool)
+ {
+ }
+ /**
+ * Create a readable directory
+ *
+ * @param string $path
+ * @param string $driverCode
+ * @return ReadInterface
+ */
+ public function create($path, $driverCode = \Magento\Framework\Filesystem\DriverPool::FILE)
+ {
+ }
+ }
+ /**
+ * Validates paths using driver.
+ */
+ class CompositePathValidator implements \Magento\Framework\Filesystem\Directory\PathValidatorInterface
+ {
+ /**
+ * @param PathValidatorInterface[] $validators
+ */
+ public function __construct(array $validators)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function validate(string $directoryPath, string $path, ?string $scheme = null, bool $absolutePath = false) : void
+ {
+ }
+ }
+ /**
+ * Validates paths using driver.
+ */
+ class DenyListPathValidator implements \Magento\Framework\Filesystem\Directory\PathValidatorInterface
+ {
+ /**
+ * @param DriverInterface $driver
+ */
+ public function __construct(\Magento\Framework\Filesystem\DriverInterface $driver)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function validate(string $directoryPath, string $path, ?string $scheme = null, bool $absolutePath = false) : void
+ {
+ }
+ /**
+ * Allow addition of new exceptions given full path
+ *
+ * @param string $fullPath
+ */
+ public function addException(string $fullPath)
+ {
+ }
+ /**
+ * Allow addition of new exceptions given full path
+ *
+ * @param string $fullPath
+ */
+ public function removeException(string $fullPath)
+ {
+ }
+ }
+ /**
+ * Interface \Magento\Framework\Filesystem\Directory\WriteInterface
+ * @api
+ * @since 100.0.2
+ */
+ interface WriteInterface extends \Magento\Framework\Filesystem\Directory\ReadInterface
+ {
+ /**
+ * Create directory if it does not exists
+ *
+ * @param string $path [optional]
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function create($path = null);
+ /**
+ * Delete given path
+ *
+ * @param string $path [optional]
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function delete($path = null);
+ /**
+ * Rename a file
+ *
+ * @param string $path
+ * @param string $newPath
+ * @param WriteInterface $targetDirectory [optional]
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function renameFile($path, $newPath, \Magento\Framework\Filesystem\Directory\WriteInterface $targetDirectory = null);
+ /**
+ * Copy a file
+ *
+ * @param string $path
+ * @param string $destination
+ * @param WriteInterface $targetDirectory [optional]
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function copyFile($path, $destination, \Magento\Framework\Filesystem\Directory\WriteInterface $targetDirectory = null);
+ /**
+ * Creates symlink on a file or directory and places it to destination
+ *
+ * @param string $path
+ * @param string $destination
+ * @param WriteInterface $targetDirectory [optional]
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function createSymlink($path, $destination, \Magento\Framework\Filesystem\Directory\WriteInterface $targetDirectory = null);
+ /**
+ * Change permissions of given path
+ *
+ * @param string $path
+ * @param int $permissions
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function changePermissions($path, $permissions);
+ /**
+ * Change permissions of given path
+ *
+ * @param string $path
+ * @param int $dirPermissions
+ * @param int $filePermissions
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function changePermissionsRecursively($path, $dirPermissions, $filePermissions);
+ /**
+ * Sets access and modification time of file.
+ *
+ * @param string $path
+ * @param int $modificationTime [optional]
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function touch($path, $modificationTime = null);
+ /**
+ * Check if given path is writable
+ *
+ * @param string $path [optional]
+ * @return bool
+ */
+ public function isWritable($path = null);
+ /**
+ * Open file in given mode
+ *
+ * @param string $path
+ * @param string $mode
+ * @return \Magento\Framework\Filesystem\File\WriteInterface
+ */
+ public function openFile($path, $mode = 'w');
+ /**
+ * Open file in given path
+ *
+ * @param string $path
+ * @param string $content
+ * @param string $mode [optional]
+ * @return int The number of bytes that were written.
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function writeFile($path, $content, $mode = null);
+ /**
+ * Get driver
+ *
+ * @return \Magento\Framework\Filesystem\DriverInterface
+ */
+ public function getDriver();
+ }
+ /**
+ * Write Interface implementation
+ */
+ class Write extends \Magento\Framework\Filesystem\Directory\Read implements \Magento\Framework\Filesystem\Directory\WriteInterface
+ {
+ /**
+ * Permissions for new sub-directories
+ *
+ * @var int
+ */
+ protected $permissions = 0777;
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\Filesystem\File\WriteFactory $fileFactory
+ * @param DriverInterface $driver
+ * @param string $path
+ * @param int $createPermissions
+ * @param PathValidatorInterface|null $pathValidator
+ */
+ public function __construct(\Magento\Framework\Filesystem\File\WriteFactory $fileFactory, \Magento\Framework\Filesystem\DriverInterface $driver, $path, ?int $createPermissions = null, ?\Magento\Framework\Filesystem\Directory\PathValidatorInterface $pathValidator = null)
+ {
+ }
+ /**
+ * Check if directory or file is writable
+ *
+ * @param string $path
+ * @return void
+ * @throws FileSystemException|ValidatorException
+ */
+ protected function assertWritable($path)
+ {
+ }
+ /**
+ * Check if given path is exists and is file
+ *
+ * @param string $path
+ * @return void
+ * @throws FileSystemException
+ */
+ protected function assertIsFile($path)
+ {
+ }
+ /**
+ * Create directory if it does not exist
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function create($path = null)
+ {
+ }
+ /**
+ * Rename a file
+ *
+ * @param string $path
+ * @param string $newPath
+ * @param WriteInterface $targetDirectory
+ * @return bool
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function renameFile($path, $newPath, \Magento\Framework\Filesystem\Directory\WriteInterface $targetDirectory = null)
+ {
+ }
+ /**
+ * Copy a file
+ *
+ * @param string $path
+ * @param string $destination
+ * @param WriteInterface $targetDirectory
+ * @return bool
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function copyFile($path, $destination, \Magento\Framework\Filesystem\Directory\WriteInterface $targetDirectory = null)
+ {
+ }
+ /**
+ * Creates symlink on a file and places it to destination
+ *
+ * @param string $path
+ * @param string $destination
+ * @param WriteInterface $targetDirectory [optional]
+ * @return bool
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function createSymlink($path, $destination, \Magento\Framework\Filesystem\Directory\WriteInterface $targetDirectory = null)
+ {
+ }
+ /**
+ * Delete given path
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function delete($path = null)
+ {
+ }
+ /**
+ * Change permissions of given path
+ *
+ * @param string $path
+ * @param int $permissions
+ * @return bool
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function changePermissions($path, $permissions)
+ {
+ }
+ /**
+ * Recursively change permissions of given path
+ *
+ * @param string $path
+ * @param int $dirPermissions
+ * @param int $filePermissions
+ * @return bool
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function changePermissionsRecursively($path, $dirPermissions, $filePermissions)
+ {
+ }
+ /**
+ * Sets modification time of file, if file does not exist - creates file
+ *
+ * @param string $path
+ * @param int|null $modificationTime
+ * @return bool
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function touch($path, $modificationTime = null)
+ {
+ }
+ /**
+ * Check if given path is writable
+ *
+ * @param string|null $path
+ * @return bool
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function isWritable($path = null)
+ {
+ }
+ /**
+ * Open file in given mode
+ *
+ * @param string $path
+ * @param string $mode
+ * @return \Magento\Framework\Filesystem\File\WriteInterface
+ * @throws FileSystemException
+ * @throws ValidatorException
+ */
+ public function openFile($path, $mode = 'w')
+ {
+ }
+ /**
+ * Write contents to file in given mode
+ *
+ * @param string $path
+ * @param string $content
+ * @param string|null $mode
+ * @param bool $lock
+ * @return int The number of bytes that were written.
+ * @throws FileSystemException|ValidatorException
+ */
+ public function writeFile($path, $content, $mode = 'w+', bool $lock = false)
+ {
+ }
+ /**
+ * Get driver
+ *
+ * @return DriverInterface
+ */
+ public function getDriver()
+ {
+ }
+ }
+ /**
+ * A target directory for remote filesystems.
+ */
+ class TargetDirectory
+ {
+ /**
+ * @param Filesystem $filesystem
+ * @param string $driverCode
+ */
+ public function __construct(\Magento\Framework\Filesystem $filesystem, $driverCode = \Magento\Framework\Filesystem\DriverPool::FILE)
+ {
+ }
+ /**
+ * Create an instance of directory with write permissions.
+ *
+ * @param string $directoryCode
+ * @return WriteInterface
+ * @throws FileSystemException
+ */
+ public function getDirectoryWrite(string $directoryCode) : \Magento\Framework\Filesystem\Directory\WriteInterface
+ {
+ }
+ /**
+ * Create an instance of directory with read permissions.
+ *
+ * @param string $directoryCode
+ * @return ReadInterface
+ */
+ public function getDirectoryRead(string $directoryCode) : \Magento\Framework\Filesystem\Directory\ReadInterface
+ {
+ }
+ /**
+ * Create an instance of directory with read permissions with file path.
+ *
+ * @param String $path
+ * @param string $driverCode
+ * @return ReadInterface
+ */
+ public function getDirectoryReadByPath(string $path, $driverCode = \Magento\Framework\Filesystem\DriverPool::FILE) : \Magento\Framework\Filesystem\Directory\ReadInterface
+ {
+ }
+ }
+ /**
+ * The factory of the filesystem directory instances for write operations.
+ */
+ class WriteFactory
+ {
+ /**
+ * Constructor
+ *
+ * @param DriverPool $driverPool
+ * @param DenyListPathValidator|null $denyListPathValidator
+ */
+ public function __construct(\Magento\Framework\Filesystem\DriverPool $driverPool, ?\Magento\Framework\Filesystem\Directory\DenyListPathValidator $denyListPathValidator = null)
+ {
+ }
+ /**
+ * Create a writable directory
+ *
+ * @param string $path
+ * @param string $driverCode
+ * @param int $createPermissions
+ * @param string $directoryCode
+ * @return Write
+ */
+ public function create($path, $driverCode = \Magento\Framework\Filesystem\DriverPool::FILE, $createPermissions = null, $directoryCode = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem\Io {
+ /**
+ * Input/output client interface
+ * @api
+ * @since 100.0.2
+ */
+ interface IoInterface
+ {
+ /**
+ * Open a connection
+ *
+ * @param array $args
+ * @return bool
+ */
+ public function open(array $args = []);
+ /**
+ * Close a connection
+ *
+ * @return bool
+ */
+ public function close();
+ /**
+ * Create a directory
+ *
+ * @param string $dir
+ * @param int $mode
+ * @param bool $recursive
+ * @return bool
+ */
+ public function mkdir($dir, $mode = 0777, $recursive = true);
+ /**
+ * Delete a directory
+ *
+ * @param string $dir
+ * @param bool $recursive
+ * @return bool
+ */
+ public function rmdir($dir, $recursive = false);
+ /**
+ * Get current working directory
+ *
+ * @return string
+ */
+ public function pwd();
+ /**
+ * Change current working directory
+ *
+ * @param string $dir
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function cd($dir);
+ /**
+ * Read a file
+ *
+ * @param string $filename
+ * @param string|resource|null $dest
+ * @return string|bool
+ */
+ public function read($filename, $dest = null);
+ /**
+ * Write a file
+ *
+ * @param string $filename
+ * @param string|resource $src
+ * @param int|null $mode
+ * @return int|bool
+ */
+ public function write($filename, $src, $mode = null);
+ /**
+ * Delete a file
+ *
+ * @param string $filename
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function rm($filename);
+ /**
+ * Rename or move a directory or a file
+ *
+ * @param string $src
+ * @param string $dest
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function mv($src, $dest);
+ /**
+ * Change mode of a directory or a file
+ *
+ * @param string $filename
+ * @param int $mode
+ * @return bool
+ */
+ public function chmod($filename, $mode);
+ /**
+ * Get list of cwd subdirectories and files
+ *
+ * @param string|null $grep
+ * @return array
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function ls($grep = null);
+ /**
+ * Retrieve directory separator in context of io resource
+ *
+ * @return string
+ */
+ public function dirsep();
+ }
+ /**
+ * Install and upgrade client abstract class
+ */
+ abstract class AbstractIo implements \Magento\Framework\Filesystem\Io\IoInterface
+ {
+ /**
+ * If this variable is set to true, our library will be able to automaticaly
+ * create non-existant directories
+ *
+ * @var bool
+ */
+ protected $_allowCreateFolders = false;
+ /**
+ * Allow automaticaly create non-existant directories
+ *
+ * @param bool $flag
+ * @return $this
+ */
+ public function setAllowCreateFolders($flag)
+ {
+ }
+ /**
+ * Open a connection
+ *
+ * @param array $args
+ * @return false
+ */
+ public function open(array $args = [])
+ {
+ }
+ /**
+ * @return string
+ */
+ public function dirsep()
+ {
+ }
+ /**
+ * @param string $path
+ * @return string
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function getCleanPath($path)
+ {
+ }
+ /**
+ * @param string $haystackPath
+ * @param string $needlePath
+ * @return bool
+ */
+ public function allowedPath($haystackPath, $needlePath)
+ {
+ }
+ }
+ /**
+ * Filesystem client
+ *
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ * @api
+ */
+ class File extends \Magento\Framework\Filesystem\Io\AbstractIo
+ {
+ /**
+ * Save initial working directory
+ *
+ * @var string
+ */
+ protected $_iwd;
+ /**
+ * Use virtual current working directory for application integrity
+ *
+ * @var string
+ */
+ protected $_cwd;
+ /**
+ * Used to grep ls() output
+ *
+ * @const
+ */
+ public const GREP_FILES = 'files_only';
+ /**
+ * Used to grep ls() output
+ *
+ * @const
+ */
+ public const GREP_DIRS = 'dirs_only';
+ /**
+ * If this variable is set to TRUE, our library will be able to automatically create
+ * non-existent directories.
+ *
+ * @var bool
+ * @access protected
+ */
+ protected $_allowCreateFolders = false;
+ /**
+ * Stream open file pointer
+ *
+ * @var resource
+ */
+ protected $_streamHandler;
+ /**
+ * Stream mode filename
+ *
+ * @var string
+ */
+ protected $_streamFileName;
+ /**
+ * Stream mode chmod
+ *
+ * @var string
+ */
+ protected $_streamChmod;
+ /**
+ * Lock file
+ *
+ * @var bool
+ */
+ protected $_streamLocked = false;
+ /**
+ * Destruct
+ *
+ * @return void
+ */
+ public function __destruct()
+ {
+ }
+ /**
+ * Lock file
+ *
+ * @param bool $exclusive
+ * @return bool
+ */
+ public function streamLock($exclusive = true)
+ {
+ }
+ /**
+ * Unlock file
+ *
+ * @return bool
+ */
+ public function streamUnlock()
+ {
+ }
+ /**
+ * Binary-safe file read
+ *
+ * @param int $length
+ * @return string|false
+ */
+ public function streamRead($length = 1024)
+ {
+ }
+ /**
+ * Gets line from file pointer and parse for CSV fields
+ *
+ * @param string $delimiter
+ * @param string $enclosure
+ * @return string|false
+ */
+ public function streamReadCsv($delimiter = ',', $enclosure = '"')
+ {
+ }
+ /**
+ * Binary-safe file write
+ *
+ * @param string $str
+ * @return int|false
+ */
+ public function streamWrite($str)
+ {
+ }
+ /**
+ * Format line as CSV and write to file pointer
+ *
+ * @param array $row
+ * @param string $delimiter
+ * @param string $enclosure
+ * @return int|false The length of the written string or false
+ */
+ public function streamWriteCsv(array $row, $delimiter = ',', $enclosure = '"')
+ {
+ }
+ /**
+ * Close an open file pointer
+ *
+ * Set chmod on a file
+ *
+ * @return bool
+ */
+ public function streamClose()
+ {
+ }
+ /**
+ * Retrieve open file statistic
+ *
+ * @param string $part the part of statistic
+ * @param mixed $default default value for part
+ * @return array|bool
+ */
+ public function streamStat($part = null, $default = null)
+ {
+ }
+ /**
+ * Retrieve stream methods exception
+ *
+ * @return \Exception
+ */
+ public function getStreamException()
+ {
+ }
+ /**
+ * Open a connection
+ *
+ * Possible arguments:
+ * - path default current path
+ *
+ * @param array $args
+ * @return true
+ */
+ public function open(array $args = [])
+ {
+ }
+ /**
+ * Used to set {@link _allowCreateFolders} value
+ *
+ * @param bool $flag
+ * @access public
+ * @return $this
+ */
+ public function setAllowCreateFolders($flag)
+ {
+ }
+ /**
+ * Close a connection
+ *
+ * @return true
+ */
+ public function close()
+ {
+ }
+ /**
+ * Create a directory
+ *
+ * @param string $dir
+ * @param int $mode
+ * @param bool $recursive
+ * @return bool
+ */
+ public function mkdir($dir, $mode = 0777, $recursive = true)
+ {
+ }
+ /**
+ * Delete a directory
+ *
+ * @param string $dir
+ * @param bool $recursive
+ * @return bool
+ */
+ public function rmdir($dir, $recursive = false)
+ {
+ }
+ /**
+ * Delete a directory recursively
+ *
+ * @param string $dir
+ * @param bool $recursive
+ * @return bool
+ */
+ public static function rmdirRecursive($dir, $recursive = true)
+ {
+ }
+ /**
+ * Applies specified callback for a directory/file recursively
+ *
+ * $fileCallback and $dirCallback format: array($callback, $parameters)
+ * - $callback - callable
+ * - $parameters (optional) - array with parameters to be passed to the $callback
+ *
+ * @param string $dir
+ * @param array $fileCallback
+ * @param array $dirCallback
+ * @return mixed
+ * @throws \InvalidArgumentException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ protected static function _recursiveCallback($dir, array $fileCallback, array $dirCallback = [])
+ {
+ }
+ /**
+ * Get current working directory
+ *
+ * @return string
+ */
+ public function pwd()
+ {
+ }
+ /**
+ * Change current working directory
+ *
+ * @param string $dir
+ * @return true
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ * @throws LocalizedException
+ */
+ public function cd($dir)
+ {
+ }
+ /**
+ * Read a file to result, file or stream
+ *
+ * If $dest is null the output will be returned.
+ * Otherwise it will be saved to the file or stream and operation result is returned.
+ *
+ * @param string $filename
+ * @param string|resource $dest
+ * @return bool|string
+ */
+ public function read($filename, $dest = null)
+ {
+ }
+ /**
+ * Write a file from string, file or stream
+ *
+ * @param string $filename
+ * @param string|resource $src
+ * @param int $mode
+ * @return int|bool
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function write($filename, $src, $mode = null)
+ {
+ }
+ /**
+ * Is file exists
+ *
+ * @param string $file
+ * @param bool $onlyFile
+ * @return bool
+ */
+ public function fileExists($file, $onlyFile = true)
+ {
+ }
+ /**
+ * Tells whether the filename is writable
+ *
+ * @param string $path
+ * @return bool
+ */
+ public function isWriteable($path)
+ {
+ }
+ /**
+ * Get destination folder
+ *
+ * @param string $filePath
+ * @return bool|string
+ */
+ public function getDestinationFolder($filePath)
+ {
+ }
+ /**
+ * Create destination folder
+ *
+ * @param string $path
+ * @return bool
+ */
+ public function createDestinationDir($path)
+ {
+ }
+ /**
+ * Check and create if not exists folder
+ *
+ * @param string $folder
+ * @param int $mode
+ * @return true
+ * @throws LocalizedException
+ */
+ public function checkAndCreateFolder($folder, $mode = 0777)
+ {
+ }
+ /**
+ * Delete a file
+ *
+ * @param string $filename
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function rm($filename)
+ {
+ }
+ /**
+ * Rename or move a directory or a file
+ *
+ * @param string $src
+ * @param string $destination
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function mv($src, $destination)
+ {
+ }
+ /**
+ * Copy a file
+ *
+ * @param string $src
+ * @param string $destination
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function cp($src, $destination)
+ {
+ }
+ /**
+ * Change mode of a directory or a file
+ *
+ * @param string $filename
+ * @param int $mode
+ * @param bool $recursive
+ * @return bool
+ */
+ public function chmod($filename, $mode, $recursive = false)
+ {
+ }
+ /**
+ * Change mode of a directory/file recursively
+ *
+ * @static
+ * @param string $dir
+ * @param int $mode
+ * @return bool
+ */
+ public static function chmodRecursive($dir, $mode)
+ {
+ }
+ /**
+ * Get list of cwd subdirectories and files
+ *
+ * Suggestions (from moshe):
+ * - Use filemtime instead of filectime for performance
+ * - Change $grep to $flags and use binary flags
+ * - LS_DIRS = 1
+ * - LS_FILES = 2
+ * - LS_ALL = 3
+ *
+ * @param string|null $grep
+ * @return array
+ * @throws LocalizedException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function ls($grep = null)
+ {
+ }
+ /**
+ * Change directory to current working directory
+ *
+ * @return void
+ */
+ protected function _cwd()
+ {
+ }
+ /**
+ * Change directory to initial directory
+ *
+ * @return void
+ */
+ protected function _iwd()
+ {
+ }
+ /**
+ * Convert integer permissions format into human readable
+ *
+ * @param int $mode
+ * @access protected
+ * @return string
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ protected function _parsePermissions($mode)
+ {
+ }
+ /**
+ * Get file owner
+ *
+ * @param string $filename
+ * @return string
+ */
+ protected function _getFileOwner($filename)
+ {
+ }
+ /**
+ * Get directory separator
+ *
+ * @return string
+ */
+ public function dirsep()
+ {
+ }
+ /**
+ * Get directory name
+ *
+ * @param string $file
+ * @return string
+ */
+ public function dirname($file)
+ {
+ }
+ /**
+ * Get directories list by path\
+ *
+ * @param string $path
+ * @param int $flag
+ * @return array
+ */
+ public function getDirectoriesList($path, $flag = GLOB_ONLYDIR)
+ {
+ }
+ /**
+ * Get path info
+ *
+ * @param string $path
+ * @return mixed
+ */
+ public function getPathInfo($path)
+ {
+ }
+ }
+ /**
+ * Sftp client interface
+ *
+ * @link http://www.php.net/manual/en/function.ssh2-connect.php
+ */
+ class Sftp extends \Magento\Framework\Filesystem\Io\AbstractIo
+ {
+ public const REMOTE_TIMEOUT = 10;
+ public const SSH2_PORT = 22;
+ /**
+ * @var \phpseclib3\Net\SFTP
+ */
+ protected $_connection = null;
+ /**
+ * Open a SFTP connection to a remote site.
+ *
+ * @param array $args Connection arguments
+ * string $args[host] Remote hostname
+ * string $args[username] Remote username
+ * string $args[password] Connection password
+ * int $args[timeout] Connection timeout [=10]
+ * @return void
+ * @throws Exception
+ */
+ public function open(array $args = [])
+ {
+ }
+ /**
+ * Close a connection
+ *
+ * @return void
+ */
+ public function close()
+ {
+ }
+ /**
+ * Create a directory
+ *
+ * @param string $dir
+ * @param int $mode ignored here; uses logged-in user's umask
+ * @param bool $recursive analogous to mkdir -p
+ *
+ * Note: if $recursive is true and an error occurs mid-execution,
+ * false is returned and some part of the hierarchy might be created.
+ * No rollback is performed.
+ *
+ * @return bool
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function mkdir($dir, $mode = 0777, $recursive = true)
+ {
+ }
+ /**
+ * Delete a directory
+ *
+ * @param string $dir
+ * @param bool $recursive
+ * @return bool
+ * @throws Exception
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function rmdir($dir, $recursive = false)
+ {
+ }
+ /**
+ * Get current working directory
+ *
+ * @return mixed
+ */
+ public function pwd()
+ {
+ }
+ /**
+ * Change current working directory
+ *
+ * @param string $dir
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function cd($dir)
+ {
+ }
+ /**
+ * Read a file
+ *
+ * @param string $filename remote file name
+ * @param string|null $destination local file name (optional)
+ * @return mixed
+ */
+ public function read($filename, $destination = null)
+ {
+ }
+ /**
+ * Write a file
+ *
+ * @param string $filename
+ * @param string $source string data or local file name
+ * @param int $mode ignored parameter
+ * @return bool
+ */
+ public function write($filename, $source, $mode = null)
+ {
+ }
+ /**
+ * Delete a file
+ *
+ * @param string $filename
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function rm($filename)
+ {
+ }
+ /**
+ * Rename or move a directory or a file
+ *
+ * @param string $source
+ * @param string $destination
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function mv($source, $destination)
+ {
+ }
+ /**
+ * Change mode of a directory or a file
+ *
+ * @param string $filename
+ * @param int $mode
+ * @return mixed
+ */
+ public function chmod($filename, $mode)
+ {
+ }
+ /**
+ * Get list of cwd subdirectories and files
+ *
+ * @param null $grep ignored parameter
+ * @return array
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function ls($grep = null)
+ {
+ }
+ /**
+ * Returns a list of files in the current directory
+ *
+ * @return mixed
+ */
+ public function rawls()
+ {
+ }
+ }
+ /**
+ * FTP client
+ */
+ class Ftp extends \Magento\Framework\Filesystem\Io\AbstractIo
+ {
+ const ERROR_EMPTY_HOST = 1;
+ const ERROR_INVALID_CONNECTION = 2;
+ const ERROR_INVALID_LOGIN = 3;
+ const ERROR_INVALID_PATH = 4;
+ const ERROR_INVALID_MODE = 5;
+ const ERROR_INVALID_DESTINATION = 6;
+ const ERROR_INVALID_SOURCE = 7;
+ /**
+ * Connection config
+ *
+ * @var array
+ */
+ protected $_config;
+ /**
+ * An FTP connection
+ *
+ * @var resource
+ */
+ protected $_conn;
+ /**
+ * Error code
+ *
+ * @var int
+ */
+ protected $_error;
+ /**
+ * @var string
+ */
+ protected $_tmpFilename;
+ /**
+ * Open a connection
+ *
+ * Possible argument keys:
+ * - host required
+ * - port default 21
+ * - timeout default 90
+ * - user default anonymous
+ * - password default empty
+ * - ssl default false
+ * - passive default false
+ * - path default empty
+ * - file_mode default FTP_BINARY
+ *
+ * @param array $args
+ * @return true
+ * @throws LocalizedException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function open(array $args = [])
+ {
+ }
+ /**
+ * Close a connection
+ *
+ * @return bool
+ */
+ public function close()
+ {
+ }
+ /**
+ * Create a directory
+ *
+ * @todo implement $mode and $recursive
+ * @param string $dir
+ * @param int $mode
+ * @param bool $recursive
+ * @return bool
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function mkdir($dir, $mode = 0777, $recursive = true)
+ {
+ }
+ /**
+ * Delete a directory
+ *
+ * @param string $dir
+ * @param bool $recursive
+ * @return bool
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function rmdir($dir, $recursive = false)
+ {
+ }
+ /**
+ * Get current working directory
+ *
+ * @return string
+ */
+ public function pwd()
+ {
+ }
+ /**
+ * Change current working directory
+ *
+ * @param string $dir
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function cd($dir)
+ {
+ }
+ /**
+ * Read a file to result, file or stream
+ *
+ * @param string $filename
+ * @param string|resource|null $dest destination file name, stream, or if null will return file contents
+ * @return false|string
+ */
+ public function read($filename, $dest = null)
+ {
+ }
+ /**
+ * Write a file from string, file or stream
+ *
+ * @param string $filename
+ * @param string|resource $src filename, string data or source stream
+ * @param null $mode
+ * @return bool
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function write($filename, $src, $mode = null)
+ {
+ }
+ /**
+ * Delete a file
+ *
+ * @param string $filename
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function rm($filename)
+ {
+ }
+ /**
+ * Rename or move a directory or a file
+ *
+ * @param string $src
+ * @param string $dest
+ * @return bool
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ public function mv($src, $dest)
+ {
+ }
+ /**
+ * Change mode of a directory or a file
+ *
+ * @param string $filename
+ * @param int $mode
+ * @return bool
+ */
+ public function chmod($filename, $mode)
+ {
+ }
+ /**
+ * @param null $grep ignored parameter
+ * @return array
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function ls($grep = null)
+ {
+ }
+ /**
+ * @param bool $new
+ * @return string
+ */
+ protected function _tmpFilename($new = false)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem\Filter {
+ /**
+ * Filters Iterator to exclude specified files
+ */
+ class ExcludeFilter extends \FilterIterator
+ {
+ /**
+ * Array that is used for filtering
+ *
+ * @var array
+ */
+ protected $_filters;
+ /**
+ * Constructor
+ *
+ * @param \Iterator $iterator
+ * @param array $filters list of files to skip
+ */
+ public function __construct(\Iterator $iterator, array $filters)
+ {
+ }
+ /**
+ * Check whether the current element of the iterator is acceptable
+ *
+ * @return bool
+ */
+ #[\ReturnTypeWillChange]
+ public function accept()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem {
+ /**
+ * A pool of stream wrappers.
+ *
+ * @api
+ */
+ interface DriverPoolInterface
+ {
+ /**
+ * Gets a driver instance by code
+ *
+ * @param string $code
+ * @return DriverInterface
+ */
+ public function getDriver($code) : \Magento\Framework\Filesystem\DriverInterface;
+ }
+}
+namespace Magento\Framework\Filesystem\Test\Unit\Directory {
+ /**
+ * Unit Test for \Magento\Framework\Filesystem\Directory\PathValidator
+ */
+ class PathValidatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * \Magento\Framework\Filesystem\Driver
+ *
+ * @var MockObject
+ */
+ protected $driver;
+ /**
+ * @var PathValidator
+ */
+ protected $pathValidator;
+ /**
+ * Set up
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Tear down
+ */
+ protected function tearDown() : void
+ {
+ }
+ /**
+ * @param string $directoryPath
+ * @param string $path
+ * @param string $scheme
+ * @param bool $absolutePath
+ * @param string $prefix
+ * @dataProvider validateDataProvider
+ */
+ public function testValidate($directoryPath, $path, $scheme, $absolutePath, $prefix)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function validateDataProvider()
+ {
+ }
+ }
+ /**
+ * Unit Test for \Magento\Framework\Filesystem\Directory\Write
+ */
+ class WriteTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * \Magento\Framework\Filesystem\Driver
+ *
+ * @var MockObject
+ */
+ protected $driver;
+ /**
+ * @var Write
+ */
+ protected $write;
+ /**
+ * \Magento\Framework\Filesystem\File\ReadFactory
+ *
+ * @var MockObject
+ */
+ protected $fileFactory;
+ /**
+ * @var string
+ */
+ protected $path;
+ /**
+ * Set up
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Tear down
+ */
+ protected function tearDown() : void
+ {
+ }
+ public function testGetDriver()
+ {
+ }
+ public function testCreate()
+ {
+ }
+ public function testIsWritable()
+ {
+ }
+ public function testCreateSymlinkTargetDirectoryExists()
+ {
+ }
+ public function testOpenFileNonWritable()
+ {
+ }
+ /**
+ * @param string $sourcePath
+ * @param string $targetPath
+ * @param WriteInterface $targetDir
+ * @dataProvider getFilePathsDataProvider
+ */
+ public function testRenameFile($sourcePath, $targetPath, $targetDir)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getFilePathsDataProvider()
+ {
+ }
+ }
+ class ReadTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * \Magento\Framework\Filesystem\Driver
+ *
+ * @var MockObject
+ */
+ protected $driver;
+ /**
+ * @var Read
+ */
+ protected $read;
+ /**
+ * \Magento\Framework\Filesystem\File\ReadFactory
+ *
+ * @var MockObject
+ */
+ protected $fileFactory;
+ /**
+ * Directory path
+ *
+ * @var string
+ */
+ protected $path;
+ /**
+ * Set up
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Tear down
+ */
+ protected function tearDown() : void
+ {
+ }
+ public function testIsExist()
+ {
+ }
+ public function testStat()
+ {
+ }
+ public function testReadFile()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem\Test\Unit\Io {
+ class FileTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * To cover the issue on GitHub: #27866
+ * @throws LocalizedException
+ */
+ public function testReadShouldCopyTheSourceFileToTheGivenFileResource()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem\Test\Unit {
+ class DirectoryListTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGetDefaultConfig()
+ {
+ }
+ /**
+ * @param array $config
+ * @param string $expectedError
+ * @dataProvider validateDataProvider
+ */
+ public function testValidate($config, $expectedError)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function validateDataProvider()
+ {
+ }
+ public function testGetters()
+ {
+ }
+ public function testUnknownType()
+ {
+ }
+ /**
+ * @param string $method
+ * @dataProvider assertCodeDataProvider
+ */
+ public function testAssertCode($method)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function assertCodeDataProvider()
+ {
+ }
+ /**
+ * @param array $config
+ * @param string|bool $expected
+ * @dataProvider getUrlPathDataProvider
+ */
+ public function testGetUrlPath($config, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getUrlPathDataProvider()
+ {
+ }
+ public function testFilterPath()
+ {
+ }
+ public function testPrependRoot()
+ {
+ }
+ /**
+ * @param string $value
+ * @dataProvider assertUrlPathDataProvider
+ */
+ public function testAssertUrlPath($value)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function assertUrlPathDataProvider()
+ {
+ }
+ }
+ class FileResolverTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var FileResolver
+ */
+ protected $model;
+ protected function setUp() : void
+ {
+ }
+ public function testGetFilePath()
+ {
+ }
+ }
+ class DriverPoolTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGetDriver()
+ {
+ }
+ public function testCustomDriver()
+ {
+ }
+ public function testCustomDriverException()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem\Test\Unit\Driver {
+ class FileTest extends \PHPUnit\Framework\TestCase
+ {
+ /** @var string Result of file_get_contents() function */
+ public static $fileGetContents;
+ /** @var bool Result of file_put_contents() function */
+ public static $filePutContents;
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test for getAbsolutePath method.
+ *
+ * @dataProvider dataProviderForTestGetAbsolutePath
+ * @param string $basePath
+ * @param string $path
+ * @param string $expected
+ */
+ public function testGetAbsolutePath(string $basePath, string $path, string $expected)
+ {
+ }
+ /**
+ * Data provider for testGetAbsolutePath.
+ *
+ * @return array
+ */
+ public function dataProviderForTestGetAbsolutePath() : array
+ {
+ }
+ /**
+ * Test for getRelativePath method.
+ *
+ * @dataProvider dataProviderForTestGetRelativePath
+ * @param string $basePath
+ * @param string $path
+ * @param string $expected
+ */
+ public function testGetRelativePath(string $basePath, string $path, string $expected)
+ {
+ }
+ /**
+ * Data provider for testGetRelativePath.
+ *
+ * @return array
+ */
+ public function dataProviderForTestGetRelativePath() : array
+ {
+ }
+ /**
+ * Test for getRealPathSafety method.
+ *
+ * @dataProvider dataProviderForTestGetRealPathSafety
+ * @param string $path
+ * @param string $expected
+ */
+ public function testGetRealPathSafety(string $path, string $expected)
+ {
+ }
+ /**
+ * Data provider for testGetRealPathSafety;
+ *
+ * @return array
+ */
+ public function dataProviderForTestGetRealPathSafety() : array
+ {
+ }
+ }
+ /**
+ * Verify HttpTest class.
+ */
+ class HttpTest extends \PHPUnit\Framework\TestCase
+ {
+ /** @var array Result of get_headers() function */
+ public static $headers;
+ /** @var string Result of file_get_contents() function */
+ public static $fileGetContents;
+ /** @var bool Result of file_put_contents() function */
+ public static $filePutContents;
+ /** @var bool Result of fsockopen() function */
+ public static $fsockopen;
+ /**
+ * @inheritDoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Verify IsExists.
+ *
+ * @param string $status
+ * @param bool $result
+ * @dataProvider dataProviderForTestIsExists
+ * @return void
+ */
+ public function testIsExists(string $status, bool $result) : void
+ {
+ }
+ /**
+ * Data provider fot test IsExists.
+ *
+ * @return array
+ */
+ public function dataProviderForTestIsExists() : array
+ {
+ }
+ /**
+ * Verify Stat.
+ *
+ * @param array $headers
+ * @param array $result
+ * @dataProvider dataProviderForTestStat
+ * @return void
+ */
+ public function testStat(array $headers, array $result) : void
+ {
+ }
+ /**
+ * Data provider for test Stat.
+ *
+ * @return array
+ */
+ public function dataProviderForTestStat() : array
+ {
+ }
+ /**
+ * Form a result array similar to what stat() produces
+ *
+ * @param array $nonEmptyValues
+ * @return array
+ */
+ protected function _resultForStat($nonEmptyValues = [])
+ {
+ }
+ /**
+ * Verify File get contents.
+ *
+ * @throws FileSystemException
+ * @return void
+ */
+ public function testFileGetContents() : void
+ {
+ }
+ /**
+ * Verify File get contents without content.
+ *
+ * @throws FileSystemException
+ * @return void
+ */
+ public function testFileGetContentsNoContent() : void
+ {
+ }
+ /**
+ * Verify File put contents.
+ *
+ * @throws FileSystemException
+ * @return void
+ */
+ public function testFilePutContents() : void
+ {
+ }
+ /**
+ * Verify file put contents without content.
+ *
+ * @throws FileSystemException
+ * @return void
+ */
+ public function testFilePutContentsNoContent() : void
+ {
+ }
+ /**
+ * Verify File put contents if is fail.
+ *
+ * @return void
+ */
+ public function testFilePutContentsFail() : void
+ {
+ }
+ /**
+ * Verify File open invalid url.
+ *
+ * @return void
+ */
+ public function testFileOpenInvalidUrl() : void
+ {
+ }
+ /**
+ * Verify File open.
+ *
+ * @throws FileSystemException
+ * @return void
+ */
+ public function testFileOpen() : void
+ {
+ }
+ }
+ class HttpsTest extends \PHPUnit\Framework\TestCase
+ {
+ public static $fSockOpen;
+ protected function setUp() : void
+ {
+ }
+ public function testFileOpen()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem\Test\Unit\Driver\File {
+ /**
+ * @see Mime
+ */
+ class MimeTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritDoc
+ */
+ protected function setUp() : void
+ {
+ }
+ public function testGetMimeTypeNonexistentFileException() : void
+ {
+ }
+ /**
+ * @param string $file
+ * @param string $expectedType
+ * @throws FileSystemException
+ *
+ * @dataProvider getMimeTypeDataProvider
+ */
+ public function testGetMimeType(string $file, string $expectedType) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getMimeTypeDataProvider() : array
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem\Test\Unit\File {
+ class WriteTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Write
+ */
+ protected $file;
+ /**
+ * @var string
+ */
+ protected $path = 'path';
+ /**
+ * @var resource
+ */
+ protected $resource;
+ /**
+ * @var string
+ */
+ protected $mode = 'w';
+ /**
+ * @var DriverInterface|MockObject
+ */
+ protected $driver;
+ protected function setUp() : void
+ {
+ }
+ protected function tearDown() : void
+ {
+ }
+ public function testInstanceFileNotExists()
+ {
+ }
+ public function testInstanceFileAlreadyExists()
+ {
+ }
+ public function testWrite()
+ {
+ }
+ public function testWriteCsv()
+ {
+ }
+ public function testFlush()
+ {
+ }
+ public function testWriteException()
+ {
+ }
+ public function testWriteCsvException()
+ {
+ }
+ public function testFlushException()
+ {
+ }
+ public function testLock()
+ {
+ }
+ public function testUnlock()
+ {
+ }
+ }
+ class ReadTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Read
+ */
+ protected $file;
+ /**
+ * @var string
+ */
+ protected $path = 'path';
+ /**
+ * @var resource
+ */
+ protected $resource;
+ /**
+ * @var string
+ */
+ protected $mode = 'r';
+ /**
+ * @var DriverInterface|MockObject
+ */
+ protected $driver;
+ protected function setUp() : void
+ {
+ }
+ protected function tearDown() : void
+ {
+ }
+ public function testInstanceFileNotExists()
+ {
+ }
+ public function testRead()
+ {
+ }
+ public function testReadAll()
+ {
+ }
+ public function testReadLine()
+ {
+ }
+ public function testReadCsv()
+ {
+ }
+ public function testTell()
+ {
+ }
+ public function testEof()
+ {
+ }
+ public function testClose()
+ {
+ }
+ public function testStat()
+ {
+ }
+ public function testSeek()
+ {
+ }
+ }
+ class ExcludeFilterTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var \Iterator
+ */
+ protected $iterator;
+ protected function setUp() : void
+ {
+ }
+ public function testExclusion()
+ {
+ }
+ }
+ class ReadFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testCreate()
+ {
+ }
+ public function testCreateWithDriverCode()
+ {
+ }
+ }
+ class WriteFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testCreate()
+ {
+ }
+ public function testCreateWithDriverCode()
+ {
+ }
+ public function testCreateWithMode()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem {
+ /**
+ * Contains logic for finding class filepaths based on include_path configuration.
+ */
+ class FileResolver
+ {
+ /**
+ * Find a file in include path. Include path is set in composer.json or with set_include_path()
+ *
+ * @param string $class
+ * @return string|bool
+ */
+ public function getFile($class)
+ {
+ }
+ /**
+ * Get relative file path for specified class
+ *
+ * @param string $class
+ * @return string
+ */
+ public function getFilePath($class)
+ {
+ }
+ /**
+ * Add specified path(s) to the current include_path
+ *
+ * @param string|array $path
+ * @param bool $prepend Whether to prepend paths or to append them
+ * @return void
+ */
+ public static function addIncludePath($path, $prepend = true)
+ {
+ }
+ }
+ /**
+ * Class Driver
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface DriverInterface
+ {
+ /**
+ * Permissions to give read/write/execute access to owner and owning group, but not to all users
+ *
+ * @deprecated
+ */
+ const WRITEABLE_DIRECTORY_MODE = 0770;
+ /**
+ * Permissions to give read/write access to owner and owning group, but not to all users
+ *
+ * @deprecated
+ */
+ const WRITEABLE_FILE_MODE = 0660;
+ /**
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isExists($path);
+ /**
+ * Gathers the statistics of the given path
+ *
+ * @param string $path
+ * @return array
+ * @throws FileSystemException
+ */
+ public function stat($path);
+ /**
+ * Check permissions for reading file or directory
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isReadable($path);
+ /**
+ * Tells whether the filename is a regular file
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isFile($path);
+ /**
+ * Tells whether the filename is a regular directory
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isDirectory($path);
+ /**
+ * Retrieve file contents from given path
+ *
+ * @param string $path
+ * @param string|null $flag
+ * @param resource|null $context
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileGetContents($path, $flag = null, $context = null);
+ /**
+ * Check if given path is writable
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isWritable($path);
+ /**
+ * Returns parent directory's path
+ *
+ * @param string $path
+ * @return string
+ */
+ public function getParentDirectory($path);
+ /**
+ * Create directory
+ *
+ * @param string $path
+ * @param int $permissions
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function createDirectory($path, $permissions = 0777);
+ /**
+ * Read directory
+ *
+ * @param string $path
+ * @return array
+ * @throws FileSystemException
+ */
+ public function readDirectory($path);
+ /**
+ * Read directory recursively
+ *
+ * @param string|null $path
+ * @return array
+ * @throws FileSystemException
+ */
+ public function readDirectoryRecursively($path = null);
+ /**
+ * Search paths by given regex
+ *
+ * @param string $pattern
+ * @param string $path
+ * @return array
+ * @throws FileSystemException
+ */
+ public function search($pattern, $path);
+ /**
+ * Renames a file or directory
+ *
+ * @param string $oldPath
+ * @param string $newPath
+ * @param DriverInterface|null $targetDriver
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function rename($oldPath, $newPath, \Magento\Framework\Filesystem\DriverInterface $targetDriver = null);
+ /**
+ * Copy source into destination
+ *
+ * @param string $source
+ * @param string $destination
+ * @param DriverInterface|null $targetDriver
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function copy($source, $destination, \Magento\Framework\Filesystem\DriverInterface $targetDriver = null);
+ /**
+ * Create symlink on source and place it into destination
+ *
+ * @param string $source
+ * @param string $destination
+ * @param DriverInterface|null $targetDriver
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function symlink($source, $destination, \Magento\Framework\Filesystem\DriverInterface $targetDriver = null);
+ /**
+ * Delete file
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function deleteFile($path);
+ /**
+ * Delete directory
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function deleteDirectory($path);
+ /**
+ * Change permissions of given path
+ *
+ * @param string $path
+ * @param int $permissions
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function changePermissions($path, $permissions);
+ /**
+ * Recursively hange permissions of given path
+ *
+ * @param string $path
+ * @param int $dirPermissions
+ * @param int $filePermissions
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function changePermissionsRecursively($path, $dirPermissions, $filePermissions);
+ /**
+ * Sets access and modification time of file.
+ *
+ * @param string $path
+ * @param int|null $modificationTime
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function touch($path, $modificationTime = null);
+ /**
+ * Put contents into given file
+ *
+ * @param string $path
+ * @param string $content
+ * @param string|null $mode
+ * @return int The number of bytes that were written.
+ * @throws FileSystemException
+ */
+ public function filePutContents($path, $content, $mode = null);
+ /**
+ * Open file
+ *
+ * @param string $path
+ * @param string $mode
+ * @return resource
+ * @throws FileSystemException
+ */
+ public function fileOpen($path, $mode);
+ /**
+ * Reads the line content from file pointer (with specified number of bytes from the current position).
+ *
+ * @param resource $resource
+ * @param int $length
+ * @param string $ending [optional]
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileReadLine($resource, $length, $ending = null);
+ /**
+ * Reads the specified number of bytes from the current position.
+ *
+ * @param resource $resource
+ * @param int $length
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileRead($resource, $length);
+ /**
+ * Reads one CSV row from the file
+ *
+ * @param resource $resource
+ * @param int $length [optional]
+ * @param string $delimiter [optional]
+ * @param string $enclosure [optional]
+ * @param string $escape [optional]
+ * @return array|bool|null
+ * @throws FileSystemException
+ */
+ public function fileGetCsv($resource, $length = 0, $delimiter = ',', $enclosure = '"', $escape = "\x00");
+ /**
+ * Returns position of read/write pointer
+ *
+ * @param resource $resource
+ * @return int
+ * @throws FileSystemException
+ */
+ public function fileTell($resource);
+ /**
+ * Seeks to the specified offset
+ *
+ * @param resource $resource
+ * @param int $offset
+ * @param int $whence
+ * @return int
+ * @throws FileSystemException
+ */
+ public function fileSeek($resource, $offset, $whence = SEEK_SET);
+ /**
+ * Returns true if pointer at the end of file or in case of exception
+ *
+ * @param resource $resource
+ * @return boolean
+ */
+ public function endOfFile($resource);
+ /**
+ * Close file
+ *
+ * @param resource $resource
+ * @return boolean
+ * @throws FileSystemException
+ */
+ public function fileClose($resource);
+ /**
+ * Writes data to file
+ *
+ * @param resource $resource
+ * @param string $data
+ * @return int
+ * @throws FileSystemException
+ */
+ public function fileWrite($resource, $data);
+ /**
+ * Writes one CSV row to the file.
+ *
+ * @param resource $resource
+ * @param array $data
+ * @param string $delimiter
+ * @param string $enclosure
+ * @return int
+ * @throws FileSystemException
+ */
+ public function filePutCsv($resource, array $data, $delimiter = ',', $enclosure = '"');
+ /**
+ * Flushes the output
+ *
+ * @param resource $resource
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileFlush($resource);
+ /**
+ * Lock file in selected mode
+ *
+ * @param resource $resource
+ * @param int $lockMode
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileLock($resource, $lockMode = LOCK_EX);
+ /**
+ * Unlock file
+ *
+ * @param resource $resource
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileUnlock($resource);
+ /**
+ * @param string $basePath
+ * @param string $path
+ * @param string|null $scheme
+ * @return mixed
+ */
+ public function getAbsolutePath($basePath, $path, $scheme = null);
+ /**
+ * @param string $path
+ * @return mixed
+ */
+ public function getRealPath($path);
+ /**
+ * Return correct path for link
+ *
+ * @param string $path
+ * @return mixed
+ */
+ public function getRealPathSafety($path);
+ /**
+ * @param string $basePath
+ * @param null $path
+ * @return mixed
+ */
+ public function getRelativePath($basePath, $path = null);
+ }
+ /**
+ * Provides extension for Driver interface.
+ *
+ * @see DriverInterface
+ *
+ * @deprecated Method will be moved to DriverInterface
+ * @see DriverInterface
+ */
+ interface ExtendedDriverInterface extends \Magento\Framework\Filesystem\DriverInterface
+ {
+ /**
+ * Retrieve file metadata.
+ *
+ * Implementation must return associative array with next keys:
+ *
+ * ```
+ * [
+ * 'path',
+ * 'dirname',
+ * 'basename',
+ * 'extension',
+ * 'filename',
+ * 'timestamp',
+ * 'size',
+ * 'mimetype',
+ * 'extra' => [
+ * 'image-width',
+ * 'image-height'
+ * ]
+ * ];
+ *
+ * @param string $path Absolute path to file
+ * @return array
+ * @throws FileSystemException
+ *
+ * @deprecated Method will be moved to DriverInterface
+ */
+ public function getMetadata(string $path) : array;
+ }
+}
+namespace Magento\Framework\Filesystem\Driver {
+ /**
+ * Origin filesystem driver. Filesystem driver that uses the local filesystem.
+ *
+ * Assumed that stat cache is cleanup by data modification methods
+ *
+ * @deprecated moved most of the functionality back to File
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ */
+ class StatefulFile implements \Magento\Framework\Filesystem\DriverInterface
+ {
+ /**
+ * @var string
+ */
+ protected $scheme = '';
+ /**
+ * StatefulFile constructor.
+ * @param File $driverFile
+ */
+ public function __construct(\Magento\Framework\Filesystem\Driver\File $driverFile = null)
+ {
+ }
+ /**
+ * Returns last warning message string
+ *
+ * @return string
+ */
+ protected function getWarningMessage()
+ {
+ }
+ /**
+ * Is file or directory exist in file system
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isExists($path)
+ {
+ }
+ /**
+ * Gathers the statistics of the given path
+ *
+ * @param string $path
+ * @return array
+ * @throws FileSystemException
+ */
+ public function stat($path)
+ {
+ }
+ /**
+ * Check permissions for reading file or directory
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isReadable($path)
+ {
+ }
+ /**
+ * Tells whether the filename is a regular file
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isFile($path)
+ {
+ }
+ /**
+ * Tells whether the filename is a regular directory
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isDirectory($path)
+ {
+ }
+ /**
+ * Retrieve file contents from given path
+ *
+ * @param string $path
+ * @param string|null $flag
+ * @param resource|null $context
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileGetContents($path, $flag = null, $context = null)
+ {
+ }
+ /**
+ * Check if given path is writable
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isWritable($path)
+ {
+ }
+ /**
+ * Returns parent directory's path
+ *
+ * @param string $path
+ * @return string
+ */
+ public function getParentDirectory($path)
+ {
+ }
+ /**
+ * Create directory
+ *
+ * @param string $path
+ * @param int $permissions
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function createDirectory($path, $permissions = 0777)
+ {
+ }
+ /**
+ * Read directory
+ *
+ * @param string $path
+ * @return string[]
+ * @throws FileSystemException
+ */
+ public function readDirectory($path)
+ {
+ }
+ /**
+ * Search paths by given regex
+ *
+ * @param string $pattern
+ * @param string $path
+ * @return string[]
+ * @throws FileSystemException
+ */
+ public function search($pattern, $path)
+ {
+ }
+ /**
+ * Renames a file or directory
+ *
+ * @param string $oldPath
+ * @param string $newPath
+ * @param DriverInterface|null $targetDriver
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function rename($oldPath, $newPath, \Magento\Framework\Filesystem\DriverInterface $targetDriver = null)
+ {
+ }
+ /**
+ * Copy source into destination
+ *
+ * @param string $source
+ * @param string $destination
+ * @param DriverInterface|null $targetDriver
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function copy($source, $destination, \Magento\Framework\Filesystem\DriverInterface $targetDriver = null)
+ {
+ }
+ /**
+ * Create symlink on source and place it into destination
+ *
+ * @param string $source
+ * @param string $destination
+ * @param DriverInterface|null $targetDriver
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function symlink($source, $destination, \Magento\Framework\Filesystem\DriverInterface $targetDriver = null)
+ {
+ }
+ /**
+ * Delete file
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function deleteFile($path)
+ {
+ }
+ /**
+ * Recursive delete directory
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function deleteDirectory($path)
+ {
+ }
+ /**
+ * Change permissions of given path
+ *
+ * @param string $path
+ * @param int $permissions
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function changePermissions($path, $permissions)
+ {
+ }
+ /**
+ * Recursively change permissions of given path
+ *
+ * @param string $path
+ * @param int $dirPermissions
+ * @param int $filePermissions
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function changePermissionsRecursively($path, $dirPermissions, $filePermissions)
+ {
+ }
+ /**
+ * Sets access and modification time of file.
+ *
+ * @param string $path
+ * @param int|null $modificationTime
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function touch($path, $modificationTime = null)
+ {
+ }
+ /**
+ * Write contents to file in given path
+ *
+ * @param string $path
+ * @param string $content
+ * @param string|null $mode
+ * @return int The number of bytes that were written.
+ * @throws FileSystemException
+ */
+ public function filePutContents($path, $content, $mode = null)
+ {
+ }
+ /**
+ * Open file
+ *
+ * @param string $path
+ * @param string $mode
+ * @return resource file
+ * @throws FileSystemException
+ */
+ public function fileOpen($path, $mode)
+ {
+ }
+ /**
+ * Reads the line content from file pointer (with specified number of bytes from the current position).
+ *
+ * @param resource $resource
+ * @param int $length
+ * @param string $ending [optional]
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileReadLine($resource, $length, $ending = null)
+ {
+ }
+ /**
+ * Reads the specified number of bytes from the current position.
+ *
+ * @param resource $resource
+ * @param int $length
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileRead($resource, $length)
+ {
+ }
+ /**
+ * Reads one CSV row from the file
+ *
+ * @param resource $resource
+ * @param int $length [optional]
+ * @param string $delimiter [optional]
+ * @param string $enclosure [optional]
+ * @param string $escape [optional]
+ * @return array|bool|null
+ * @throws FileSystemException
+ */
+ public function fileGetCsv($resource, $length = 0, $delimiter = ',', $enclosure = '"', $escape = "\x00")
+ {
+ }
+ /**
+ * Returns position of read/write pointer
+ *
+ * @param resource $resource
+ * @return int
+ * @throws FileSystemException
+ */
+ public function fileTell($resource)
+ {
+ }
+ /**
+ * Seeks to the specified offset
+ *
+ * @param resource $resource
+ * @param int $offset
+ * @param int $whence
+ * @return int
+ * @throws FileSystemException
+ */
+ public function fileSeek($resource, $offset, $whence = SEEK_SET)
+ {
+ }
+ /**
+ * Returns true if pointer at the end of file or in case of exception
+ *
+ * @param resource $resource
+ * @return bool
+ */
+ public function endOfFile($resource)
+ {
+ }
+ /**
+ * Close file
+ *
+ * @param resource $resource
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileClose($resource)
+ {
+ }
+ /**
+ * Writes data to file
+ *
+ * @param resource $resource
+ * @param string $data
+ * @return int
+ * @throws FileSystemException
+ */
+ public function fileWrite($resource, $data)
+ {
+ }
+ /**
+ * Writes one CSV row to the file.
+ *
+ * @param resource $resource
+ * @param array $data
+ * @param string $delimiter
+ * @param string $enclosure
+ * @return int
+ * @throws FileSystemException
+ */
+ public function filePutCsv($resource, array $data, $delimiter = ',', $enclosure = '"')
+ {
+ }
+ /**
+ * Flushes the output
+ *
+ * @param resource $resource
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileFlush($resource)
+ {
+ }
+ /**
+ * Lock file in selected mode
+ *
+ * @param resource $resource
+ * @param int $lockMode
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileLock($resource, $lockMode = LOCK_EX)
+ {
+ }
+ /**
+ * Unlock file
+ *
+ * @param resource $resource
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileUnlock($resource)
+ {
+ }
+ /**
+ * Returns an absolute path for the given one.
+ *
+ * @param string $basePath
+ * @param string $path
+ * @param string|null $scheme
+ * @return string
+ */
+ public function getAbsolutePath($basePath, $path, $scheme = null)
+ {
+ }
+ /**
+ * Retrieves relative path
+ *
+ * @param string $basePath
+ * @param string $path
+ * @return string
+ */
+ public function getRelativePath($basePath, $path = null)
+ {
+ }
+ /**
+ * Fixes path separator.
+ *
+ * Utility method.
+ *
+ * @param string $path
+ * @return string
+ */
+ protected function fixSeparator($path)
+ {
+ }
+ /**
+ * Return path with scheme
+ *
+ * @param null|string $scheme
+ * @return string
+ */
+ protected function getScheme($scheme = null)
+ {
+ }
+ /**
+ * Read directory recursively
+ *
+ * @param string $path
+ * @return string[]
+ * @throws FileSystemException
+ */
+ public function readDirectoryRecursively($path = null)
+ {
+ }
+ /**
+ * Get real path
+ *
+ * @param string $path
+ *
+ * @return string|bool
+ */
+ public function getRealPath($path)
+ {
+ }
+ /**
+ * Return correct path for link
+ *
+ * @param string $path
+ * @return mixed
+ */
+ public function getRealPathSafety($path)
+ {
+ }
+ }
+ /**
+ * Filesystem driver that uses the local filesystem.
+ *
+ * Assumed that stat cache is cleanup before test filesystem
+ *
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ */
+ class File implements \Magento\Framework\Filesystem\DriverInterface
+ {
+ /**
+ * @var string
+ */
+ protected $scheme = '';
+ /**
+ * File constructor.
+ * @param bool $stateful
+ */
+ public function __construct(bool $stateful = false)
+ {
+ }
+ /**
+ * Returns last warning message string
+ *
+ * @return string
+ */
+ protected function getWarningMessage()
+ {
+ }
+ /**
+ * Is file or directory exist in file system
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isExists($path)
+ {
+ }
+ /**
+ * Gathers the statistics of the given path
+ *
+ * @param string $path
+ * @return array
+ * @throws FileSystemException
+ */
+ public function stat($path)
+ {
+ }
+ /**
+ * Check permissions for reading file or directory
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isReadable($path)
+ {
+ }
+ /**
+ * Tells whether the filename is a regular file
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isFile($path)
+ {
+ }
+ /**
+ * Tells whether the filename is a regular directory
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isDirectory($path)
+ {
+ }
+ /**
+ * Retrieve file contents from given path
+ *
+ * @param string $path
+ * @param string|null $flag
+ * @param resource|null $context
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileGetContents($path, $flag = null, $context = null)
+ {
+ }
+ /**
+ * Check if given path is writable
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function isWritable($path)
+ {
+ }
+ /**
+ * Returns parent directory's path
+ *
+ * @param string $path
+ * @return string
+ */
+ public function getParentDirectory($path)
+ {
+ }
+ /**
+ * Create directory
+ *
+ * @param string $path
+ * @param int $permissions
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function createDirectory($path, $permissions = 0777)
+ {
+ }
+ /**
+ * Read directory
+ *
+ * @param string $path
+ * @return string[]
+ * @throws FileSystemException
+ */
+ public function readDirectory($path)
+ {
+ }
+ /**
+ * Search paths by given regex
+ *
+ * @param string $pattern
+ * @param string $path
+ * @return string[]
+ * @throws FileSystemException
+ */
+ public function search($pattern, $path)
+ {
+ }
+ /**
+ * Renames a file or directory
+ *
+ * @param string $oldPath
+ * @param string $newPath
+ * @param DriverInterface|null $targetDriver
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function rename($oldPath, $newPath, \Magento\Framework\Filesystem\DriverInterface $targetDriver = null)
+ {
+ }
+ /**
+ * Copy source into destination
+ *
+ * @param string $source
+ * @param string $destination
+ * @param DriverInterface|null $targetDriver
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function copy($source, $destination, \Magento\Framework\Filesystem\DriverInterface $targetDriver = null)
+ {
+ }
+ /**
+ * Create symlink on source and place it into destination
+ *
+ * @param string $source
+ * @param string $destination
+ * @param DriverInterface|null $targetDriver
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function symlink($source, $destination, \Magento\Framework\Filesystem\DriverInterface $targetDriver = null)
+ {
+ }
+ /**
+ * Delete file
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function deleteFile($path)
+ {
+ }
+ /**
+ * Recursive delete directory
+ *
+ * @param string $path
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function deleteDirectory($path)
+ {
+ }
+ /**
+ * Change permissions of given path
+ *
+ * @param string $path
+ * @param int $permissions
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function changePermissions($path, $permissions)
+ {
+ }
+ /**
+ * Recursively change permissions of given path
+ *
+ * @param string $path
+ * @param int $dirPermissions
+ * @param int $filePermissions
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function changePermissionsRecursively($path, $dirPermissions, $filePermissions)
+ {
+ }
+ /**
+ * Sets access and modification time of file.
+ *
+ * @param string $path
+ * @param int|null $modificationTime
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function touch($path, $modificationTime = null)
+ {
+ }
+ /**
+ * Write contents to file in given path
+ *
+ * @param string $path
+ * @param string $content
+ * @param string|null $mode
+ * @return int The number of bytes that were written.
+ * @throws FileSystemException
+ */
+ public function filePutContents($path, $content, $mode = null)
+ {
+ }
+ /**
+ * Open file
+ *
+ * @param string $path
+ * @param string $mode
+ * @return resource file
+ * @throws FileSystemException
+ */
+ public function fileOpen($path, $mode)
+ {
+ }
+ /**
+ * Reads the line content from file pointer (with specified number of bytes from the current position).
+ *
+ * @param resource $resource
+ * @param int $length
+ * @param string $ending [optional]
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileReadLine($resource, $length, $ending = null)
+ {
+ }
+ /**
+ * Reads the specified number of bytes from the current position.
+ *
+ * @param resource $resource
+ * @param int $length
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileRead($resource, $length)
+ {
+ }
+ /**
+ * Reads one CSV row from the file
+ *
+ * @param resource $resource
+ * @param int $length [optional]
+ * @param string $delimiter [optional]
+ * @param string $enclosure [optional]
+ * @param string $escape [optional]
+ * @return array|bool|null
+ * @throws FileSystemException
+ */
+ public function fileGetCsv($resource, $length = 0, $delimiter = ',', $enclosure = '"', $escape = "\x00")
+ {
+ }
+ /**
+ * Returns position of read/write pointer
+ *
+ * @param resource $resource
+ * @return int
+ * @throws FileSystemException
+ */
+ public function fileTell($resource)
+ {
+ }
+ /**
+ * Seeks to the specified offset
+ *
+ * @param resource $resource
+ * @param int $offset
+ * @param int $whence
+ * @return int
+ * @throws FileSystemException
+ */
+ public function fileSeek($resource, $offset, $whence = SEEK_SET)
+ {
+ }
+ /**
+ * Returns true if pointer at the end of file or in case of exception
+ *
+ * @param resource $resource
+ * @return bool
+ */
+ public function endOfFile($resource)
+ {
+ }
+ /**
+ * Close file
+ *
+ * @param resource $resource
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileClose($resource)
+ {
+ }
+ /**
+ * Writes data to file
+ *
+ * @param resource $resource
+ * @param string $data
+ * @return int
+ * @throws FileSystemException
+ */
+ public function fileWrite($resource, $data)
+ {
+ }
+ /**
+ * Writes one CSV row to the file.
+ *
+ * @param resource $resource
+ * @param array $data
+ * @param string $delimiter
+ * @param string $enclosure
+ * @return int
+ * @throws FileSystemException
+ */
+ public function filePutCsv($resource, array $data, $delimiter = ',', $enclosure = '"')
+ {
+ }
+ /**
+ * Flushes the output
+ *
+ * @param resource $resource
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileFlush($resource)
+ {
+ }
+ /**
+ * Lock file in selected mode
+ *
+ * @param resource $resource
+ * @param int $lockMode
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileLock($resource, $lockMode = LOCK_EX)
+ {
+ }
+ /**
+ * Unlock file
+ *
+ * @param resource $resource
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function fileUnlock($resource)
+ {
+ }
+ /**
+ * Returns an absolute path for the given one.
+ *
+ * @param string $basePath
+ * @param string $path
+ * @param string|null $scheme
+ * @return string
+ */
+ public function getAbsolutePath($basePath, $path, $scheme = null)
+ {
+ }
+ /**
+ * Retrieves relative path
+ *
+ * @param string $basePath
+ * @param string $path
+ * @return string
+ */
+ public function getRelativePath($basePath, $path = null)
+ {
+ }
+ /**
+ * Fixes path separator.
+ *
+ * Utility method.
+ *
+ * @param string $path
+ * @return string
+ */
+ protected function fixSeparator($path)
+ {
+ }
+ /**
+ * Return path with scheme
+ *
+ * @param null|string $scheme
+ * @return string
+ */
+ protected function getScheme($scheme = null)
+ {
+ }
+ /**
+ * Read directory recursively
+ *
+ * @param string $path
+ * @return string[]
+ * @throws FileSystemException
+ */
+ public function readDirectoryRecursively($path = null)
+ {
+ }
+ /**
+ * Get real path
+ *
+ * @param string $path
+ *
+ * @return string|bool
+ */
+ public function getRealPath($path)
+ {
+ }
+ /**
+ * Return correct path for link
+ *
+ * @param string $path
+ * @return mixed
+ */
+ public function getRealPathSafety($path)
+ {
+ }
+ }
+ class Zlib extends \Magento\Framework\Filesystem\Driver\File
+ {
+ /**
+ * @var string
+ */
+ protected $scheme = 'compress.zlib';
+ }
+ /**
+ * Origin filesystem driver. Allows interacting with http endpoint like with FileSystem
+ */
+ class Http extends \Magento\Framework\Filesystem\Driver\File
+ {
+ /**
+ * Scheme distinguisher
+ *
+ * @var string
+ */
+ protected $scheme = 'http';
+ /**
+ * Checks if path exists
+ *
+ * @param string $path
+ * @return bool
+ */
+ public function isExists($path)
+ {
+ }
+ /**
+ * Gathers the statistics of the given path
+ *
+ * @param string $path
+ * @return array
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function stat($path)
+ {
+ }
+ /**
+ * Retrieve file contents from given path
+ *
+ * @param string $path
+ * @param string|null $flags
+ * @param resource|null $context
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileGetContents($path, $flags = null, $context = null)
+ {
+ }
+ /**
+ * Open file in given path
+ *
+ * @param string $path
+ * @param string $content
+ * @param string|null $mode
+ * @param resource|null $context
+ * @return int The number of bytes that were written
+ * @throws FileSystemException
+ */
+ public function filePutContents($path, $content, $mode = null, $context = null)
+ {
+ }
+ /**
+ * Open file
+ *
+ * @param string $path
+ * @param string $mode
+ * @return resource file
+ * @throws FileSystemException
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function fileOpen($path, $mode)
+ {
+ }
+ /**
+ * Reads the line content from file pointer (with specified number of bytes from the current position).
+ *
+ * @param resource $resource
+ * @param int $length
+ * @param string $ending [optional]
+ * @return string
+ * @throws FileSystemException
+ */
+ public function fileReadLine($resource, $length, $ending = null)
+ {
+ }
+ /**
+ * Get absolute path
+ *
+ * @param string $basePath
+ * @param string $path
+ * @param string|null $scheme
+ * @return string
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function getAbsolutePath($basePath, $path, $scheme = null)
+ {
+ }
+ /**
+ * Return path with scheme
+ *
+ * @param null|string $scheme
+ * @return string
+ */
+ protected function getScheme($scheme = null)
+ {
+ }
+ /**
+ * Open a url
+ *
+ * @param string $hostname
+ * @param int $port
+ * @throws \Magento\Framework\Exception\FileSystemException
+ * @return resource|bool
+ */
+ protected function open($hostname, $port)
+ {
+ }
+ /**
+ * Parse a http url
+ *
+ * @param string $path
+ * @return array
+ */
+ protected function parseUrl($path)
+ {
+ }
+ }
+ /**
+ * Class Https
+ *
+ */
+ class Https extends \Magento\Framework\Filesystem\Driver\Http
+ {
+ /**
+ * Scheme distinguisher
+ *
+ * @var string
+ */
+ protected $scheme = 'https';
+ /**
+ * Parse a https url
+ *
+ * @param string $path
+ * @return array
+ */
+ protected function parseUrl($path)
+ {
+ }
+ /**
+ * Open a https url
+ *
+ * @param string $hostname
+ * @param int $port
+ * @return array
+ */
+ protected function open($hostname, $port)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem\Driver\File {
+ /**
+ * Mime type resolver.
+ */
+ class Mime
+ {
+ /**
+ * Get mime type of a file
+ *
+ * @param string $path Absolute file path
+ * @return string
+ * @throws FileSystemException
+ */
+ public function getMimeType(string $path) : string
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem {
+ /**
+ * Application file system directories dictionary.
+ *
+ * Provides information about what directories are available in the application.
+ * Serves as a customization point to specify different directories or add your own.
+ *
+ * A list of directories
+ *
+ * Each list item consists of:
+ * - a directory path in the filesystem
+ * - optionally, a URL path
+ *
+ * This object is intended to be immutable (a "value object").
+ * The defaults are pre-defined and can be modified only by inheritors of this class.
+ * Through the constructor, it is possible to inject custom paths or URL paths, but impossible to inject new types.
+ *
+ * @api
+ */
+ class DirectoryList
+ {
+ /**#@+
+ * Keys of directory configuration
+ */
+ public const PATH = 'path';
+ public const URL_PATH = 'uri';
+ /**#@- */
+ /**
+ * System base temporary directory
+ */
+ public const SYS_TMP = 'sys_tmp';
+ /**
+ * Predefined types/paths
+ *
+ * @return array
+ */
+ public static function getDefaultConfig()
+ {
+ }
+ /**
+ * Validates format and contents of given configuration
+ *
+ * @param array $config
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ public static function validate($config)
+ {
+ }
+ /**
+ * Constructor
+ *
+ * @param string $root
+ * @param array $config
+ */
+ public function __construct($root, array $config = [])
+ {
+ }
+ /**
+ * Concatenates root directory path with a relative path
+ *
+ * @param string $path
+ * @return string
+ */
+ protected function prependRoot($path)
+ {
+ }
+ /**
+ * Determine if a path is absolute
+ *
+ * @param string $path
+ * @return bool
+ */
+ protected function isAbsolute($path)
+ {
+ }
+ /**
+ * Gets a filesystem path of the root directory
+ *
+ * @return string
+ */
+ public function getRoot()
+ {
+ }
+ /**
+ * Gets a filesystem path of a directory
+ *
+ * @param string $code
+ * @return string
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function getPath($code)
+ {
+ }
+ /**
+ * Gets URL path of a directory
+ *
+ * @param string $code
+ * @return string|bool
+ */
+ public function getUrlPath($code)
+ {
+ }
+ /**
+ * Disable show ObjectManager internals with var_dump
+ *
+ * @see https://www.php.net/manual/en/language.oop5.magic.php#object.debuginfo
+ * @return array
+ */
+ public function __debugInfo()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filesystem\File {
+ /**
+ * Interface \Magento\Framework\Filesystem\File\ReadInterface
+ *
+ * @api
+ */
+ interface ReadInterface
+ {
+ /**
+ * Reads the specified number of bytes from the current position.
+ *
+ * @param int $length The number of bytes to read
+ * @return string
+ */
+ public function read($length);
+ /**
+ * Returns the complete content of the file.
+ *
+ * @param string|null $flag
+ * @param resource|null $context
+ * @return string
+ */
+ public function readAll($flag = null, $context = null);
+ /**
+ * Reads the line with specified number of bytes from the current position.
+ *
+ * @param int $length The number of bytes to read
+ * @param string $ending [optional]
+ * @return string
+ */
+ public function readLine($length, $ending = null);
+ /**
+ * Reads one CSV row from the file
+ *
+ * @param int $length [optional]
+ * @param string $delimiter [optional]
+ * @param string $enclosure [optional]
+ * @param string $escape [optional]
+ * @return array|bool false on end of file
+ */
+ public function readCsv($length = 0, $delimiter = ',', $enclosure = '"', $escape = "\x00");
+ /**
+ * Returns the current position
+ *
+ * @return int
+ */
+ public function tell();
+ /**
+ * Seeks to the specified offset
+ *
+ * @param int $length
+ * @param int $whence
+ * @return int
+ */
+ public function seek($length, $whence = SEEK_SET);
+ /**
+ * Checks if the current position is the end-of-file
+ *
+ * @return bool
+ */
+ public function eof();
+ /**
+ * Closes the file.
+ *
+ * @return bool
+ */
+ public function close();
+ /**
+ * Get file properties.
+ *
+ * @return array
+ */
+ public function stat();
+ }
+ class Read implements \Magento\Framework\Filesystem\File\ReadInterface
+ {
+ /**
+ * Full path to file
+ *
+ * @var string
+ */
+ protected $path;
+ /**
+ * Mode to open the file
+ *
+ * @var string
+ */
+ protected $mode = 'r';
+ /**
+ * Opened file resource
+ *
+ * @var resource
+ */
+ protected $resource;
+ /**
+ * @var \Magento\Framework\Filesystem\DriverInterface
+ */
+ protected $driver;
+ /**
+ * Constructor
+ *
+ * @param string $path
+ * @param DriverInterface $driver
+ */
+ public function __construct($path, \Magento\Framework\Filesystem\DriverInterface $driver)
+ {
+ }
+ /**
+ * Open file
+ *
+ * @return $this
+ */
+ protected function open()
+ {
+ }
+ /**
+ * Assert file existence
+ *
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ protected function assertValid()
+ {
+ }
+ /**
+ * Reads the specified number of bytes from the current position.
+ *
+ * @param int $length The number of bytes to read
+ * @return string
+ */
+ public function read($length)
+ {
+ }
+ /**
+ * Return file content
+ *
+ * @param string|null $flag
+ * @param resource|null $context
+ * @return string
+ */
+ public function readAll($flag = null, $context = null)
+ {
+ }
+ /**
+ * Reads the line with specified number of bytes from the current position.
+ *
+ * @param int $length The number of bytes to read
+ * @param string $ending [optional]
+ * @return string
+ */
+ public function readLine($length, $ending = null)
+ {
+ }
+ /**
+ * Reads one CSV row from the file
+ *
+ * @param int $length [optional]
+ * @param string $delimiter [optional]
+ * @param string $enclosure [optional]
+ * @param string $escape [optional]
+ * @return array|bool|null
+ */
+ public function readCsv($length = 0, $delimiter = ',', $enclosure = '"', $escape = "\x00")
+ {
+ }
+ /**
+ * Returns the current cursor position
+ *
+ * @return int
+ */
+ public function tell()
+ {
+ }
+ /**
+ * Seeks to the specified offset
+ *
+ * @param int $offset
+ * @param int $whence
+ * @return int
+ */
+ public function seek($offset, $whence = SEEK_SET)
+ {
+ }
+ /**
+ * Checks if the current position is the end-of-file
+ *
+ * @return bool
+ */
+ public function eof()
+ {
+ }
+ /**
+ * Closes the file.
+ *
+ * @return bool
+ */
+ public function close()
+ {
+ }
+ /**
+ * {@inheritDoc}
+ *
+ * @return array
+ */
+ public function stat()
+ {
+ }
+ }
+ /**
+ * Opens a file for reading
+ * @api
+ * @since 100.0.2
+ */
+ class ReadFactory
+ {
+ /**
+ * Constructor
+ *
+ * @param DriverPool $driverPool
+ */
+ public function __construct(\Magento\Framework\Filesystem\DriverPool $driverPool)
+ {
+ }
+ /**
+ * Create a {@see ReaderInterface}
+ *
+ * @param string $path
+ * @param DriverInterface|string $driver Driver or driver code
+ * @return \Magento\Framework\Filesystem\File\ReadInterface
+ */
+ public function create($path, $driver)
+ {
+ }
+ }
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ interface WriteInterface extends \Magento\Framework\Filesystem\File\ReadInterface
+ {
+ /**
+ * Writes the data to file.
+ *
+ * @param string $data
+ * @return int
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function write($data);
+ /**
+ * Writes one CSV row to the file.
+ *
+ * @param array $data
+ * @param string $delimiter
+ * @param string $enclosure
+ * @return int
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function writeCsv(array $data, $delimiter = ',', $enclosure = '"');
+ /**
+ * Flushes the output.
+ *
+ * @return bool
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function flush();
+ /**
+ * Portable advisory file locking
+ *
+ * @param int $lockMode
+ * @return bool
+ */
+ public function lock($lockMode = \LOCK_EX);
+ /**
+ * File unlocking
+ *
+ * @return bool
+ */
+ public function unlock();
+ }
+ class Write extends \Magento\Framework\Filesystem\File\Read implements \Magento\Framework\Filesystem\File\WriteInterface
+ {
+ /**
+ * Constructor
+ *
+ * @param string $path
+ * @param DriverInterface $driver
+ * @param string $mode
+ */
+ public function __construct($path, \Magento\Framework\Filesystem\DriverInterface $driver, $mode)
+ {
+ }
+ /**
+ * Assert file existence for proper mode
+ *
+ * @return void
+ * @throws FileSystemException
+ */
+ protected function assertValid()
+ {
+ }
+ /**
+ * Writes the data to file.
+ *
+ * @param string $data
+ * @return int
+ * @throws FileSystemException
+ */
+ public function write($data)
+ {
+ }
+ /**
+ * Writes one CSV row to the file.
+ *
+ * @param array $data
+ * @param string $delimiter
+ * @param string $enclosure
+ * @return int
+ * @throws FileSystemException
+ */
+ public function writeCsv(array $data, $delimiter = ',', $enclosure = '"')
+ {
+ }
+ /**
+ * Flushes the output.
+ *
+ * @return bool
+ * @throws FileSystemException
+ */
+ public function flush()
+ {
+ }
+ /**
+ * Portable advisory file locking
+ *
+ * @param int $lockMode
+ * @return bool
+ */
+ public function lock($lockMode = \LOCK_EX)
+ {
+ }
+ /**
+ * File unlocking
+ *
+ * @return bool
+ */
+ public function unlock()
+ {
+ }
+ }
+ /**
+ * Opens a file for reading and/or writing
+ * @api
+ * @since 100.0.2
+ */
+ class WriteFactory extends \Magento\Framework\Filesystem\File\ReadFactory
+ {
+ /**
+ * Constructor
+ *
+ * @param DriverPool $driverPool
+ */
+ public function __construct(\Magento\Framework\Filesystem\DriverPool $driverPool)
+ {
+ }
+ /**
+ * Create a {@see WriterInterface}
+ *
+ * @param string $path
+ * @param DriverInterface|string $driver Driver or driver code
+ * @param string $mode [optional]
+ * @return WriteInterface
+ */
+ public function create($path, $driver, $mode = 'r')
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ interface UrlInterface
+ {
+ /**#@+
+ * Possible URL types
+ */
+ const URL_TYPE_LINK = 'link';
+ const URL_TYPE_DIRECT_LINK = 'direct_link';
+ const URL_TYPE_WEB = 'web';
+ const URL_TYPE_MEDIA = 'media';
+ const URL_TYPE_STATIC = 'static';
+ const URL_TYPE_JS = 'js';
+ /**#@-*/
+ /**
+ * Default url type
+ *
+ * Equals to self::URL_TYPE_LINK
+ */
+ const DEFAULT_URL_TYPE = 'link';
+ const DEFAULT_CONTROLLER_NAME = 'index';
+ const DEFAULT_ACTION_NAME = 'index';
+ const REWRITE_REQUEST_PATH_ALIAS = 'rewrite_request_path';
+ /**
+ * Session namespace to refer in other places
+ */
+ const SESSION_NAMESPACE = 'frontend';
+ /**
+ * Retrieve use session rule
+ *
+ * @return bool
+ * @deprecated SID is not being passed in URLs anymore.
+ * @SuppressWarnings(PHPMD.BooleanGetMethodName)
+ */
+ public function getUseSession();
+ /**
+ * Retrieve Base URL
+ *
+ * @param array $params
+ * @return string
+ */
+ public function getBaseUrl($params = []);
+ /**
+ * Retrieve current url with port number (if not default used)
+ *
+ * @return string
+ */
+ public function getCurrentUrl();
+ /**
+ * Retrieve route URL
+ *
+ * @param string $routePath
+ * @param array $routeParams
+ * @return string
+ */
+ public function getRouteUrl($routePath = null, $routeParams = null);
+ /**
+ * Add session param
+ *
+ * @return \Magento\Framework\UrlInterface
+ * @deprecated SID is not being passed in URLs anymore.
+ */
+ public function addSessionParam();
+ /**
+ * Add query parameters
+ *
+ * @param array $data
+ * @return \Magento\Framework\UrlInterface
+ */
+ public function addQueryParams(array $data);
+ /**
+ * Set query param
+ *
+ * @param string $key
+ * @param mixed $data
+ * @return \Magento\Framework\UrlInterface
+ */
+ public function setQueryParam($key, $data);
+ /**
+ * Build url by requested path and parameters
+ *
+ * @param string|null $routePath
+ * @param array|null $routeParams
+ * @return string
+ */
+ public function getUrl($routePath = null, $routeParams = null);
+ /**
+ * Escape (enclosure) URL string
+ *
+ * @param string $value
+ * @return string
+ */
+ public function escape($value);
+ /**
+ * Build url by direct url and parameters
+ *
+ * @param string $url
+ * @param array $params
+ * @return string
+ */
+ public function getDirectUrl($url, $params = []);
+ /**
+ * Replace Session ID value in URL
+ *
+ * @param string $html
+ * @return string
+ */
+ public function sessionUrlVar($html);
+ /**
+ * Check if users originated URL is one of the domain URLs assigned to stores
+ *
+ * @return boolean
+ */
+ public function isOwnOriginUrl();
+ /**
+ * Return frontend redirect URL with SID and other session parameters if any
+ *
+ * @param string $url
+ *
+ * @return string
+ */
+ public function getRedirectUrl($url);
+ /**
+ * Set scope entity
+ *
+ * @param mixed $params
+ * @return \Magento\Framework\UrlInterface
+ */
+ public function setScope($params);
+ }
+ class RegexValidator extends \Magento\Framework\Validator\RegexFactory
+ {
+ /**
+ * @param RegexFactory|null $regexValidatorFactory
+ */
+ public function __construct(?\Magento\Framework\Validator\RegexFactory $regexValidatorFactory = null)
+ {
+ }
+ /**
+ * Validates parameter regex
+ *
+ * @param string $params
+ * @param string $pattern
+ * @return bool
+ */
+ public function validateParamRegex(string $params, string $pattern = self::VALIDATION_RULE_PATTERN) : bool
+ {
+ }
+ }
+ /**
+ * Image handler library
+ *
+ * @author Magento Core Team
+ */
+ class Image
+ {
+ /**
+ * @var Image\Adapter\AdapterInterface
+ */
+ protected $_adapter;
+ /**
+ * @var null|string
+ */
+ protected $_fileName;
+ /**
+ * Constructor
+ *
+ * @param Image\Adapter\AdapterInterface $adapter
+ * @param string|null $fileName
+ */
+ public function __construct(\Magento\Framework\Image\Adapter\AdapterInterface $adapter, $fileName = null)
+ {
+ }
+ /**
+ * Opens an image and creates image handle
+ *
+ * @access public
+ * @return void
+ * @throws \Exception
+ */
+ public function open()
+ {
+ }
+ /**
+ * Display handled image in your browser
+ *
+ * @access public
+ * @return void
+ */
+ public function display()
+ {
+ }
+ /**
+ * Save handled image into file
+ *
+ * @param null|string $destination Default value is NULL
+ * @param null|string $newFileName Default value is NULL
+ * @access public
+ * @return void
+ */
+ public function save($destination = null, $newFileName = null)
+ {
+ }
+ /**
+ * Rotate an image.
+ *
+ * @param int $angle
+ * @access public
+ * @return void
+ */
+ public function rotate($angle)
+ {
+ }
+ /**
+ * Crop an image.
+ *
+ * @param int $top Default value is 0
+ * @param int $left Default value is 0
+ * @param int $right Default value is 0
+ * @param int $bottom Default value is 0
+ * @access public
+ * @return void
+ */
+ public function crop($top = 0, $left = 0, $right = 0, $bottom = 0)
+ {
+ }
+ /**
+ * Resize an image
+ *
+ * @param int $width
+ * @param int $height
+ * @access public
+ * @return void
+ */
+ public function resize($width, $height = null)
+ {
+ }
+ /**
+ * Get/set keepAspectRatio
+ *
+ * @param bool $value
+ * @return bool
+ */
+ public function keepAspectRatio($value)
+ {
+ }
+ /**
+ * Get/set keepFrame
+ *
+ * @param bool $value
+ * @return bool
+ */
+ public function keepFrame($value)
+ {
+ }
+ /**
+ * Get/set keepTransparency
+ *
+ * @param bool $value
+ * @return bool
+ */
+ public function keepTransparency($value)
+ {
+ }
+ /**
+ * Get/set constrainOnly
+ *
+ * @param bool $value
+ * @return bool
+ */
+ public function constrainOnly($value)
+ {
+ }
+ /**
+ * Get/set backgroundColor
+ *
+ * @param null|array $value
+ * @return array|null
+ */
+ public function backgroundColor($value)
+ {
+ }
+ /**
+ * Get/set quality, values in percentage from 0 to 100
+ *
+ * @param int $value
+ * @return int
+ */
+ public function quality($value)
+ {
+ }
+ /**
+ * Adds watermark to our image.
+ *
+ * @param string $watermarkImage Absolute path to watermark image.
+ * @param int $positionX Watermark X position.
+ * @param int $positionY Watermark Y position.
+ * @param int $watermarkImageOpacity Watermark image opacity.
+ * @param bool $repeat Enable or disable watermark brick.
+ * @access public
+ * @throws \Exception
+ * @return void
+ */
+ public function watermark($watermarkImage, $positionX = 0, $positionY = 0, $watermarkImageOpacity = 30, $repeat = false)
+ {
+ }
+ /**
+ * Get mime type of handled image
+ *
+ * @access public
+ * @return string
+ */
+ public function getMimeType()
+ {
+ }
+ /**
+ * Get image type of handled image
+ *
+ * @access public
+ * @return int
+ */
+ public function getImageType()
+ {
+ }
+ /**
+ * Process
+ *
+ * @access public
+ * @return void
+ */
+ public function process()
+ {
+ }
+ /**
+ * Instruction
+ *
+ * @access public
+ * @return void
+ */
+ public function instruction()
+ {
+ }
+ /**
+ * Set image background color
+ *
+ * @param int $color
+ * @access public
+ * @return void
+ */
+ public function setImageBackgroundColor($color)
+ {
+ }
+ /**
+ * Set watermark position
+ *
+ * @param string $position
+ * @return $this
+ */
+ public function setWatermarkPosition($position)
+ {
+ }
+ /**
+ * Set watermark image opacity
+ *
+ * @param int $imageOpacity
+ * @return $this
+ */
+ public function setWatermarkImageOpacity($imageOpacity)
+ {
+ }
+ /**
+ * Set watermark width
+ *
+ * @param int $width
+ * @return $this
+ */
+ public function setWatermarkWidth($width)
+ {
+ }
+ /**
+ * Set watermark height
+ *
+ * @param int $height
+ * @return $this
+ */
+ public function setWatermarkHeight($height)
+ {
+ }
+ /**
+ * Retrieve original image width
+ *
+ * @return int|null
+ */
+ public function getOriginalWidth()
+ {
+ }
+ /**
+ * Retrieve original image height
+ *
+ * @return int|null
+ */
+ public function getOriginalHeight()
+ {
+ }
+ /**
+ * Create Image from string
+ *
+ * @param string $text
+ * @param string $font Path to font file
+ * @return $this
+ */
+ public function createPngFromString($text, $font = '')
+ {
+ }
+ }
+}
+namespace Magento\Framework\Intl {
+ class DateTimeFactory
+ {
+ /**
+ * Factory method for \DateTime
+ *
+ * @param string $time
+ * @param \DateTimeZone $timezone
+ * @return \DateTime
+ */
+ public function create($time = 'now', \DateTimeZone $timezone = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ class NumberFormatter extends \NumberFormatter
+ {
+ /**
+ * Creates a currency instance.
+ *
+ * @param null $locale Locale name
+ * @param null $style
+ * @param null $pattern
+ */
+ public function __construct($locale = null, $style = \NumberFormatter::CURRENCY, $pattern = null)
+ {
+ }
+ }
+ /**
+ * Class Url Factory
+ *
+ * @api
+ */
+ class UrlFactory
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $_objectManager = null;
+ /**
+ * @var string
+ */
+ protected $_instanceName = null;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\UrlInterface::class)
+ {
+ }
+ /**
+ * Create Url instance with specified parameters
+ *
+ * @param array $data
+ * @return UrlInterface
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ /**
+ * Universal data container with array access implementation
+ *
+ * @api
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ * @since 100.0.2
+ */
+ #[\AllowDynamicProperties]
+ class DataObject implements \ArrayAccess
+ {
+ /**
+ * Object attributes
+ *
+ * @var array
+ */
+ protected $_data = [];
+ /**
+ * Setter/Getter underscore transformation cache
+ *
+ * @var array
+ */
+ protected static $_underscoreCache = [];
+ /**
+ * Constructor
+ *
+ * By default is looking for first argument as array and assigns it as object attributes
+ * This behavior may change in child classes
+ *
+ * @param array $data
+ */
+ public function __construct(array $data = [])
+ {
+ }
+ /**
+ * Add data to the object.
+ *
+ * Retains previous data in the object.
+ *
+ * @param array $arr
+ * @return $this
+ */
+ public function addData(array $arr)
+ {
+ }
+ /**
+ * Overwrite data in the object.
+ *
+ * The $key parameter can be string or array.
+ * If $key is string, the attribute value will be overwritten by $value
+ *
+ * If $key is an array, it will overwrite all the data in the object.
+ *
+ * @param string|array $key
+ * @param mixed $value
+ * @return $this
+ */
+ public function setData($key, $value = null)
+ {
+ }
+ /**
+ * Unset data from the object.
+ *
+ * @param null|string|array $key
+ * @return $this
+ */
+ public function unsetData($key = null)
+ {
+ }
+ /**
+ * Object data getter
+ *
+ * If $key is not defined will return all the data as an array.
+ * Otherwise it will return value of the element specified by $key.
+ * It is possible to use keys like a/b/c for access nested array data
+ *
+ * If $index is specified it will assume that attribute data is an array
+ * and retrieve corresponding member. If data is the string - it will be explode
+ * by new line character and converted to array.
+ *
+ * @param string $key
+ * @param string|int $index
+ * @return mixed
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function getData($key = '', $index = null)
+ {
+ }
+ /**
+ * Get object data by path
+ *
+ * Method consider the path as chain of keys: a/b/c => ['a']['b']['c']
+ *
+ * @param string $path
+ * @return mixed
+ */
+ public function getDataByPath($path)
+ {
+ }
+ /**
+ * Get object data by particular key
+ *
+ * @param string $key
+ * @return mixed
+ */
+ public function getDataByKey($key)
+ {
+ }
+ /**
+ * Get value from _data array without parse key
+ *
+ * @param string $key
+ * @return mixed
+ */
+ protected function _getData($key)
+ {
+ }
+ /**
+ * Set object data with calling setter method
+ *
+ * @param string $key
+ * @param mixed $args
+ * @return $this
+ */
+ public function setDataUsingMethod($key, $args = [])
+ {
+ }
+ /**
+ * Get object data by key with calling getter method
+ *
+ * @param string $key
+ * @param mixed $args
+ * @return mixed
+ */
+ public function getDataUsingMethod($key, $args = null)
+ {
+ }
+ /**
+ * If $key is empty, checks whether there's any data in the object
+ *
+ * Otherwise checks if the specified attribute is set.
+ *
+ * @param string $key
+ * @return bool
+ */
+ public function hasData($key = '')
+ {
+ }
+ /**
+ * Convert array of object data with to array with keys requested in $keys array
+ *
+ * @param array $keys array of required keys
+ * @return array
+ */
+ public function toArray(array $keys = [])
+ {
+ }
+ /**
+ * The "__" style wrapper for toArray method
+ *
+ * @param array $keys
+ * @return array
+ */
+ public function convertToArray(array $keys = [])
+ {
+ }
+ /**
+ * Convert object data into XML string
+ *
+ * @param array $keys array of keys that must be represented
+ * @param string $rootName root node name
+ * @param bool $addOpenTag flag that allow to add initial xml node
+ * @param bool $addCdata flag that require wrap all values in CDATA
+ * @return string
+ */
+ public function toXml(array $keys = [], $rootName = 'item', $addOpenTag = false, $addCdata = true)
+ {
+ }
+ /**
+ * The "__" style wrapper for toXml method
+ *
+ * @param array $arrAttributes array of keys that must be represented
+ * @param string $rootName root node name
+ * @param bool $addOpenTag flag that allow to add initial xml node
+ * @param bool $addCdata flag that require wrap all values in CDATA
+ * @return string
+ */
+ public function convertToXml(array $arrAttributes = [], $rootName = 'item', $addOpenTag = false, $addCdata = true)
+ {
+ }
+ /**
+ * Convert object data to JSON
+ *
+ * @param array $keys array of required keys
+ * @return bool|string
+ * @throws \InvalidArgumentException
+ */
+ public function toJson(array $keys = [])
+ {
+ }
+ /**
+ * The "__" style wrapper for toJson
+ *
+ * @param array $keys
+ * @return bool|string
+ * @throws \InvalidArgumentException
+ */
+ public function convertToJson(array $keys = [])
+ {
+ }
+ /**
+ * Convert object data into string with predefined format
+ *
+ * Will use $format as an template and substitute {{key}} for attributes
+ *
+ * @param string $format
+ * @return string
+ */
+ public function toString($format = '')
+ {
+ }
+ /**
+ * Set/Get attribute wrapper
+ *
+ * @param string $method
+ * @param array $args
+ * @return mixed
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function __call($method, $args)
+ {
+ }
+ /**
+ * Checks whether the object is empty
+ *
+ * @return bool
+ */
+ public function isEmpty()
+ {
+ }
+ /**
+ * Converts field names for setters and getters
+ *
+ * $this->setMyField($value) === $this->setData('my_field', $value)
+ * Uses cache to eliminate unnecessary preg_replace
+ *
+ * @param string $name
+ * @return string
+ */
+ protected function _underscore($name)
+ {
+ }
+ /**
+ * Convert object data into string with defined keys and values.
+ *
+ * Example: key1="value1" key2="value2" ...
+ *
+ * @param array $keys array of accepted keys
+ * @param string $valueSeparator separator between key and value
+ * @param string $fieldSeparator separator between key/value pairs
+ * @param string $quote quoting sign
+ * @return string
+ */
+ public function serialize($keys = [], $valueSeparator = '=', $fieldSeparator = ' ', $quote = '"')
+ {
+ }
+ /**
+ * Present object data as string in debug mode
+ *
+ * @param mixed $data
+ * @param array $objects
+ * @return array
+ */
+ public function debug($data = null, &$objects = [])
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess::offsetSet()
+ *
+ * @param string $offset
+ * @param mixed $value
+ * @return void
+ * @link http://www.php.net/manual/en/arrayaccess.offsetset.php
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetSet($offset, $value)
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess::offsetExists()
+ *
+ * @param string $offset
+ * @return bool
+ * @link http://www.php.net/manual/en/arrayaccess.offsetexists.php
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetExists($offset)
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess::offsetUnset()
+ *
+ * @param string $offset
+ * @return void
+ * @link http://www.php.net/manual/en/arrayaccess.offsetunset.php
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetUnset($offset)
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess::offsetGet()
+ *
+ * @param string $offset
+ * @return mixed
+ * @link http://www.php.net/manual/en/arrayaccess.offsetget.php
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetGet($offset)
+ {
+ }
+ /**
+ * Export only scalar and arrays properties for var_dump
+ *
+ * @return array
+ */
+ public function __debugInfo()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Authorization {
+ class Factory
+ {
+ /**
+ * Entity class name
+ */
+ const CLASS_NAME = \Magento\Framework\Authorization::class;
+ /**
+ * Object Manager instance
+ *
+ * @var ObjectManagerInterface
+ */
+ protected $_objectManager = null;
+ /**
+ * Factory constructor
+ *
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return Authorization
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ /**
+ * Links Authorization component with application.
+ * Responsible for providing the identifier of currently logged in role to \Magento\Framework\Authorization component.
+ * Should be implemented by application developer that uses \Magento\Framework\Authorization component.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface RoleLocatorInterface
+ {
+ /**
+ * Retrieve current role
+ *
+ * @return string|null
+ */
+ public function getAclRoleId();
+ }
+}
+namespace Magento\Framework\Authorization\RoleLocator {
+ class DefaultRoleLocator implements \Magento\Framework\Authorization\RoleLocatorInterface
+ {
+ /**
+ * Retrieve current role
+ *
+ * @return string
+ */
+ public function getAclRoleId()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Authorization {
+ /**
+ * Responsible for internal authorization decision making based on provided role, resource and privilege
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface PolicyInterface
+ {
+ /**
+ * Check whether given role has access to given resource
+ *
+ * @abstract
+ * @param string $roleId
+ * @param string $resourceId
+ * @param string|null $privilege
+ * @return bool
+ */
+ public function isAllowed($roleId, $resourceId, $privilege = null);
+ }
+}
+namespace Magento\Framework\Authorization\Test\Unit\Policy {
+ class DefaultTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var DefaultPolicy
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ public function testIsAllowedReturnsTrueForAnyResource()
+ {
+ }
+ }
+ class AclTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Acl
+ */
+ protected $_model;
+ /**
+ * @var MockObject
+ */
+ protected $_aclMock;
+ /**
+ * @var MockObject
+ */
+ protected $_aclBuilderMock;
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testIsAllowedReturnsTrueIfResourceIsAllowedToRole() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testIsAllowedReturnsFalseIfRoleDoesntExist() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testIsAllowedReturnsTrueIfResourceDoesntExistAndAllResourcesAreNotPermitted() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Authorization\Policy {
+ /**
+ * Uses ACL to control access. If ACL doesn't contain provided resource, permission for all resources is checked.
+ */
+ class Acl implements \Magento\Framework\Authorization\PolicyInterface
+ {
+ /**
+ * @var \Magento\Framework\Acl\Builder
+ */
+ protected $_aclBuilder;
+ /**
+ * @param Builder $aclBuilder
+ */
+ public function __construct(\Magento\Framework\Acl\Builder $aclBuilder)
+ {
+ }
+ /**
+ * Check whether given role has access to give id
+ *
+ * @param string $roleId
+ * @param string $resourceId
+ * @param string $privilege
+ * @return bool
+ */
+ public function isAllowed($roleId, $resourceId, $privilege = null)
+ {
+ }
+ }
+ class DefaultPolicy implements \Magento\Framework\Authorization\PolicyInterface
+ {
+ /**
+ * Check whether given role has access to give id
+ *
+ * @param string $roleId
+ * @param string $resourceId
+ * @param string $privilege
+ * @return true
+ */
+ public function isAllowed($roleId, $resourceId, $privilege = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing {
+ /**
+ * Interface SaleableInterface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface SaleableInterface
+ {
+ /**
+ * Returns PriceInfo container of saleable item
+ *
+ * @return \Magento\Framework\Pricing\PriceInfoInterface
+ */
+ public function getPriceInfo();
+ /**
+ * Returns type identifier of saleable item
+ *
+ * @return array|string
+ */
+ public function getTypeId();
+ /**
+ * Returns identifier of saleable item
+ *
+ * @return int
+ */
+ public function getId();
+ /**
+ * Returns quantity of saleable item
+ *
+ * @return float
+ */
+ public function getQty();
+ }
+}
+namespace Magento\Framework\Pricing\Render {
+ /**
+ * Price amount renderer interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface AmountRenderInterface
+ {
+ /**
+ * Enforce custom display price value
+ *
+ * @param float $value
+ * @return void
+ */
+ public function setDisplayValue($value);
+ /**
+ * @return float
+ */
+ public function getDisplayValue();
+ /**
+ * Retrieve amount object
+ *
+ * @return AmountInterface
+ */
+ public function getAmount();
+ /**
+ * @return SaleableInterface
+ */
+ public function getSaleableItem();
+ /**
+ * @return PriceInterface
+ */
+ public function getPrice();
+ /**
+ * @return string
+ */
+ public function getDisplayCurrencyCode();
+ /**
+ * @return string
+ */
+ public function getDisplayCurrencySymbol();
+ /**
+ * @return string
+ */
+ public function getAdjustmentsHtml();
+ }
+ /**
+ * Price box render interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface PriceBoxRenderInterface
+ {
+ /**
+ * @return SaleableInterface
+ */
+ public function getSaleableItem();
+ /**
+ * Retrieve price object
+ * (to use in templates only)
+ *
+ * @return PriceInterface
+ */
+ public function getPrice();
+ /**
+ * Retrieve amount html for given price and arguments
+ * (to use in templates only)
+ *
+ * @param AmountInterface $price
+ * @param array $arguments
+ * @return string
+ */
+ public function renderAmount(\Magento\Framework\Pricing\Amount\AmountInterface $price, array $arguments = []);
+ }
+}
+namespace Magento\Framework\DataObject {
+ /**
+ * Interface for
+ * 1. models which require cache refresh when it is created/updated/deleted
+ * 2. blocks which render this information to front-end
+ *
+ * @api
+ */
+ interface IdentityInterface
+ {
+ /**
+ * Return unique ID(s) for each object in system
+ *
+ * @return string[]
+ */
+ public function getIdentities();
+ }
+}
+namespace Magento\Framework\View\Element {
+ /**
+ * Magento Block
+ *
+ * Used to present information to user
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface BlockInterface
+ {
+ /**
+ * Produce and return block's html output
+ *
+ * @return string
+ */
+ public function toHtml();
+ }
+ /**
+ * Base class for all blocks.
+ *
+ * Avoid inheriting from this class. Will be deprecated.
+ *
+ * Marked as public API because it is actively used now.
+ *
+ * phpcs:disable Magento2.Classes.AbstractApi
+ * @api
+ * @SuppressWarnings(PHPMD.ExcessivePublicCount)
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @SuppressWarnings(PHPMD.TooManyFields)
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ * @since 100.0.2
+ */
+ abstract class AbstractBlock extends \Magento\Framework\DataObject implements \Magento\Framework\View\Element\BlockInterface
+ {
+ /**
+ * Cache group Tag
+ */
+ public const CACHE_GROUP = \Magento\Framework\App\Cache\Type\Block::TYPE_IDENTIFIER;
+ /**
+ * Prefix for cache key of block
+ */
+ public const CACHE_KEY_PREFIX = 'BLOCK_';
+ /**
+ * Prefix for custom cache key of block
+ */
+ public const CUSTOM_CACHE_KEY_PREFIX = 'CUSTOM_BLOCK_';
+ /**
+ * @var \Magento\Framework\View\DesignInterface
+ */
+ protected $_design;
+ /**
+ * @var \Magento\Framework\Session\SessionManagerInterface
+ */
+ protected $_session;
+ /**
+ * @var \Magento\Framework\Session\SidResolverInterface
+ * @deprecated 102.0.5 Not used anymore.
+ * @see Session Id's In URL
+ */
+ protected $_sidResolver;
+ /**
+ * Block name in layout
+ *
+ * @var string
+ */
+ protected $_nameInLayout;
+ /**
+ * Parent layout of the block
+ *
+ * @var \Magento\Framework\View\LayoutInterface
+ */
+ protected $_layout;
+ /**
+ * JS layout configuration
+ *
+ * @var array
+ */
+ protected $jsLayout = [];
+ /**
+ * @var \Magento\Framework\App\RequestInterface
+ */
+ protected $_request;
+ /**
+ * @var \Magento\Framework\UrlInterface
+ */
+ protected $_urlBuilder;
+ /**
+ * System event manager
+ *
+ *
+ * @var \Magento\Framework\Event\ManagerInterface
+ */
+ protected $_eventManager;
+ /**
+ * Application front controller
+ *
+ * @var \Magento\Framework\App\FrontController
+ */
+ protected $_frontController;
+ /**
+ * Asset service
+ *
+ * @var \Magento\Framework\View\Asset\Repository
+ */
+ protected $_assetRepo;
+ /**
+ * View config model
+ *
+ * @var \Magento\Framework\View\ConfigInterface
+ */
+ protected $_viewConfig;
+ /**
+ * @var \Magento\Framework\App\Cache\StateInterface
+ */
+ protected $_cacheState;
+ /**
+ * @var \Psr\Log\LoggerInterface
+ */
+ protected $_logger;
+ /**
+ * @var \Magento\Framework\Escaper
+ */
+ protected $_escaper;
+ /**
+ * @var \Magento\Framework\Filter\FilterManager
+ */
+ protected $filterManager;
+ /**
+ * @var \Magento\Framework\Stdlib\DateTime\TimezoneInterface
+ */
+ protected $_localeDate;
+ /**
+ * @var \Magento\Framework\Translate\Inline\StateInterface
+ */
+ protected $inlineTranslation;
+ /**
+ * The property is used to define content-scope of block. Can be private or public.
+ * If it isn't defined then application considers it as false.
+ *
+ * @see https://developer.adobe.com/commerce/php/development/cache/page/private-content/
+ * @var bool
+ * @deprecated
+ * @since 103.0.1
+ */
+ protected $_isScopePrivate = false;
+ /**
+ * @var \Magento\Framework\App\Config\ScopeConfigInterface
+ */
+ protected $_scopeConfig;
+ /**
+ * @var \Magento\Framework\App\CacheInterface
+ * @since 101.0.0
+ */
+ protected $_cache;
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\View\Element\Context $context
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\View\Element\Context $context, array $data = [])
+ {
+ }
+ /**
+ * Retrieve serialized JS layout configuration ready to use in template
+ *
+ * @return string
+ */
+ public function getJsLayout()
+ {
+ }
+ /**
+ * Get request
+ *
+ * @return \Magento\Framework\App\RequestInterface
+ */
+ public function getRequest()
+ {
+ }
+ /**
+ * Internal constructor, that is called from real constructor
+ *
+ * Please override this one instead of overriding real __construct constructor
+ *
+ * @return void
+ * phpcs:disable Magento2.CodeAnalysis.EmptyBlock
+ */
+ protected function _construct()
+ {
+ }
+ /**
+ * Retrieve parent block
+ *
+ * @return \Magento\Framework\View\Element\AbstractBlock|bool
+ */
+ public function getParentBlock()
+ {
+ }
+ /**
+ * Set layout object
+ *
+ * @param \Magento\Framework\View\LayoutInterface $layout
+ * @return $this
+ */
+ public function setLayout(\Magento\Framework\View\LayoutInterface $layout)
+ {
+ }
+ /**
+ * Preparing global layout
+ *
+ * You can redefine this method in child classes for changing layout
+ *
+ * @return $this
+ */
+ protected function _prepareLayout()
+ {
+ }
+ /**
+ * Retrieve layout object
+ *
+ * @return \Magento\Framework\View\LayoutInterface
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function getLayout()
+ {
+ }
+ /**
+ * Sets/changes name of a block in layout
+ *
+ * @param string $name
+ * @return $this
+ */
+ public function setNameInLayout($name)
+ {
+ }
+ /**
+ * Retrieves sorted list of child names
+ *
+ * @return array
+ */
+ public function getChildNames()
+ {
+ }
+ /**
+ * Set block attribute value
+ *
+ * Wrapper for method "setData"
+ *
+ * @param string $name
+ * @param mixed $value
+ * @return $this
+ */
+ public function setAttribute($name, $value = null)
+ {
+ }
+ /**
+ * Set child block
+ *
+ * @param string $alias
+ * @param \Magento\Framework\View\Element\AbstractBlock|string $block
+ * @return $this
+ */
+ public function setChild($alias, $block)
+ {
+ }
+ /**
+ * Create block with name: {parent}.{alias} and set as child
+ *
+ * @param string $alias
+ * @param string $block
+ * @param array $data
+ * @return $this new block
+ */
+ public function addChild($alias, $block, $data = [])
+ {
+ }
+ /**
+ * Unset child block
+ *
+ * @param string $alias
+ * @return $this
+ */
+ public function unsetChild($alias)
+ {
+ }
+ /**
+ * Call a child and unset it, if callback matched result
+ *
+ * Variable $params will pass to child callback
+ * $params may be array, if called from layout with elements with same name, for example:
+ * ...value_1 value_2 value_3
+ *
+ * Or, if called like this:
+ * ...value_1 value_2 value_3
+ * - then it will be $params1, $params2, $params3
+ *
+ * It is no difference anyway, because they will be transformed in appropriate way.
+ *
+ * @param string $alias
+ * @param string $callback
+ * @param mixed $result
+ * @param array $params
+ * @return $this
+ */
+ public function unsetCallChild($alias, $callback, $result, $params)
+ {
+ }
+ /**
+ * Unset all children blocks
+ *
+ * @return $this
+ */
+ public function unsetChildren()
+ {
+ }
+ /**
+ * Retrieve child block by name
+ *
+ * @param string $alias
+ * @return \Magento\Framework\View\Element\AbstractBlock|bool
+ */
+ public function getChildBlock($alias)
+ {
+ }
+ /**
+ * Retrieve child block HTML
+ *
+ * @param string $alias
+ * @param boolean $useCache
+ * @return string
+ */
+ public function getChildHtml($alias = '', $useCache = true)
+ {
+ }
+ /**
+ * Render output of child child element
+ *
+ * @param string $alias
+ * @param string $childChildAlias
+ * @param bool $useCache
+ * @return string
+ */
+ public function getChildChildHtml($alias, $childChildAlias = '', $useCache = true)
+ {
+ }
+ /**
+ * Retrieve block html
+ *
+ * @param string $name
+ * @return string
+ */
+ public function getBlockHtml($name)
+ {
+ }
+ /**
+ * Insert child element into specified position
+ *
+ * By default inserts as first element into children list
+ *
+ * @param \Magento\Framework\View\Element\AbstractBlock|string $element
+ * @param string|int|null $siblingName
+ * @param bool $after
+ * @param string $alias
+ * @return $this|bool
+ */
+ public function insert($element, $siblingName = 0, $after = true, $alias = '')
+ {
+ }
+ /**
+ * Append element to the end of children list
+ *
+ * @param \Magento\Framework\View\Element\AbstractBlock|string $element
+ * @param string $alias
+ * @return $this
+ */
+ public function append($element, $alias = '')
+ {
+ }
+ /**
+ * Get a group of child blocks
+ *
+ * Returns an array of =>
+ * or an array of =>
+ * The callback currently supports only $this methods and passes the alias as parameter
+ *
+ * @param string $groupName
+ * @return array
+ */
+ public function getGroupChildNames($groupName)
+ {
+ }
+ /**
+ * Get a value from child block by specified key
+ *
+ * @param string $alias
+ * @param string $key
+ * @return mixed
+ */
+ public function getChildData($alias, $key = '')
+ {
+ }
+ /**
+ * Before rendering html, but after trying to load cache
+ *
+ * @return $this
+ */
+ protected function _beforeToHtml()
+ {
+ }
+ /**
+ * Produce and return block's html output
+ *
+ * This method should not be overridden. You can override _toHtml() method in descendants if needed.
+ *
+ * @return string
+ */
+ public function toHtml()
+ {
+ }
+ /**
+ * Processing block html after rendering
+ *
+ * @param string $html
+ * @return string
+ */
+ protected function _afterToHtml($html)
+ {
+ }
+ /**
+ * Override this method in descendants to produce html
+ *
+ * @return string
+ */
+ protected function _toHtml()
+ {
+ }
+ /**
+ * Retrieve data-ui-id attribute
+ *
+ * Retrieve data-ui-id attribute which will distinguish
+ * link/input/container/anything else in template among others.
+ * Function takes an arbitrary amount of parameters.
+ *
+ * @param string|null $arg1
+ * @param string|null $arg2
+ * @param string|null $arg3
+ * @param string|null $arg4
+ * @param string|null $arg5
+ * @return string
+ */
+ public function getUiId($arg1 = null, $arg2 = null, $arg3 = null, $arg4 = null, $arg5 = null)
+ {
+ }
+ /**
+ * Generate id for using in JavaScript UI
+ *
+ * Function takes an arbitrary amount of parameters
+ *
+ * @param string|null $arg1
+ * @param string|null $arg2
+ * @param string|null $arg3
+ * @param string|null $arg4
+ * @param string|null $arg5
+ * @return string
+ */
+ public function getJsId($arg1 = null, $arg2 = null, $arg3 = null, $arg4 = null, $arg5 = null)
+ {
+ }
+ /**
+ * Generate url by route and parameters
+ *
+ * @param string $route
+ * @param array $params
+ * @return string
+ */
+ public function getUrl($route = '', $params = [])
+ {
+ }
+ /**
+ * Retrieve url of a view file
+ *
+ * @param string $fileId
+ * @param array $params
+ * @return string
+ */
+ public function getViewFileUrl($fileId, array $params = [])
+ {
+ }
+ /**
+ * Get 404 file not found url
+ *
+ * @param string $route
+ * @param array $params
+ * @return string
+ */
+ protected function _getNotFoundUrl($route = '', $params = ['_direct' => 'core/index/notFound'])
+ {
+ }
+ /**
+ * Retrieve formatting date
+ *
+ * @param null|string|\DateTimeInterface $date
+ * @param int $format
+ * @param bool $showTime
+ * @param null|string $timezone
+ * @return string
+ */
+ public function formatDate($date = null, $format = \IntlDateFormatter::SHORT, $showTime = false, $timezone = null)
+ {
+ }
+ /**
+ * Retrieve formatting time
+ *
+ * @param \DateTime|string|null $time
+ * @param int $format
+ * @param bool $showDate
+ * @return string
+ */
+ public function formatTime($time = null, $format = \IntlDateFormatter::SHORT, $showDate = false)
+ {
+ }
+ /**
+ * Retrieve module name of block
+ *
+ * @return string
+ */
+ public function getModuleName()
+ {
+ }
+ /**
+ * Extract module name from specified block class name
+ *
+ * @param string $className
+ * @return string
+ */
+ public static function extractModuleName($className)
+ {
+ }
+ /**
+ * Escape HTML entities
+ *
+ * @param string|array $data
+ * @param array|null $allowedTags
+ * @return string
+ * @deprecated 103.0.0 Use $escaper directly in templates and in blocks.
+ * @see Escaper Usage
+ */
+ public function escapeHtml($data, $allowedTags = null)
+ {
+ }
+ /**
+ * Escape string for the JavaScript context
+ *
+ * @param string $string
+ * @return string
+ * @since 101.0.0
+ * @deprecated 103.0.0 Use $escaper directly in templates and in blocks.
+ * @see Escaper Usage
+ */
+ public function escapeJs($string)
+ {
+ }
+ /**
+ * Escape a string for the HTML attribute context
+ *
+ * @param string $string
+ * @param boolean $escapeSingleQuote
+ * @return string
+ * @since 101.0.0
+ * @deprecated 103.0.0 Use $escaper directly in templates and in blocks.
+ * @see Escaper Usage
+ */
+ public function escapeHtmlAttr($string, $escapeSingleQuote = true)
+ {
+ }
+ /**
+ * Escape string for the CSS context
+ *
+ * @param string $string
+ * @return string
+ * @since 101.0.0
+ * @deprecated 103.0.0 Use $escaper directly in templates and in blocks.
+ * @see Escaper Usage
+ */
+ public function escapeCss($string)
+ {
+ }
+ /**
+ * Wrapper for standard strip_tags() function with extra functionality for html entities
+ *
+ * @param string $data
+ * @param string|null $allowableTags
+ * @param bool $allowHtmlEntities
+ * @return string
+ */
+ public function stripTags($data, $allowableTags = null, $allowHtmlEntities = false)
+ {
+ }
+ /**
+ * Escape URL
+ *
+ * @param string $string
+ * @return string
+ * @deprecated 103.0.0 Use $escaper directly in templates and in blocks.
+ * @see Escaper Usage
+ */
+ public function escapeUrl($string)
+ {
+ }
+ /**
+ * Escape xss in urls
+ *
+ * @param string $data
+ * @return string
+ * @deprecated 101.0.0
+ * @see Escaper Usage
+ */
+ public function escapeXssInUrl($data)
+ {
+ }
+ /**
+ * Escape quotes inside html attributes
+ *
+ * Use $addSlashes = false for escaping js that inside html attribute (onClick, onSubmit etc)
+ *
+ * @param string $data
+ * @param bool $addSlashes
+ * @return string
+ * @deprecated 101.0.0
+ * @see Escaper Usage
+ */
+ public function escapeQuote($data, $addSlashes = false)
+ {
+ }
+ /**
+ * Escape single quotes/apostrophes ('), or other specified $quote character in javascript
+ *
+ * @param string|string[]|array $data
+ * @param string $quote
+ *
+ * @return string|array
+ * @deprecated 101.0.0
+ * @see Escaper Usage
+ */
+ public function escapeJsQuote($data, $quote = '\'')
+ {
+ }
+ /**
+ * Get block name
+ *
+ * @return string
+ */
+ public function getNameInLayout()
+ {
+ }
+ /**
+ * Get cache key informative items
+ *
+ * Provide string array key to share specific info item with FPC placeholder
+ *
+ * @return string[]
+ */
+ public function getCacheKeyInfo()
+ {
+ }
+ /**
+ * Get Key for caching block content
+ *
+ * @return string
+ * @throws RuntimeException
+ */
+ public function getCacheKey()
+ {
+ }
+ /**
+ * Get tags array for saving cache
+ *
+ * @return array
+ */
+ protected function getCacheTags()
+ {
+ }
+ /**
+ * Get block cache life time
+ *
+ * @return int|bool|null
+ */
+ protected function getCacheLifetime()
+ {
+ }
+ /**
+ * Load block html from cache storage
+ *
+ * @return string
+ */
+ protected function _loadCache()
+ {
+ }
+ /**
+ * Save block content to cache storage
+ *
+ * @param string $data
+ * @return $this
+ */
+ protected function _saveCache($data)
+ {
+ }
+ /**
+ * Get SID placeholder for cache
+ *
+ * @param null|string $cacheKey
+ * @return string
+ */
+ protected function _getSidPlaceholder($cacheKey = null)
+ {
+ }
+ /**
+ * Get variable value from view configuration
+ *
+ * Module name can be omitted. If omitted, it will be determined automatically.
+ *
+ * @param string $name variable name
+ * @param string|null $module optional module name
+ * @return string|false
+ */
+ public function getVar($name, $module = null)
+ {
+ }
+ /**
+ * Determine if the block scope is private or public.
+ *
+ * Returns true if scope is private, false otherwise
+ *
+ * @return bool
+ * @deprecated
+ * @see https://developer.adobe.com/commerce/php/development/cache/page/private-content
+ * @since 103.0.1
+ */
+ public function isScopePrivate()
+ {
+ }
+ }
+ /**
+ * Standard Magento block.
+ *
+ * Should be used when you declare a block in frontend area layout handle.
+ *
+ * Avoid extending this class.
+ *
+ * If you need custom presentation logic in your blocks, use this class as block, and declare
+ * custom view models in block arguments in layout handle file.
+ *
+ * Example:
+ *
+ *
+ * My\Module\ViewModel\Custom
+ *
+ *
+ *
+ * @api
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @since 100.0.2
+ */
+ class Template extends \Magento\Framework\View\Element\AbstractBlock
+ {
+ /**
+ * Config path to 'Allow Symlinks' template settings
+ */
+ const XML_PATH_TEMPLATE_ALLOW_SYMLINK = 'dev/template/allow_symlink';
+ /**
+ * Assigned variables for view
+ *
+ * @var array
+ */
+ protected $_viewVars = [];
+ /**
+ * @var string
+ */
+ protected $_baseUrl;
+ /**
+ * @var string
+ */
+ protected $_jsUrl;
+ /**
+ * Is allowed symlinks flag
+ *
+ * @var bool
+ */
+ protected $_allowSymlinks;
+ /**
+ * Filesystem instance
+ *
+ * @var Filesystem
+ */
+ protected $_filesystem;
+ /**
+ * Path to template file in theme.
+ *
+ * @var string
+ */
+ protected $_template;
+ /**
+ * @var \Magento\Framework\View\TemplateEnginePool
+ */
+ protected $templateEnginePool;
+ /**
+ * @var \Magento\Store\Model\StoreManagerInterface
+ */
+ protected $_storeManager;
+ /**
+ * Application state
+ *
+ * @var \Magento\Framework\App\State
+ */
+ protected $_appState;
+ /**
+ * Root directory instance
+ *
+ * @var \Magento\Framework\Filesystem\Directory\ReadInterface
+ */
+ protected $directory;
+ /**
+ * @var \Magento\Framework\View\Element\BlockInterface
+ */
+ protected $templateContext;
+ /**
+ * @var \Magento\Framework\View\Page\Config
+ */
+ protected $pageConfig;
+ /**
+ * @var \Magento\Framework\View\Element\Template\File\Resolver
+ */
+ protected $resolver;
+ /**
+ * @var \Magento\Framework\View\Element\Template\File\Validator
+ */
+ protected $validator;
+ /**
+ * Constructor
+ *
+ * @param Template\Context $context
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\View\Element\Template\Context $context, array $data = [])
+ {
+ }
+ /**
+ * Set template context. Sets the object that should represent $block in template
+ *
+ * @param \Magento\Framework\View\Element\BlockInterface $templateContext
+ * @return void
+ */
+ public function setTemplateContext($templateContext)
+ {
+ }
+ /**
+ * Internal constructor, that is called from real constructor
+ *
+ * @return void
+ */
+ protected function _construct()
+ {
+ }
+ /**
+ * Get relevant path to template
+ *
+ * @return string
+ */
+ public function getTemplate()
+ {
+ }
+ /**
+ * Set path to template used for generating block's output.
+ *
+ * @param string $template
+ * @return $this
+ */
+ public function setTemplate($template)
+ {
+ }
+ /**
+ * Get absolute path to template
+ *
+ * @param string|null $template
+ * @return string|bool
+ */
+ public function getTemplateFile($template = null)
+ {
+ }
+ /**
+ * Get design area
+ *
+ * @return string
+ */
+ public function getArea()
+ {
+ }
+ /**
+ * Assign variable
+ *
+ * @param string|array $key
+ * @param mixed $value
+ * @return $this
+ */
+ public function assign($key, $value = null)
+ {
+ }
+ /**
+ * Retrieve block view from file (template)
+ *
+ * @param string $fileName
+ * @return string
+ */
+ public function fetchView($fileName)
+ {
+ }
+ /**
+ * Render block HTML
+ *
+ * @return string
+ */
+ protected function _toHtml()
+ {
+ }
+ /**
+ * Get base url of the application
+ *
+ * @return string
+ */
+ public function getBaseUrl()
+ {
+ }
+ /**
+ * Get data from specified object
+ *
+ * @param \Magento\Framework\DataObject $object
+ * @param string $key
+ * @return mixed
+ */
+ public function getObjectData(\Magento\Framework\DataObject $object, $key)
+ {
+ }
+ /**
+ * Get cache key informative items
+ *
+ * @return array
+ */
+ public function getCacheKeyInfo()
+ {
+ }
+ /**
+ * Instantiates filesystem directory
+ *
+ * @return \Magento\Framework\Filesystem\Directory\ReadInterface
+ */
+ protected function getRootDirectory()
+ {
+ }
+ /**
+ * Get media directory
+ *
+ * @return \Magento\Framework\Filesystem\Directory\Read
+ */
+ protected function getMediaDirectory()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Render {
+ /**
+ * Default price box renderer
+ *
+ * @method bool hasListClass()
+ * @method string getListClass()
+ */
+ class PriceBox extends \Magento\Framework\View\Element\Template implements \Magento\Framework\Pricing\Render\PriceBoxRenderInterface, \Magento\Framework\DataObject\IdentityInterface
+ {
+ /** Default block lifetime */
+ const DEFAULT_LIFETIME = 86400;
+ /**
+ * @var SaleableInterface
+ */
+ protected $saleableItem;
+ /**
+ * @var PriceInterface
+ */
+ protected $price;
+ /**
+ * @var RendererPool
+ */
+ protected $rendererPool;
+ /**
+ * @param Template\Context $context
+ * @param SaleableInterface $saleableItem
+ * @param PriceInterface $price
+ * @param RendererPool $rendererPool
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Framework\Pricing\SaleableInterface $saleableItem, \Magento\Framework\Pricing\Price\PriceInterface $price, \Magento\Framework\Pricing\Render\RendererPool $rendererPool, array $data = [])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function _toHtml()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getCacheKey()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function getCacheLifetime()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getSaleableItem()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getPrice()
+ {
+ }
+ /**
+ * Get price id
+ *
+ * @param null|string $defaultPrefix
+ * @param null|string $defaultSuffix
+ * @return string
+ */
+ public function getPriceId($defaultPrefix = null, $defaultSuffix = null)
+ {
+ }
+ /**
+ * Retrieve price object of given type and quantity
+ *
+ * @param string $priceCode
+ * @return PriceInterface
+ */
+ public function getPriceType($priceCode)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function renderAmount(\Magento\Framework\Pricing\Amount\AmountInterface $amount, array $arguments = [])
+ {
+ }
+ /**
+ * Get amount render.
+ *
+ * @param AmountInterface $amount
+ * @param array $arguments
+ * @return AmountRenderInterface
+ */
+ protected function getAmountRender(\Magento\Framework\Pricing\Amount\AmountInterface $amount, array $arguments = [])
+ {
+ }
+ /**
+ * Get renderer pool.
+ *
+ * @return RendererPool
+ */
+ public function getRendererPool()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getIdentities()
+ {
+ }
+ }
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ class RendererPool extends \Magento\Framework\View\Element\AbstractBlock
+ {
+ /**
+ * Default price group type
+ */
+ const DEFAULT_PRICE_GROUP_TYPE = 'default';
+ /**
+ * Default price renderer
+ */
+ const PRICE_RENDERER_DEFAULT = \Magento\Framework\Pricing\Render\PriceBox::class;
+ /**
+ * Default amount renderer
+ */
+ const AMOUNT_RENDERER_DEFAULT = \Magento\Framework\Pricing\Render\Amount::class;
+ /**
+ * Create amount renderer
+ *
+ * @param string $priceCode
+ * @param SaleableInterface $saleableItem
+ * @param array $data
+ * @throws \InvalidArgumentException
+ * @return PriceBoxRenderInterface
+ */
+ public function createPriceRender($priceCode, \Magento\Framework\Pricing\SaleableInterface $saleableItem, array $data = [])
+ {
+ }
+ /**
+ * Create amount renderer
+ *
+ * @param AmountInterface $amount
+ * @param SaleableInterface $saleableItem
+ * @param PriceInterface $price
+ * @param array $data
+ * @return AmountRenderInterface
+ * @throws \InvalidArgumentException
+ */
+ public function createAmountRender(\Magento\Framework\Pricing\Amount\AmountInterface $amount, \Magento\Framework\Pricing\SaleableInterface $saleableItem = null, \Magento\Framework\Pricing\Price\PriceInterface $price = null, array $data = [])
+ {
+ }
+ /**
+ * @param SaleableInterface $saleableItem
+ * @param PriceInterface $price
+ * @return array
+ */
+ public function getAdjustmentRenders(\Magento\Framework\Pricing\SaleableInterface $saleableItem = null, \Magento\Framework\Pricing\Price\PriceInterface $price = null)
+ {
+ }
+ /**
+ * @param string $type
+ * @param string $priceCode
+ * @return string
+ * @throws \InvalidArgumentException
+ */
+ protected function getAmountRenderBlockTemplate($type, $priceCode)
+ {
+ }
+ /**
+ * @param string $type
+ * @param string $priceCode
+ * @return string
+ * @throws \InvalidArgumentException
+ */
+ protected function getRenderBlockTemplate($type, $priceCode)
+ {
+ }
+ /**
+ * @param array $pattern
+ * @return null|string
+ */
+ protected function findDataByPattern(array $pattern)
+ {
+ }
+ }
+ /**
+ * Price amount renderer
+ *
+ * @method string getAdjustmentCssClasses()
+ * @method string getDisplayLabel()
+ * @method string getPriceId()
+ * @method bool getIncludeContainer()
+ * @method bool getSkipAdjustments()
+ */
+ class Amount extends \Magento\Framework\View\Element\Template implements \Magento\Framework\Pricing\Render\AmountRenderInterface
+ {
+ /**
+ * @var SaleableInterface
+ */
+ protected $saleableItem;
+ /**
+ * @var PriceInterface
+ */
+ protected $price;
+ /**
+ * @var AdjustmentRenderInterface[]
+ */
+ protected $adjustmentRenders;
+ /**
+ * @var PriceCurrencyInterface
+ */
+ protected $priceCurrency;
+ /**
+ * @var RendererPool
+ */
+ protected $rendererPool;
+ /**
+ * @var AmountInterface
+ */
+ protected $amount;
+ /**
+ * @var null|float
+ */
+ protected $displayValue;
+ /**
+ * @var string[]
+ */
+ protected $adjustmentsHtml = [];
+ /**
+ * @param Template\Context $context
+ * @param AmountInterface $amount
+ * @param PriceCurrencyInterface $priceCurrency
+ * @param RendererPool $rendererPool
+ * @param SaleableInterface $saleableItem
+ * @param \Magento\Framework\Pricing\Price\PriceInterface $price
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Framework\Pricing\Amount\AmountInterface $amount, \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency, \Magento\Framework\Pricing\Render\RendererPool $rendererPool, \Magento\Framework\Pricing\SaleableInterface $saleableItem = null, \Magento\Framework\Pricing\Price\PriceInterface $price = null, array $data = [])
+ {
+ }
+ /**
+ * @param float $value
+ * @return void
+ */
+ public function setDisplayValue($value)
+ {
+ }
+ /**
+ * @return float
+ */
+ public function getDisplayValue()
+ {
+ }
+ /**
+ * @return AmountInterface
+ */
+ public function getAmount()
+ {
+ }
+ /**
+ * @return SaleableInterface
+ */
+ public function getSaleableItem()
+ {
+ }
+ /**
+ * @return \Magento\Framework\Pricing\Price\PriceInterface
+ */
+ public function getPrice()
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getDisplayCurrencyCode()
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getDisplayCurrencySymbol()
+ {
+ }
+ /**
+ * @return bool
+ */
+ public function hasAdjustmentsHtml()
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getAdjustmentsHtml()
+ {
+ }
+ /**
+ * @return string
+ */
+ protected function _toHtml()
+ {
+ }
+ /**
+ * @return AdjustmentRenderInterface[]
+ */
+ protected function getAdjustmentRenders()
+ {
+ }
+ /**
+ * @param AdjustmentRenderInterface[] $adjustmentRenders
+ * @return array
+ */
+ protected function getAdjustments($adjustmentRenders)
+ {
+ }
+ /**
+ * Format price value
+ *
+ * @param float $amount
+ * @param bool $includeContainer
+ * @param int $precision
+ * @return float
+ */
+ public function formatCurrency($amount, $includeContainer = true, $precision = \Magento\Framework\Pricing\PriceCurrencyInterface::DEFAULT_PRECISION)
+ {
+ }
+ /**
+ * @param AdjustmentRenderInterface[] $adjustmentRenders
+ * @return array
+ */
+ protected function setAdjustmentCssClasses($adjustmentRenders)
+ {
+ }
+ }
+ /**
+ * Adjustment render interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface AdjustmentRenderInterface
+ {
+ /**
+ * @param AmountRenderInterface $amountRender
+ * @param array $arguments
+ * @return string
+ */
+ public function render(\Magento\Framework\Pricing\Render\AmountRenderInterface $amountRender, array $arguments = []);
+ /**
+ * @return string
+ */
+ public function getAdjustmentCode();
+ /**
+ * @return array
+ */
+ public function getData();
+ /**
+ * (to use in templates only)
+ *
+ * @return AmountRenderInterface
+ */
+ public function getAmountRender();
+ /**
+ * (to use in templates only)
+ *
+ * @return PriceInterface
+ */
+ public function getPrice();
+ /**
+ * (to use in templates only)
+ *
+ * @return SaleableInterface
+ */
+ public function getSaleableItem();
+ /**
+ * (to use in templates only)
+ *
+ * @return \Magento\Framework\Pricing\Adjustment\AdjustmentInterface
+ */
+ public function getAdjustment();
+ }
+ /**
+ * Adjustment render abstract
+ *
+ * @method string getZone()
+ */
+ abstract class AbstractAdjustment extends \Magento\Framework\View\Element\Template implements \Magento\Framework\Pricing\Render\AdjustmentRenderInterface
+ {
+ /**
+ * @var PriceCurrencyInterface
+ */
+ protected $priceCurrency;
+ /**
+ * @var AmountRenderInterface
+ */
+ protected $amountRender;
+ /**
+ * @param Template\Context $context
+ * @param PriceCurrencyInterface $priceCurrency
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency, array $data = [])
+ {
+ }
+ /**
+ * @param AmountRenderInterface $amountRender
+ * @param array $arguments
+ * @return string
+ */
+ public function render(\Magento\Framework\Pricing\Render\AmountRenderInterface $amountRender, array $arguments = [])
+ {
+ }
+ /**
+ * @return AmountRenderInterface
+ */
+ public function getAmountRender()
+ {
+ }
+ /**
+ * @param string $priceCode
+ * @return PriceInterface
+ */
+ public function getPriceType($priceCode)
+ {
+ }
+ /**
+ * @return \Magento\Framework\Pricing\Price\PriceInterface
+ */
+ public function getPrice()
+ {
+ }
+ /**
+ * @return SaleableInterface
+ */
+ public function getSaleableItem()
+ {
+ }
+ /**
+ * Format price value
+ *
+ * @param float $amount
+ * @param bool $includeContainer
+ * @param int $precision
+ * @return string
+ */
+ public function formatCurrency($amount, $includeContainer = true, $precision = \Magento\Framework\Pricing\PriceCurrencyInterface::DEFAULT_PRECISION)
+ {
+ }
+ /**
+ * Convert and format price value
+ *
+ * @param float $amount
+ * @param bool $includeContainer
+ * @param int $precision
+ * @return string
+ */
+ public function convertAndFormatCurrency($amount, $includeContainer = true, $precision = \Magento\Framework\Pricing\PriceCurrencyInterface::DEFAULT_PRECISION)
+ {
+ }
+ /**
+ * @return \Magento\Framework\Pricing\Adjustment\AdjustmentInterface
+ */
+ public function getAdjustment()
+ {
+ }
+ /**
+ * @return string
+ */
+ protected abstract function apply();
+ }
+ /**
+ * Pricing render's layout model
+ */
+ class Layout
+ {
+ /**
+ * Layout Interface
+ *
+ * @var LayoutInterface
+ */
+ protected $layout;
+ /**
+ * Constructor
+ *
+ * @param LayoutFactory $layoutFactory
+ * @param LayoutInterface $generalLayout
+ */
+ public function __construct(\Magento\Framework\View\LayoutFactory $layoutFactory, \Magento\Framework\View\LayoutInterface $generalLayout)
+ {
+ }
+ /**
+ * Add handle(s) to layout
+ *
+ * @param string|string[] $handle
+ * @return void
+ */
+ public function addHandle($handle)
+ {
+ }
+ /**
+ * Load layout
+ *
+ * @return void
+ */
+ public function loadLayout()
+ {
+ }
+ /**
+ * Obtain block object
+ *
+ * @param string $name
+ * @return \Magento\Framework\View\Element\AbstractBlock
+ */
+ public function getBlock($name)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing {
+ /**
+ * Price info model interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface PriceInfoInterface
+ {
+ /**
+ * Default product quantity
+ */
+ const PRODUCT_QUANTITY_DEFAULT = 1.0;
+ /**
+ * Returns array of prices
+ *
+ * @return PriceInterface[]
+ */
+ public function getPrices();
+ /**
+ * Returns price by code
+ *
+ * @param string $priceCode
+ * @return PriceInterface
+ */
+ public function getPrice($priceCode);
+ /**
+ * Get all registered adjustments
+ *
+ * @return AdjustmentInterface[]
+ */
+ public function getAdjustments();
+ /**
+ * Get adjustment by code
+ *
+ * @param string $adjustmentCode
+ * @return AdjustmentInterface
+ */
+ public function getAdjustment($adjustmentCode);
+ }
+}
+namespace Magento\Framework\Pricing\Test\Unit\Render {
+ /**
+ * Test class for \Magento\Framework\Pricing\Render\Amount
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class AmountTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Amount
+ */
+ protected $model;
+ /**
+ * @var PriceCurrencyInterface|MockObject
+ */
+ protected $priceCurrency;
+ /**
+ * @var RendererPool|MockObject
+ */
+ protected $rendererPool;
+ /**
+ * @var LayoutInterface|MockObject
+ */
+ protected $layout;
+ /**
+ * @var SaleableInterface|MockObject
+ */
+ protected $saleableItemMock;
+ /**
+ * @var AmountInterface|MockObject
+ */
+ protected $amount;
+ /**
+ * @var PriceInterface|MockObject
+ */
+ protected $priceMock;
+ protected function setUp() : void
+ {
+ }
+ public function testFormatCurrency()
+ {
+ }
+ public function testGetDisplayCurrencySymbol()
+ {
+ }
+ /**
+ * Test case for getAdjustmentRenders method through toHtml()
+ *
+ * @param bool $hasSkipAdjustments
+ * @param bool|null $skipAdjustments
+ * @param string $expected
+ * @dataProvider dataProviderToHtmlSkipAdjustments
+ */
+ public function testToHtmlSkipAdjustments($hasSkipAdjustments, $skipAdjustments, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function dataProviderToHtmlSkipAdjustments()
+ {
+ }
+ /**
+ * Test case for getAdjustmentRenders method through toHtml()
+ */
+ public function testToHtmlGetAdjustmentRenders()
+ {
+ }
+ public function testGetDisplayValueExiting()
+ {
+ }
+ public function testGetDisplayValue()
+ {
+ }
+ public function testGetAmount()
+ {
+ }
+ public function testGetSealableItem()
+ {
+ }
+ public function testGetPrice()
+ {
+ }
+ public function testAdjustmentsHtml()
+ {
+ }
+ /**
+ * @param array $data
+ * @param string $html
+ * @param string $code
+ * @return MockObject
+ */
+ protected function getAdjustmentRenderMock($data = [], $html = '', $code = 'adjustment_code')
+ {
+ }
+ }
+ /**
+ * Test class for \Magento\Framework\Pricing\Render\Layout
+ */
+ class LayoutTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Layout
+ */
+ protected $model;
+ /**
+ * @var LayoutInterface|MockObject
+ */
+ protected $layout;
+ /**
+ * @var LayoutFactory|MockObject
+ */
+ protected $layoutFactory;
+ /**
+ * @var LayoutInterface|MockObject
+ */
+ protected $generalLayout;
+ protected function setUp() : void
+ {
+ }
+ public function testAddHandle()
+ {
+ }
+ public function testLoadLayout()
+ {
+ }
+ public function testGetBlock()
+ {
+ }
+ }
+ /**
+ * Test class for \Magento\Framework\Pricing\Render\RendererPool
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class RendererPoolTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var \Magento\Framework\Pricing\Render\RendererPool|MockObject
+ */
+ protected $object;
+ /**
+ * @var Layout|MockObject
+ */
+ protected $layoutMock;
+ /**
+ * @var Product|MockObject
+ */
+ protected $productMock;
+ /**
+ * @var BasePrice|MockObject
+ */
+ protected $priceMock;
+ /**
+ * @var LayoutInterface|MockObject
+ */
+ protected $contextMock;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test createPriceRender() if not found render class name
+ */
+ public function testCreatePriceRenderNoClassName()
+ {
+ }
+ /**
+ * Test createPriceRender() if not found price model
+ */
+ public function testCreatePriceRenderNoPriceModel()
+ {
+ }
+ /**
+ * Test createPriceRender() if not found price model
+ */
+ public function testCreatePriceRenderBlockNotPriceBox()
+ {
+ }
+ /**
+ * Test createPriceRender()
+ */
+ public function testCreatePriceRender()
+ {
+ }
+ /**
+ * Test createAmountRender() if amount render class not found
+ */
+ public function testCreateAmountRenderNoAmountClass()
+ {
+ }
+ /**
+ * Test createAmountRender() if amount render block not implement Amount interface
+ */
+ public function testCreateAmountRenderNotAmountInterface()
+ {
+ }
+ /**
+ * Test createAmountRender()
+ */
+ public function testCreateAmountRender()
+ {
+ }
+ /**
+ * Test getAdjustmentRenders() with not existed adjustment render class
+ */
+ public function testGetAdjustmentRendersNoRenderClass()
+ {
+ }
+ /**
+ * Test getAdjustmentRenders() with not existed adjustment render template
+ */
+ public function testGetAdjustmentRendersNoRenderTemplate()
+ {
+ }
+ /**
+ * Test getAdjustmentRenders()
+ */
+ public function testGetAdjustmentRenders()
+ {
+ }
+ /**
+ * Test getAmountRenderBlockTemplate() through createAmountRender() in case when template not exists
+ */
+ public function testGetAmountRenderBlockTemplateNoTemplate()
+ {
+ }
+ /**
+ * Test getRenderBlockTemplate() through createPriceRender() in case when template not exists
+ */
+ public function testGetRenderBlockTemplate()
+ {
+ }
+ /**
+ * Create tested object with specified parameters
+ *
+ * @param array $data
+ * @return RendererPool
+ */
+ protected function createTestedEntity(array $data = [])
+ {
+ }
+ }
+ /**
+ * Test class for \Magento\Framework\Pricing\Render\PriceBox
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class PriceBoxTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ObjectManager
+ */
+ protected $objectManager;
+ /**
+ * @var PriceBox
+ */
+ protected $model;
+ /**
+ * @var Context|MockObject
+ */
+ protected $context;
+ /**
+ * @var RendererPool|MockObject
+ */
+ protected $rendererPool;
+ /**
+ * @var SaleableInterface|MockObject
+ */
+ protected $saleable;
+ /**
+ * @var PriceInterface|MockObject
+ */
+ protected $price;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param array $data
+ * @param string $priceCode
+ * @param array $cssClasses
+ * @dataProvider toHtmlDataProvider
+ */
+ public function testToHtml($data, $priceCode, $cssClasses)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function toHtmlDataProvider()
+ {
+ }
+ public function testGetSaleableItem()
+ {
+ }
+ public function testGetPrice()
+ {
+ }
+ public function testGetPriceType()
+ {
+ }
+ public function testRenderAmount()
+ {
+ }
+ public function testGetPriceIdHasDataPriceId()
+ {
+ }
+ /**
+ * @dataProvider getPriceIdProvider
+ * @param string $prefix
+ * @param string $suffix
+ * @param string $defaultPrefix
+ * @param string $defaultSuffix
+ */
+ public function testGetPriceId($prefix, $suffix, $defaultPrefix, $defaultSuffix)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getPriceIdProvider()
+ {
+ }
+ public function testGetRendererPool()
+ {
+ }
+ }
+ /**
+ * Test class for \Magento\Framework\Pricing\Render\AbstractAdjustment
+ */
+ class AbstractAdjustmentTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var AbstractAdjustment|MockObject
+ */
+ protected $model;
+ /**
+ * @var PriceCurrencyInterface|MockObject
+ */
+ protected $priceCurrency;
+ /**
+ * @var array
+ */
+ protected $data;
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testConvertAndFormatCurrency() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testRender() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetAmountRender() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetPriceType() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetPrice() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetSealableItem() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetAdjustment() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testFormatCurrency() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Test\Unit\Helper {
+ class DataTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ObjectManager
+ */
+ protected $objectManager;
+ /**
+ * @var PriceCurrencyInterface|MockObject
+ */
+ protected $priceCurrencyMock;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $amount
+ * @param bool $format
+ * @param bool $includeContainer
+ * @param string $result
+ * @dataProvider currencyDataProvider
+ */
+ public function testCurrency($amount, $format, $includeContainer, $result)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function currencyDataProvider()
+ {
+ }
+ /**
+ * @param string $amount
+ * @param string $store
+ * @param bool $format
+ * @param bool $includeContainer
+ * @param string $result
+ * @dataProvider currencyByStoreDataProvider
+ */
+ public function testCurrencyByStore($amount, $store, $format, $includeContainer, $result)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function currencyByStoreDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Test\Unit {
+ /**
+ * Test class for \Magento\Framework\Pricing\Render
+ */
+ class RenderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Render
+ */
+ protected $model;
+ /**
+ * @var Render\Layout|MockObject
+ */
+ protected $priceLayout;
+ /**
+ * @var PriceInterface|MockObject
+ */
+ protected $price;
+ /**
+ * @var Base|MockObject
+ */
+ protected $amount;
+ /**
+ * @var SaleableInterface|MockObject
+ */
+ protected $saleableItem;
+ /**
+ * @var RendererPool|MockObject
+ */
+ protected $renderPool;
+ protected function setUp() : void
+ {
+ }
+ public function testSetLayout()
+ {
+ }
+ public function testRenderWithoutRenderList()
+ {
+ }
+ public function testRender()
+ {
+ }
+ public function testRenderDefault()
+ {
+ }
+ public function testRenderDefaultDefault()
+ {
+ }
+ public function testAmountRender()
+ {
+ }
+ public function testAmountRenderNoRenderPool()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Test\Unit\Adjustment {
+ class PoolTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Pool
+ */
+ public $model;
+ protected function setUp() : void
+ {
+ }
+ public function testGetAdjustments()
+ {
+ }
+ /**
+ * @dataProvider getAdjustmentByCodeDataProvider
+ */
+ public function testGetAdjustmentByCode($code, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getAdjustmentByCodeDataProvider()
+ {
+ }
+ public function testGetAdjustmentByNotExistingCode()
+ {
+ }
+ }
+ /**
+ * Test class for \Magento\Framework\Pricing\Adjustment\Factory
+ */
+ class FactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ObjectManager
+ */
+ protected $objectManager;
+ protected function setUp() : void
+ {
+ }
+ public function testCreate()
+ {
+ }
+ /**
+ * @param string $adjustmentInterface
+ * @return object
+ */
+ protected function prepareAdjustmentFactory($adjustmentInterface)
+ {
+ }
+ /**
+ * @param string $adjustmentInterface
+ * @return MockObject|\Magento\Framework\ObjectManager\ObjectManager
+ */
+ protected function prepareObjectManager($adjustmentInterface)
+ {
+ }
+ public function testCreateWithException()
+ {
+ }
+ }
+ class CollectionTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Pool
+ */
+ protected $adjustmentPool;
+ /**
+ * @var [][]
+ */
+ protected $adjustmentsData;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string[] $adjustments
+ * @param string[] $expectedResult
+ * @dataProvider getItemsDataProvider
+ */
+ public function testGetItems($adjustments, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getItemsDataProvider()
+ {
+ }
+ /**
+ * @param string[] $adjustments
+ * @param string $code
+ * @param $expectedResult
+ * @dataProvider getItemByCodeDataProvider
+ */
+ public function testGetItemByCode($adjustments, $code, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getItemByCodeDataProvider()
+ {
+ }
+ public function testGetItemByNotExistingCode()
+ {
+ }
+ }
+ class CalculatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Calculator
+ */
+ protected $model;
+ /**
+ * @var AmountFactory|MockObject
+ */
+ protected $amountFactoryMock;
+ protected function setUp() : void
+ {
+ }
+ protected function tearDown() : void
+ {
+ }
+ /**
+ * Test getAmount()
+ */
+ public function testGetAmount()
+ {
+ }
+ public function testGetAmountExclude()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Test\Unit\PriceInfo {
+ /**
+ * Test class for \Magento\Framework\Pricing\PriceInfo\Factory
+ */
+ class FactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ObjectManager|MockObject
+ */
+ protected $objectManagerMock;
+ /**
+ * @var array
+ */
+ protected $types;
+ /**
+ * @var Factory
+ */
+ protected $factory;
+ /**
+ * @var Collection|MockObject
+ */
+ protected $pricesMock;
+ /**
+ * @var SaleableInterface|MockObject
+ */
+ protected $saleableItemMock;
+ /**
+ * @var Base|MockObject
+ */
+ protected $priceInfoMock;
+ /**
+ * SetUp test
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function createPriceInfoDataProvider()
+ {
+ }
+ /**
+ * @param $typeId
+ * @param $quantity
+ * @param $infoClass
+ * @param $prices
+ * @dataProvider createPriceInfoDataProvider
+ */
+ public function testCreate($typeId, $quantity, $infoClass, $prices)
+ {
+ }
+ }
+ /**
+ * Test class for \Magento\Framework\Pricing\PriceInfo\Base
+ */
+ class BaseTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject|Collection
+ */
+ protected $priceCollection;
+ /**
+ * @var MockObject|\Magento\Framework\Pricing\Adjustment\Collection
+ */
+ protected $adjustmentCollection;
+ /**
+ * @var Base
+ */
+ protected $model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * test method getPrices()
+ */
+ public function testGetPrices()
+ {
+ }
+ /**
+ * @param $entryParams
+ * @param $createCount
+ * @dataProvider providerGetPrice
+ */
+ public function testGetPrice($entryParams, $createCount)
+ {
+ }
+ /**
+ * Data provider for testGetPrice
+ *
+ * @return array
+ */
+ public function providerGetPrice()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Pricing\PriceInfo\Base::getAdjustments
+ */
+ public function testGetAdjustments()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Pricing\PriceInfo\Base::getAdjustment
+ */
+ public function testGetAdjustment()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Test\Unit\Amount {
+ class AmountFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var AmountFactory
+ */
+ protected $factory;
+ /**
+ * @var ObjectManager|MockObject
+ */
+ protected $objectManagerMock;
+ /**
+ * @var Base|MockObject
+ */
+ protected $amountMock;
+ /**
+ * Test setUp
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test method create
+ */
+ public function testCreate()
+ {
+ }
+ /**
+ * Test method create
+ */
+ public function testCreateException()
+ {
+ }
+ }
+ class BaseTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Test getValue() without exclude argument
+ */
+ public function testGetValueWithoutExclude()
+ {
+ }
+ /**
+ * Test getValue() with exclude argument
+ */
+ public function testGetValueWithExclude()
+ {
+ }
+ /**
+ * Test __toString()
+ */
+ public function testToString()
+ {
+ }
+ /**
+ * Test getBaseAmount()
+ */
+ public function testGetBaseAmount()
+ {
+ }
+ /**
+ * Test getAdjustmentAmount() if no adjustment amounts
+ */
+ public function testGetAdjustmentAmountNoAdjustments()
+ {
+ }
+ /**
+ * Test getAdjustmentAmount() if adjustment amount exists
+ */
+ public function testGetAdjustmentAmountWithAdjustments()
+ {
+ }
+ /**
+ * Test getTotalAdjustmentAmount()
+ */
+ public function testGetTotalAdjustmentAmount()
+ {
+ }
+ /**
+ * Test getAdjustmentAmounts()
+ */
+ public function testGetAdjustmentAmounts()
+ {
+ }
+ /**
+ * Test getAdjustmentAmounts()
+ */
+ public function testHasAdjustment()
+ {
+ }
+ /**
+ * Return instance of tested model
+ *
+ * @param string $amount
+ * @param array $adjustmentAmounts
+ * @return Base
+ */
+ protected function createEntity($amount, array $adjustmentAmounts = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Test\Unit\Price {
+ /**
+ * Test for Pool
+ */
+ class PoolTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Pool
+ */
+ protected $pool;
+ /**
+ * @var array
+ */
+ protected $prices;
+ /**
+ * @var array
+ */
+ protected $target;
+ /**
+ * \Iterator
+ */
+ protected $targetPool;
+ /**
+ * Test setUp
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * test mergedConfiguration
+ */
+ public function testMergedConfiguration()
+ {
+ }
+ /**
+ * Test get method
+ */
+ public function testGet()
+ {
+ }
+ /**
+ * Test abilities of ArrayAccess interface
+ */
+ public function testArrayAccess()
+ {
+ }
+ /**
+ * Test abilities of Iterator interface
+ */
+ public function testIterator()
+ {
+ }
+ }
+ /**
+ * Test class for \Magento\Framework\Pricing\Factory
+ */
+ class FactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Factory
+ */
+ protected $model;
+ /**
+ * @var ObjectManagerInterface|MockObject
+ */
+ protected $objectManagerMock;
+ protected function setUp() : void
+ {
+ }
+ public function testCreate()
+ {
+ }
+ /**
+ * @codingStandardsIgnoreStart
+ * @codingStandardsIgnoreEnd
+ */
+ public function testCreateWithException()
+ {
+ }
+ }
+ class AbstractPriceTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var AbstractPrice
+ */
+ protected $price;
+ /**
+ * @var Base|MockObject
+ */
+ protected $priceInfoMock;
+ /**
+ * @var SaleableInterface|MockObject
+ */
+ protected $saleableItemMock;
+ /**
+ * @var Calculator|MockObject
+ */
+ protected $calculatorMock;
+ /**
+ * @var PriceCurrencyInterface|MockObject
+ */
+ protected $priceCurrencyMock;
+ /**
+ * Test setUp
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test method testGetDisplayValue
+ */
+ public function testGetAmount()
+ {
+ }
+ /**
+ * Test method getPriceType
+ */
+ public function testGetPriceCode()
+ {
+ }
+ public function testGetCustomAmount()
+ {
+ }
+ public function testGetCustomAmountDefault()
+ {
+ }
+ public function testGetQuantity()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Price {
+ /**
+ * Catalog price interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface PriceInterface
+ {
+ /**
+ * Get price type code
+ *
+ * @return string
+ */
+ public function getPriceCode();
+ /**
+ * Get price value
+ *
+ * @return float
+ */
+ public function getValue();
+ /**
+ * Get Price Amount object
+ *
+ * @return AmountInterface
+ */
+ public function getAmount();
+ /**
+ * Get Custom Amount object
+ * (specify adjustment code to exclude)
+ *
+ * @param float $amount
+ * @param null|bool|string|array $exclude
+ * @param null|array $context
+ * @return AmountInterface
+ */
+ public function getCustomAmount($amount = null, $exclude = null, $context = []);
+ }
+ /**
+ * Class AbstractPrice
+ * Should be the base for creating any Price type class
+ *
+ * phpcs:disable Magento2.Classes.AbstractApi
+ * @api
+ * @since 100.0.2
+ */
+ abstract class AbstractPrice implements \Magento\Framework\Pricing\Price\PriceInterface
+ {
+ /**
+ * Default price type
+ */
+ public const PRICE_CODE = 'abstract_price';
+ /**
+ * @var AmountInterface[]
+ */
+ protected $amount;
+ /**
+ * @var \Magento\Framework\Pricing\Adjustment\CalculatorInterface
+ */
+ protected $calculator;
+ /**
+ * @var SaleableInterface
+ */
+ protected $product;
+ /**
+ * @var string
+ */
+ protected $priceType;
+ /**
+ * @var float
+ */
+ protected $quantity;
+ /**
+ * @var PriceInfoInterface
+ */
+ protected $priceInfo;
+ /**
+ * @var bool|float
+ */
+ protected $value;
+ /**
+ * @var \Magento\Framework\Pricing\PriceCurrencyInterface
+ */
+ protected $priceCurrency;
+ /**
+ * @param SaleableInterface $saleableItem
+ * @param float $quantity
+ * @param CalculatorInterface $calculator
+ * @param \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency
+ */
+ public function __construct(\Magento\Framework\Pricing\SaleableInterface $saleableItem, $quantity, \Magento\Framework\Pricing\Adjustment\CalculatorInterface $calculator, \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency)
+ {
+ }
+ /**
+ * Get price value in display currency
+ *
+ * @return float|bool
+ */
+ public abstract function getValue();
+ /**
+ * Get Price Amount object
+ *
+ * @return AmountInterface
+ */
+ public function getAmount()
+ {
+ }
+ /**
+ * Calculates custom amount
+ *
+ * @param float $amount
+ * @param null|bool|string|array $exclude
+ * @param null|array $context
+ *
+ * @return AmountInterface|bool|float
+ */
+ public function getCustomAmount($amount = null, $exclude = null, $context = [])
+ {
+ }
+ /**
+ * Get price type code
+ *
+ * @return string
+ */
+ public function getPriceCode()
+ {
+ }
+ /**
+ * Returns product
+ *
+ * @return SaleableInterface
+ */
+ public function getProduct()
+ {
+ }
+ /**
+ * Returns qty
+ *
+ * @return float
+ */
+ public function getQuantity()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Test\Unit\Price {
+ /**
+ * Class Stub for testing abstract class AbstractPrice
+ *
+ */
+ class Stub extends \Magento\Framework\Pricing\Price\AbstractPrice
+ {
+ /**
+ * Get price value
+ *
+ * @return float
+ */
+ public function getValue()
+ {
+ }
+ }
+ /**
+ * Test for class Collection
+ */
+ class CollectionTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Collection
+ */
+ protected $collection;
+ /**
+ * @var Pool
+ */
+ protected $pool;
+ /**
+ * @var PriceInterface|MockObject
+ */
+ protected $priceMock;
+ /**
+ * @var SaleableInterface|MockObject
+ */
+ protected $saleableItemMock;
+ /**
+ * @var Factory|MockObject
+ */
+ protected $factoryMock;
+ /**
+ * @var float
+ */
+ protected $quantity;
+ /**
+ * Test setUp
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test get method
+ */
+ public function testGet()
+ {
+ }
+ /**
+ * Test current method
+ */
+ public function testCurrent()
+ {
+ }
+ }
+}
+namespace Magento\Framework\App\Helper {
+ /**
+ * Abstract helper
+ *
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ */
+ abstract class AbstractHelper
+ {
+ /**
+ * Helper module name
+ *
+ * @var string
+ */
+ protected $_moduleName;
+ /**
+ * Request object
+ *
+ * @var \Magento\Framework\App\RequestInterface
+ */
+ protected $_request;
+ /**
+ * @var \Magento\Framework\Module\Manager
+ */
+ protected $_moduleManager;
+ /**
+ * @var \Psr\Log\LoggerInterface
+ */
+ protected $_logger;
+ /**
+ * @var \Magento\Framework\UrlInterface
+ */
+ protected $_urlBuilder;
+ /**
+ * @var \Magento\Framework\HTTP\Header
+ */
+ protected $_httpHeader;
+ /**
+ * Event manager
+ *
+ * @var \Magento\Framework\Event\ManagerInterface
+ */
+ protected $_eventManager;
+ /**
+ * @var \Magento\Framework\HTTP\PhpEnvironment\RemoteAddress
+ */
+ protected $_remoteAddress;
+ /**
+ * @var \Magento\Framework\Url\EncoderInterface
+ */
+ protected $urlEncoder;
+ /**
+ * @var \Magento\Framework\Url\DecoderInterface
+ */
+ protected $urlDecoder;
+ /**
+ * @var \Magento\Framework\App\Config\ScopeConfigInterface
+ */
+ protected $scopeConfig;
+ /**
+ * @var \Magento\Framework\Cache\ConfigInterface
+ */
+ protected $_cacheConfig;
+ /**
+ * @param Context $context
+ */
+ public function __construct(\Magento\Framework\App\Helper\Context $context)
+ {
+ }
+ /**
+ * Retrieve request object
+ *
+ * @return \Magento\Framework\App\RequestInterface
+ */
+ protected function _getRequest()
+ {
+ }
+ /**
+ * Retrieve helper module name
+ *
+ * @return string
+ */
+ protected function _getModuleName()
+ {
+ }
+ /**
+ * Check whether or not the module output is enabled in Configuration
+ *
+ * @param string $moduleName Full module name
+ * @return boolean
+ * use \Magento\Framework\Module\Manager::isOutputEnabled()
+ */
+ public function isModuleOutputEnabled($moduleName = null)
+ {
+ }
+ /**
+ * Retrieve url
+ *
+ * @param string $route
+ * @param array $params
+ * @return string
+ */
+ protected function _getUrl($route, $params = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Helper {
+ /**
+ * Pricing data helper
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Data extends \Magento\Framework\App\Helper\AbstractHelper
+ {
+ /**
+ * @var PriceCurrencyInterface
+ */
+ protected $priceCurrency;
+ /**
+ * @param \Magento\Framework\App\Helper\Context $context
+ * @param PriceCurrencyInterface $priceCurrency
+ */
+ public function __construct(\Magento\Framework\App\Helper\Context $context, \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency)
+ {
+ }
+ /**
+ * Convert and format price value for current application store
+ *
+ * @param float $value
+ * @param bool $format
+ * @param bool $includeContainer
+ * @return float|string
+ */
+ public function currency($value, $format = true, $includeContainer = true)
+ {
+ }
+ /**
+ * Convert and format price value for specified store
+ *
+ * @param float $value
+ * @param int|\Magento\Store\Model\Store $store
+ * @param bool $format
+ * @param bool $includeContainer
+ * @return float|string
+ */
+ public function currencyByStore($value, $store = null, $format = true, $includeContainer = true)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Adjustment {
+ /**
+ * Adjustment factory
+ */
+ class Factory
+ {
+ /**
+ * Object Manager
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Construct
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create shared price adjustment
+ *
+ * @param string $className
+ * @param array $arguments
+ * @return \Magento\Framework\Pricing\Adjustment\AdjustmentInterface
+ * @throws \InvalidArgumentException
+ */
+ public function create($className, array $arguments = [])
+ {
+ }
+ }
+ /**
+ * Adjustment collection model
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Collection
+ {
+ /**
+ * @var Pool
+ */
+ protected $adjustmentPool;
+ /**
+ * @var string[]
+ */
+ protected $adjustments;
+ /**
+ * @var AdjustmentInterface[]
+ */
+ protected $adjustmentInstances;
+ /**
+ * @param Pool $adjustmentPool
+ * @param string[] $adjustments
+ */
+ public function __construct(\Magento\Framework\Pricing\Adjustment\Pool $adjustmentPool, array $adjustments)
+ {
+ }
+ /**
+ * @return AdjustmentInterface[]
+ */
+ public function getItems()
+ {
+ }
+ /**
+ * Get adjustment by code
+ *
+ * @param string $adjustmentCode
+ * @throws \InvalidArgumentException
+ * @return AdjustmentInterface
+ */
+ public function getItemByCode($adjustmentCode)
+ {
+ }
+ /**
+ * @param string[] $adjustments
+ * @return AdjustmentInterface[]
+ */
+ protected function fetchAdjustments($adjustments)
+ {
+ }
+ /**
+ * Sort adjustments
+ *
+ * @param AdjustmentInterface $firstAdjustment
+ * @param AdjustmentInterface $secondAdjustment
+ * @return int
+ */
+ protected function sortAdjustments(\Magento\Framework\Pricing\Adjustment\AdjustmentInterface $firstAdjustment, \Magento\Framework\Pricing\Adjustment\AdjustmentInterface $secondAdjustment)
+ {
+ }
+ }
+ /**
+ * Calculator interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface CalculatorInterface
+ {
+ /**
+ * @param float|string $amount
+ * @param SaleableInterface $saleableItem
+ * @param null|bool|string|array $exclude
+ * @param null|array $context
+ * @return \Magento\Framework\Pricing\Amount\AmountInterface
+ */
+ public function getAmount($amount, \Magento\Framework\Pricing\SaleableInterface $saleableItem, $exclude = null, $context = []);
+ }
+ /**
+ * Global adjustment pool model
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Pool
+ {
+ /**
+ * Default adjustment sort order
+ */
+ const DEFAULT_SORT_ORDER = -1;
+ /**
+ * @var AdjustmentFactory
+ */
+ protected $adjustmentFactory;
+ /**
+ * @var array[]
+ */
+ protected $adjustments;
+ /**
+ * @var AdjustmentInterface[]
+ */
+ protected $adjustmentInstances;
+ /**
+ * @param AdjustmentFactory $adjustmentFactory
+ * @param array[] $adjustments
+ */
+ public function __construct(\Magento\Framework\Pricing\Adjustment\Factory $adjustmentFactory, $adjustments = [])
+ {
+ }
+ /**
+ * @return AdjustmentInterface[]
+ */
+ public function getAdjustments()
+ {
+ }
+ /**
+ * @param string $adjustmentCode
+ * @return AdjustmentInterface
+ * @throws \InvalidArgumentException
+ */
+ public function getAdjustmentByCode($adjustmentCode)
+ {
+ }
+ /**
+ * Instantiate adjustments
+ *
+ * @param string[] $adjustments
+ * @return AdjustmentInterface[]
+ */
+ protected function createAdjustments($adjustments)
+ {
+ }
+ /**
+ * Create adjustment by code
+ *
+ * @param string $adjustmentCode
+ * @return AdjustmentInterface
+ */
+ protected function createAdjustment($adjustmentCode)
+ {
+ }
+ }
+ /**
+ * Class Calculator
+ */
+ class Calculator implements \Magento\Framework\Pricing\Adjustment\CalculatorInterface
+ {
+ /**
+ * @var AmountFactory
+ */
+ protected $amountFactory;
+ /**
+ * @param AmountFactory $amountFactory
+ */
+ public function __construct(\Magento\Framework\Pricing\Amount\AmountFactory $amountFactory)
+ {
+ }
+ /**
+ * Retrieve Amount object based on given float amount, product and exclude option.
+ * It is possible to pass "true" or adjustment code to exclude all or specific adjustment from an amount.
+ *
+ * @param float|string $amount
+ * @param SaleableInterface $saleableItem
+ * @param null|bool|string|array $exclude
+ * @param null|array $context
+ * @return \Magento\Framework\Pricing\Amount\AmountInterface
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function getAmount($amount, \Magento\Framework\Pricing\SaleableInterface $saleableItem, $exclude = null, $context = [])
+ {
+ }
+ }
+ /**
+ * Interface AdjustmentInterface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface AdjustmentInterface
+ {
+ /**
+ * Get adjustment code
+ * (as declared in DI configuration)
+ *
+ * @return string
+ */
+ public function getAdjustmentCode();
+ /**
+ * Define if adjustment is included in base price
+ *
+ * @return bool
+ */
+ public function isIncludedInBasePrice();
+ /**
+ * Define if adjustment is included in display price
+ *
+ * @return bool
+ */
+ public function isIncludedInDisplayPrice();
+ /**
+ * Extract adjustment amount from the given amount value
+ *
+ * @param float $amount
+ * @param SaleableInterface $saleableItem
+ * @param null|array $context
+ * @return float
+ */
+ public function extractAdjustment($amount, \Magento\Framework\Pricing\SaleableInterface $saleableItem, $context = []);
+ /**
+ * Apply adjustment amount and return result value
+ *
+ * @param float $amount
+ * @param SaleableInterface $saleableItem
+ * @param null|array $context
+ * @return float
+ */
+ public function applyAdjustment($amount, \Magento\Framework\Pricing\SaleableInterface $saleableItem, $context = []);
+ /**
+ * Check if adjustment should be excluded from calculations along with the given adjustment
+ *
+ * @param string $adjustmentCode
+ * @return bool
+ */
+ public function isExcludedWith($adjustmentCode);
+ /**
+ * Return sort order position
+ *
+ * @return int
+ */
+ public function getSortOrder();
+ }
+}
+namespace Magento\Framework\Pricing {
+ /**
+ * Base price render
+ *
+ * @method string getPriceRenderHandle()
+ * @api
+ * @since 100.0.2
+ */
+ class Render extends \Magento\Framework\View\Element\AbstractBlock
+ {
+ /**#@+
+ * Zones where prices displaying can be configured
+ */
+ public const ZONE_ITEM_VIEW = 'item_view';
+ public const ZONE_ITEM_LIST = 'item_list';
+ public const ZONE_ITEM_OPTION = 'item_option';
+ public const ZONE_SALES = 'sales';
+ public const ZONE_EMAIL = 'email';
+ public const ZONE_CART = 'cart';
+ public const ZONE_DEFAULT = null;
+ /**#@-*/
+ /**
+ * @var string
+ */
+ protected $defaultTypeRender = 'default';
+ /**
+ * @var Layout
+ */
+ protected $priceLayout;
+ /**
+ * Constructor
+ *
+ * @param Template\Context $context
+ * @param Layout $priceLayout
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Magento\Framework\Pricing\Render\Layout $priceLayout, array $data = [])
+ {
+ }
+ /**
+ * Prepare layout
+ *
+ * @return $this
+ */
+ protected function _prepareLayout()
+ {
+ }
+ /**
+ * Render price
+ *
+ * @param string $priceCode
+ * @param SaleableInterface $saleableItem
+ * @param array $arguments
+ * @return string
+ * @throws \InvalidArgumentException
+ * @throws \RuntimeException
+ */
+ public function render($priceCode, \Magento\Framework\Pricing\SaleableInterface $saleableItem, array $arguments = [])
+ {
+ }
+ /**
+ * Render price amount
+ *
+ * @param AmountInterface $amount
+ * @param PriceInterface $price
+ * @param SaleableInterface $saleableItem
+ * @param array $arguments
+ * @return string
+ * @throws \RuntimeException
+ */
+ public function renderAmount(\Magento\Framework\Pricing\Amount\AmountInterface $amount, \Magento\Framework\Pricing\Price\PriceInterface $price, \Magento\Framework\Pricing\SaleableInterface $saleableItem = null, array $arguments = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\PriceInfo {
+ /**
+ * Price info model factory
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Factory
+ {
+ /**
+ * List of Price Info classes by product types
+ *
+ * @var array
+ */
+ protected $types = [];
+ /**
+ * Object Manager
+ *
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Construct
+ *
+ * @param array $types
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(array $types, \Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create Price Info object for particular product
+ *
+ * @param SaleableInterface $saleableItem
+ * @param array $arguments
+ * @return \Magento\Framework\Pricing\PriceInfoInterface
+ * @throws \InvalidArgumentException
+ */
+ public function create(\Magento\Framework\Pricing\SaleableInterface $saleableItem, array $arguments = [])
+ {
+ }
+ }
+ /**
+ * Class Base
+ * Price info base model
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Base implements \Magento\Framework\Pricing\PriceInfoInterface
+ {
+ /**
+ * @var PriceCollection
+ */
+ protected $priceCollection;
+ /**
+ * @var Collection
+ */
+ protected $adjustmentCollection;
+ /**
+ * @param PriceCollection $prices
+ * @param Collection $adjustmentCollection
+ */
+ public function __construct(\Magento\Framework\Pricing\Price\Collection $prices, \Magento\Framework\Pricing\Adjustment\Collection $adjustmentCollection)
+ {
+ }
+ /**
+ * Returns array of prices
+ *
+ * @return PriceCollection
+ */
+ public function getPrices()
+ {
+ }
+ /**
+ * Returns price by code
+ *
+ * @param string $priceCode
+ * @return PriceInterface
+ */
+ public function getPrice($priceCode)
+ {
+ }
+ /**
+ * Get all registered adjustments
+ *
+ * @return AdjustmentInterface[]
+ */
+ public function getAdjustments()
+ {
+ }
+ /**
+ * Get adjustment by code
+ *
+ * @param string $adjustmentCode
+ * @throws \InvalidArgumentException
+ * @return AdjustmentInterface
+ */
+ public function getAdjustment($adjustmentCode)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing {
+ /**
+ * Composite price model
+ */
+ class PriceComposite
+ {
+ /**
+ * @var PriceFactory
+ */
+ protected $priceFactory;
+ /**
+ * @var array
+ */
+ protected $metadata;
+ /**
+ * @param PriceFactory $priceFactory
+ * @param array $metadata
+ */
+ public function __construct(\Magento\Framework\Pricing\Price\Factory $priceFactory, array $metadata = [])
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getPriceCodes()
+ {
+ }
+ /**
+ * Returns metadata for prices
+ *
+ * @return array
+ */
+ public function getMetadata()
+ {
+ }
+ /**
+ * @param SaleableInterface $salableItem
+ * @param string $priceCode
+ * @param float $quantity
+ * @return PriceInterface
+ * @throws \InvalidArgumentException
+ */
+ public function createPriceObject(\Magento\Framework\Pricing\SaleableInterface $salableItem, $priceCode, $quantity)
+ {
+ }
+ }
+ /**
+ * Interface PriceCurrencyInterface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface PriceCurrencyInterface
+ {
+ const DEFAULT_PRECISION = 2;
+ /**
+ * Convert price value
+ *
+ * @param float $amount
+ * @param null|string|bool|int|\Magento\Framework\App\ScopeInterface $scope
+ * @param \Magento\Framework\Model\AbstractModel|string|null $currency
+ * @return float
+ */
+ public function convert($amount, $scope = null, $currency = null);
+ /**
+ * Convert and round price value
+ *
+ * @param float $amount
+ * @param null|string|bool|int|\Magento\Framework\App\ScopeInterface $scope
+ * @param \Magento\Framework\Model\AbstractModel|string|null $currency
+ * @param int $precision
+ * @return float
+ */
+ public function convertAndRound($amount, $scope = null, $currency = null, $precision = self::DEFAULT_PRECISION);
+ /**
+ * Format price value
+ *
+ * @param float $amount
+ * @param bool $includeContainer
+ * @param int $precision
+ * @param null|string|bool|int|\Magento\Framework\App\ScopeInterface $scope
+ * @param \Magento\Framework\Model\AbstractModel|string|null $currency
+ * @return string
+ */
+ public function format($amount, $includeContainer = true, $precision = self::DEFAULT_PRECISION, $scope = null, $currency = null);
+ /**
+ * Convert and format price value
+ *
+ * @param float $amount
+ * @param bool $includeContainer
+ * @param int $precision
+ * @param null|string|bool|int|\Magento\Framework\App\ScopeInterface $scope
+ * @param \Magento\Framework\Model\AbstractModel|string|null $currency
+ * @return string
+ */
+ public function convertAndFormat($amount, $includeContainer = true, $precision = self::DEFAULT_PRECISION, $scope = null, $currency = null);
+ /**
+ * Round price
+ *
+ * @deprecated 102.0.1
+ * @param float $price
+ * @return float
+ */
+ public function round($price);
+ /**
+ * Get currency model
+ *
+ * @param null|string|bool|int|\Magento\Framework\App\ScopeInterface $scope
+ * @param \Magento\Framework\Model\AbstractModel|string|null $currency
+ * @return \Magento\Framework\Model\AbstractModel
+ */
+ public function getCurrency($scope = null, $currency = null);
+ /**
+ * Get currency symbol
+ *
+ * @param null|string|bool|int|\Magento\Framework\App\ScopeInterface $scope
+ * @param \Magento\Framework\Model\AbstractModel|string|null $currency
+ * @return string
+ */
+ public function getCurrencySymbol($scope = null, $currency = null);
+ }
+}
+namespace Magento\Framework\Pricing\Amount {
+ /**
+ * Amount interface, the amount values are in display currency
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface AmountInterface
+ {
+ /**
+ * Return full amount value
+ *
+ * @param null|string|array $exclude
+ * @return float
+ */
+ public function getValue($exclude = null);
+ /**
+ * Return full amount value in string format
+ *
+ * @return string
+ */
+ public function __toString();
+ /**
+ * Return base amount part value
+ *
+ * @return float
+ */
+ public function getBaseAmount();
+ /**
+ * Return adjustment amount part value by adjustment code
+ *
+ * @param string $adjustmentCode
+ * @return float
+ */
+ public function getAdjustmentAmount($adjustmentCode);
+ /**
+ * Return sum amount of all applied adjustments
+ *
+ * @return float
+ */
+ public function getTotalAdjustmentAmount();
+ /**
+ * Return all applied adjustments as array
+ *
+ * @return float[]
+ */
+ public function getAdjustmentAmounts();
+ /**
+ * Check if adjustment is contained in amount object
+ *
+ * @param string $adjustmentCode
+ * @return boolean
+ */
+ public function hasAdjustment($adjustmentCode);
+ }
+ /**
+ * Amount base model
+ */
+ class Base implements \Magento\Framework\Pricing\Amount\AmountInterface
+ {
+ /**
+ * @var float
+ */
+ protected $amount;
+ /**
+ * @var float
+ */
+ protected $baseAmount;
+ /**
+ * @var float
+ */
+ protected $totalAdjustmentAmount;
+ /**
+ * @var float[]
+ */
+ protected $adjustmentAmounts = [];
+ /**
+ * @var AdjustmentInterface[]
+ */
+ protected $adjustments = [];
+ /**
+ * @param float $amount
+ * @param array $adjustmentAmounts
+ */
+ public function __construct($amount, array $adjustmentAmounts = [])
+ {
+ }
+ /**
+ * Return full amount value
+ *
+ * @param null|string|array $exclude
+ * @return float
+ */
+ public function getValue($exclude = null)
+ {
+ }
+ /**
+ * Return full amount value in string format
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ }
+ /**
+ * Return base amount part value
+ *
+ * @return float|null
+ */
+ public function getBaseAmount()
+ {
+ }
+ /**
+ * Return adjustment amount part value by adjustment code
+ *
+ * @param string $adjustmentCode
+ * @return bool|float
+ */
+ public function getAdjustmentAmount($adjustmentCode)
+ {
+ }
+ /**
+ * Return sum amount of all applied adjustments
+ *
+ * @return float|null
+ */
+ public function getTotalAdjustmentAmount()
+ {
+ }
+ /**
+ * Return all applied adjustments as array
+ *
+ * @return float[]
+ */
+ public function getAdjustmentAmounts()
+ {
+ }
+ /**
+ * Check if adjustment is contained in amount object
+ *
+ * @param string $adjustmentCode
+ * @return bool
+ */
+ public function hasAdjustment($adjustmentCode)
+ {
+ }
+ /**
+ * Calculate base amount
+ *
+ * @return void
+ */
+ protected function calculateAmounts()
+ {
+ }
+ }
+ /**
+ * Class AmountFactory
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class AmountFactory
+ {
+ /**
+ * Default amount class
+ */
+ const DEFAULT_PRICE_AMOUNT_CLASS = \Magento\Framework\Pricing\Amount\AmountInterface::class;
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create Amount object
+ *
+ * @param float $amount
+ * @param array $adjustmentAmounts
+ * @return \Magento\Framework\Pricing\Amount\AmountInterface
+ * @throws \InvalidArgumentException
+ */
+ public function create($amount, array $adjustmentAmounts = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Pricing\Price {
+ /**
+ * Price factory
+ */
+ class Factory
+ {
+ /**
+ * Object Manager
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Construct
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create Price object for particular product
+ *
+ * @param SaleableInterface $saleableItem
+ * @param string $className
+ * @param float $quantity
+ * @param array $arguments
+ * @throws \InvalidArgumentException
+ * @return \Magento\Framework\Pricing\Price\PriceInterface
+ */
+ public function create(\Magento\Framework\Pricing\SaleableInterface $saleableItem, $className, $quantity, array $arguments = [])
+ {
+ }
+ }
+ /**
+ * Interface BasePriceProviderInterface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface BasePriceProviderInterface
+ {
+ }
+ /**
+ * The Price Collection
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Collection implements \Iterator, \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * @var Pool
+ */
+ protected $pool;
+ /**
+ * @var \Magento\Framework\Pricing\SaleableInterface
+ */
+ protected $saleableItem;
+ /**
+ * @var \Magento\Framework\Pricing\Price\Factory
+ */
+ protected $priceFactory;
+ /**
+ * @var float
+ */
+ protected $quantity;
+ /**
+ * @var array
+ */
+ protected $contains;
+ /**
+ * @var array
+ */
+ protected $excludes;
+ /**
+ * Cached price models
+ *
+ * @var array
+ */
+ protected $priceModels;
+ /**
+ * Constructor
+ *
+ * @param SaleableInterface $saleableItem
+ * @param Factory $priceFactory
+ * @param Pool $pool
+ * @param float $quantity
+ */
+ public function __construct(\Magento\Framework\Pricing\SaleableInterface $saleableItem, \Magento\Framework\Pricing\Price\Factory $priceFactory, \Magento\Framework\Pricing\Price\Pool $pool, $quantity)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function _resetState() : void
+ {
+ }
+ /**
+ * Reset the Collection to the first element
+ *
+ * @return mixed|void
+ */
+ #[\ReturnTypeWillChange]
+ public function rewind()
+ {
+ }
+ /**
+ * Return the current element
+ *
+ * @return \Magento\Framework\Pricing\Price\PriceInterface
+ */
+ #[\ReturnTypeWillChange]
+ public function current()
+ {
+ }
+ /**
+ * Return the key of the current element
+ *
+ * @return string
+ */
+ #[\ReturnTypeWillChange]
+ public function key()
+ {
+ }
+ /**
+ * Move forward to next element
+ *
+ * @return mixed|void
+ */
+ #[\ReturnTypeWillChange]
+ public function next()
+ {
+ }
+ /**
+ * Checks if current position is valid
+ *
+ * @return bool
+ */
+ #[\ReturnTypeWillChange]
+ public function valid()
+ {
+ }
+ /**
+ * Returns price model by code
+ *
+ * @param string $code
+ * @return PriceInterface
+ */
+ public function get($code)
+ {
+ }
+ }
+ /**
+ * The price pool
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Pool implements \Iterator, \ArrayAccess
+ {
+ /**
+ * @var \Magento\Framework\Pricing\Price\PriceInterface[]
+ */
+ protected $prices;
+ /**
+ * @param array $prices
+ * @param \Iterator $target
+ */
+ public function __construct(array $prices, \Iterator $target = null)
+ {
+ }
+ /**
+ * Reset the Collection to the first element
+ *
+ * @return mixed
+ */
+ #[\ReturnTypeWillChange]
+ public function rewind()
+ {
+ }
+ /**
+ * Return the current element
+ *
+ * @return mixed
+ */
+ #[\ReturnTypeWillChange]
+ public function current()
+ {
+ }
+ /**
+ * Return the key of the current element
+ *
+ * @return string
+ */
+ #[\ReturnTypeWillChange]
+ public function key()
+ {
+ }
+ /**
+ * Move forward to next element
+ *
+ * @return mixed
+ */
+ #[\ReturnTypeWillChange]
+ public function next()
+ {
+ }
+ /**
+ * Checks if current position is valid
+ *
+ * @return bool
+ */
+ #[\ReturnTypeWillChange]
+ public function valid()
+ {
+ }
+ /**
+ * Returns price class by code
+ *
+ * @param string $code
+ * @return string
+ */
+ public function get($code)
+ {
+ }
+ /**
+ * The value to set.
+ *
+ * @param string $offset
+ * @param string $value
+ * @return void
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetSet($offset, $value)
+ {
+ }
+ /**
+ * The return value will be casted to boolean if non-boolean was returned.
+ *
+ * @param string $offset
+ * @return bool
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetExists($offset)
+ {
+ }
+ /**
+ * The offset to unset.
+ *
+ * @param string $offset
+ * @return void
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetUnset($offset)
+ {
+ }
+ /**
+ * The offset to retrieve.
+ *
+ * @param string $offset
+ * @return string
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetGet($offset)
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * Wrapper on PHP_OS constant
+ */
+ class OsInfo
+ {
+ /**
+ * Operation system
+ *
+ * @var string
+ */
+ protected $os;
+ /**
+ * Initialize os
+ */
+ public function __construct()
+ {
+ }
+ /**
+ * Check id system is Windows
+ *
+ * @return bool
+ */
+ public function isWindows()
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager {
+ /**
+ * Marker interface for entity manager operations.
+ */
+ interface OperationInterface
+ {
+ }
+}
+namespace Magento\Framework\EntityManager\Db {
+ /**
+ * Class DeleteRow
+ */
+ class ReadRow
+ {
+ /**
+ * CreateRow constructor.
+ *
+ * @param MetadataPool $metadataPool
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @param string $entityType
+ * @param string $identifier
+ * @param array $context
+ * @return array
+ * @throws \Exception
+ */
+ public function execute($entityType, $identifier, $context = [])
+ {
+ }
+ }
+ class UpdateRow
+ {
+ /**
+ * CreateRow constructor.
+ *
+ * @param MetadataPool $metadataPool
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * Method to prepare data.
+ *
+ * @param EntityMetadataInterface $metadata
+ * @param AdapterInterface $connection
+ * @param array $data
+ * @return array
+ */
+ protected function prepareData(\Magento\Framework\EntityManager\EntityMetadataInterface $metadata, \Magento\Framework\DB\Adapter\AdapterInterface $connection, $data)
+ {
+ }
+ /**
+ * Method to execute.
+ *
+ * @param string $entityType
+ * @param array $data
+ * @return array
+ * @throws Exception
+ */
+ public function execute($entityType, $data)
+ {
+ }
+ }
+ class CreateRow
+ {
+ /**
+ * CreateRow constructor.
+ *
+ * @param MetadataPool $metadataPool
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * Method to prepare data.
+ *
+ * @param EntityMetadataInterface $metadata
+ * @param AdapterInterface $connection
+ * @param array $data
+ * @return array
+ */
+ protected function prepareData(\Magento\Framework\EntityManager\EntityMetadataInterface $metadata, \Magento\Framework\DB\Adapter\AdapterInterface $connection, $data)
+ {
+ }
+ /**
+ * Method to execute.
+ *
+ * @param string $entityType
+ * @param array $data
+ * @return array
+ * @throws Exception
+ */
+ public function execute($entityType, $data)
+ {
+ }
+ }
+ /**
+ * Class DeleteRow
+ */
+ class DeleteRow
+ {
+ /**
+ * CreateRow constructor.
+ *
+ * @param MetadataPool $metadataPool
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @param string $entityType
+ * @param array $data
+ * @return int
+ * @throws \Exception
+ */
+ public function execute($entityType, $data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager {
+ /**
+ * MapperInterface
+ */
+ interface MapperInterface
+ {
+ /**
+ * Map entity field name to database field name
+ *
+ * @param string $entityType
+ * @param array $data
+ * @return array
+ * @throws \Exception
+ */
+ public function entityToDatabase($entityType, $data);
+ /**
+ * Map database field name to entity field name
+ *
+ * @param string $entityType
+ * @param array $data
+ * @return array
+ * @throws \Exception
+ */
+ public function databaseToEntity($entityType, $data);
+ }
+ /**
+ * Class Mapper
+ */
+ class Mapper implements \Magento\Framework\EntityManager\MapperInterface
+ {
+ /**
+ * Initialize dependencies.
+ *
+ * @param array $config
+ */
+ public function __construct($config = [])
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function entityToDatabase($entityType, $data)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function databaseToEntity($entityType, $data)
+ {
+ }
+ }
+ /**
+ * Resolves types.
+ */
+ class TypeResolver
+ {
+ /**
+ * TypeResolver constructor.
+ * @param MetadataPool $metadataPool
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool)
+ {
+ }
+ /**
+ * Resolves type.
+ *
+ * @param object $type
+ * @return string
+ * @throws \Exception
+ */
+ public function resolve($type)
+ {
+ }
+ }
+ /**
+ * Class CallbackHandler
+ */
+ class CallbackHandler
+ {
+ /**
+ * @var MetadataPool
+ */
+ protected $metadataPool;
+ /**
+ * @var LoggerInterface
+ */
+ protected $logger;
+ /**
+ * CallbackHandler constructor.
+ *
+ * @param MetadataPool $metadataPool
+ * @param LoggerInterface $logger
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Psr\Log\LoggerInterface $logger)
+ {
+ }
+ /**
+ * @param string $entityType
+ * @throws \Exception
+ * @return void
+ */
+ public function process($entityType)
+ {
+ }
+ /**
+ * @param string $entityType
+ * @param array $callback
+ * @throws \Exception
+ * @return void
+ */
+ public function attach($entityType, $callback)
+ {
+ }
+ /**
+ * @param string $entityType
+ * @throws \Exception
+ * @return void
+ */
+ public function clear($entityType)
+ {
+ }
+ }
+ class EventManager
+ {
+ /**
+ * EventManager constructor.
+ * @param ManagerInterface $eventManager
+ */
+ public function __construct(\Magento\Framework\Event\ManagerInterface $eventManager)
+ {
+ }
+ /**
+ * Method to dispatch entity event.
+ *
+ * @param string $entityType
+ * @param string $eventSuffix
+ * @param array $data
+ * @return void
+ */
+ public function dispatchEntityEvent($entityType, $eventSuffix, array $data = [])
+ {
+ }
+ /**
+ * Method to dispatch.
+ *
+ * @param string $eventName
+ * @param array $data
+ * @return void
+ */
+ public function dispatch($eventName, array $data = [])
+ {
+ }
+ }
+ /**
+ * It's not recommended to use EntityManager and its infrastructure for your entities persistence.
+ * In the nearest future new Persistence Entity Manager would be released which will cover all the requirements for
+ * persistence layer along with Query API as performance efficient APIs for Read scenarios.
+ *
+ * Currently, it's recommended to use Resource Model infrastructure and make a successor of
+ * Magento\Framework\Model\ResourceModel\Db\AbstractDb class or successor of
+ * Magento\Eav\Model\Entity\AbstractEntity if EAV attributes support needed.
+ *
+ * For filtering operations, it's recommended to use successor of
+ * Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection class.
+ */
+ class EntityManager
+ {
+ /**
+ * @param OperationPool $operationPool
+ * @param MetadataPool $metadataPool
+ * @param TypeResolver $typeResolver
+ * @param CallbackHandler $callbackHandler
+ */
+ public function __construct(\Magento\Framework\EntityManager\OperationPool $operationPool, \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\CallbackHandler $callbackHandler)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param string $identifier
+ * @param array $arguments
+ * @return mixed
+ * @throws \LogicException
+ */
+ public function load($entity, $identifier, $arguments = [])
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ * @throws \LogicException
+ * @throws \Exception
+ */
+ public function save($entity, $arguments = [])
+ {
+ }
+ /**
+ * @param object $entity
+ * @return bool
+ * @throws \LogicException
+ */
+ public function has($entity)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return bool
+ * @throws \LogicException
+ * @throws \Exception
+ */
+ public function delete($entity, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Interface HydratorInterface
+ */
+ interface HydratorInterface
+ {
+ /**
+ * Extract data from object
+ *
+ * @param object $entity
+ * @return array
+ */
+ public function extract($entity);
+ /**
+ * Populate entity with data
+ *
+ * @param object $entity
+ * @param array $data
+ * @return object
+ */
+ public function hydrate($entity, array $data);
+ }
+ /**
+ * Class Hydrator
+ */
+ class Hydrator implements \Magento\Framework\EntityManager\HydratorInterface
+ {
+ /**
+ * @param DataObjectProcessor $dataObjectProcessor
+ * @param DataObjectHelper $dataObjectHelper
+ * @param TypeResolver $typeResolver
+ * @param MapperPool $mapperPool
+ */
+ public function __construct(\Magento\Framework\Reflection\DataObjectProcessor $dataObjectProcessor, \Magento\Framework\Api\DataObjectHelper $dataObjectHelper, \Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\MapperPool $mapperPool)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function extract($entity)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function hydrate($entity, array $data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Test\Unit\Db {
+ class UpdateRowTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var UpdateRow
+ */
+ protected $model;
+ /**
+ * @var MetadataPool|MockObject
+ */
+ protected $metadataPoolMock;
+ /**
+ * @var ResourceConnection|MockObject
+ */
+ protected $resourceConnectionMock;
+ /**
+ * @var AdapterInterface|MockObject
+ */
+ protected $connectionMock;
+ /**
+ * @var EntityMetadataInterface|MockObject
+ */
+ protected $metadataMock;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @dataProvider columnsDataProvider
+ * @param array $data
+ * @param array $columns
+ * @param array $preparedColumns
+ */
+ public function testExecute(array $data, array $columns, array $preparedColumns)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function columnsDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Test\Unit {
+ class TypeResolverTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param object $dataObject
+ * @param string $interfaceName
+ * @dataProvider resolveDataProvider
+ */
+ public function testResolve($dataObject, $interfaceName)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function resolveDataProvider()
+ {
+ }
+ }
+ class OperationPoolTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGetOperationUsesDefaultValueForEntityThatDoesNotProvideCustomMapping()
+ {
+ }
+ public function testGetOperationUsesOverriddenDefaultValueForEntityThatDoesNotProvideCustomMapping()
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Test\Unit\Sequence {
+ class SequenceApplierTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testApplySequenceIsNull()
+ {
+ }
+ public function testApplyEntityHasIdentifier()
+ {
+ }
+ public function testApplyEntityDoesNotHaveIdentifier()
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Test\Unit\Operation {
+ class UpdateTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testDuplicateExceptionProcessingOnExecute()
+ {
+ }
+ }
+ class CreateTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testDuplicateExceptionProcessingOnExecute()
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Test\Unit {
+ class MapperTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testEntityToDatabase()
+ {
+ }
+ public function testEntityToDatabaseException()
+ {
+ }
+ public function testDatabaseToEntity()
+ {
+ }
+ public function testDatabaseToEntityException()
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager {
+ /**
+ * Class AbstractModelHydrator
+ */
+ class AbstractModelHydrator implements \Magento\Framework\EntityManager\HydratorInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public function extract($entity)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function hydrate($entity, array $data)
+ {
+ }
+ }
+ /**
+ * Interface EntityMetadataInterface
+ */
+ interface EntityMetadataInterface
+ {
+ /**
+ * @return string
+ */
+ public function getIdentifierField();
+ /**
+ * @return string
+ */
+ public function getLinkField();
+ /**
+ * @return string
+ */
+ public function getEntityTable();
+ /**
+ * @return string
+ */
+ public function getEntityConnectionName();
+ /**
+ * @return null|string
+ */
+ public function generateIdentifier();
+ /**
+ * @return string[]
+ */
+ public function getEntityContext();
+ /**
+ * @return null|string
+ */
+ public function getEavEntityType();
+ /**
+ * @return \Magento\Framework\DB\Adapter\AdapterInterface
+ * @deprecated 100.1.0
+ */
+ public function getEntityConnection();
+ }
+ /**
+ * Class MetadataPool
+ *
+ * @api
+ * @since 100.1.0
+ */
+ class MetadataPool
+ {
+ /**
+ * @var ObjectManagerInterface
+ * @since 100.1.0
+ */
+ protected $objectManager;
+ /**
+ * @var array
+ * @since 100.1.0
+ */
+ protected $metadata;
+ /**
+ * @var \Magento\Framework\EntityManager\EntityMetadata[]
+ * @since 100.1.0
+ */
+ protected $registry;
+ /**
+ * @var SequenceFactory
+ * @since 100.1.0
+ */
+ protected $sequenceFactory;
+ /**
+ * MetadataPool constructor.
+ * @param ObjectManagerInterface $objectManager
+ * @param SequenceFactory $sequenceFactory
+ * @param array $metadata
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\EntityManager\Sequence\SequenceFactory $sequenceFactory, array $metadata)
+ {
+ }
+ /**
+ * @param string $entityType
+ * @return EntityMetadataInterface
+ * @throws \Exception
+ * @since 100.1.0
+ */
+ public function getMetadata($entityType)
+ {
+ }
+ /**
+ * @param string $entityType
+ * @return HydratorInterface
+ * @deprecated 100.1.0
+ * @since 100.1.0
+ */
+ public function getHydrator($entityType)
+ {
+ }
+ /**
+ * Check if entity type configuration was set to metadata
+ *
+ * @param string $entityType
+ * @return bool
+ * @since 100.1.0
+ */
+ public function hasConfiguration($entityType)
+ {
+ }
+ }
+ /**
+ * Class EntityMetadata
+ */
+ class EntityMetadata implements \Magento\Framework\EntityManager\EntityMetadataInterface
+ {
+ /**
+ * @var ResourceConnection
+ */
+ protected $resourceConnection;
+ /**
+ * @var string
+ */
+ protected $entityTableName;
+ /**
+ * @var null|string
+ */
+ protected $connectionName;
+ /**
+ * @var SequenceInterface
+ */
+ protected $sequence;
+ /**
+ * @var string
+ */
+ protected $eavEntityType;
+ /**
+ * @var string
+ */
+ protected $identifierField;
+ /**
+ * @var string[]
+ */
+ protected $entityContext;
+ /**
+ * EntityMetadata constructor.
+ *
+ * @param ResourceConnection $resourceConnection
+ * @param string $entityTableName
+ * @param string $identifierField
+ * @param SequenceInterface|null $sequence
+ * @param null $eavEntityType
+ * @param null $connectionName
+ * @param array $entityContext
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection, $entityTableName, $identifierField, \Magento\Framework\DB\Sequence\SequenceInterface $sequence = null, $eavEntityType = null, $connectionName = null, $entityContext = [])
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getIdentifierField()
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getLinkField()
+ {
+ }
+ /**
+ * @return \Magento\Framework\DB\Adapter\AdapterInterface
+ * @deprecated 100.1.0
+ */
+ public function getEntityConnection()
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getEntityTable()
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getEntityConnectionName()
+ {
+ }
+ /**
+ * @return null|string
+ */
+ public function generateIdentifier()
+ {
+ }
+ /**
+ * @return string[]
+ */
+ public function getEntityContext()
+ {
+ }
+ /**
+ * @return null|string
+ */
+ public function getEavEntityType()
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Sequence {
+ /**
+ * Class SequenceFactory
+ */
+ class SequenceFactory
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @var SequenceRegistry
+ */
+ protected $sequenceRegistry;
+ /**
+ * @var string
+ */
+ protected $instanceName;
+ /**
+ * @param SequenceRegistry $sequenceRegistry
+ * @param ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\EntityManager\Sequence\SequenceRegistry $sequenceRegistry, \Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\EntityManager\Sequence\Sequence::class)
+ {
+ }
+ /**
+ * Creates sequence instance
+ *
+ * @param string $entityType
+ * @param array $config
+ * @return SequenceInterface
+ */
+ public function create($entityType, $config)
+ {
+ }
+ }
+ /**
+ * Applier of sequence identifier.
+ */
+ class SequenceApplier
+ {
+ /**
+ * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool
+ * @param \Magento\Framework\EntityManager\TypeResolver $typeResolver
+ * @param \Magento\Framework\EntityManager\Sequence\SequenceManager $sequenceManager
+ * @param \Magento\Framework\EntityManager\Sequence\SequenceRegistry $sequenceRegistry
+ * @param \Magento\Framework\EntityManager\HydratorPool $hydratorPool
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\Sequence\SequenceManager $sequenceManager, \Magento\Framework\EntityManager\Sequence\SequenceRegistry $sequenceRegistry, \Magento\Framework\EntityManager\HydratorPool $hydratorPool)
+ {
+ }
+ /**
+ * Applies sequence identifier to given entity.
+ *
+ * In case sequence for given entity is not configured in corresponding di.xml file,
+ * the entity will be returned without any changes.
+ *
+ * @param object $entity
+ *
+ * @return object
+ */
+ public function apply($entity)
+ {
+ }
+ }
+}
+namespace Magento\Framework\DB\Sequence {
+ /**
+ * Interface represents sequence
+ *
+ * @api
+ */
+ interface SequenceInterface
+ {
+ /**
+ * Retrieve current value
+ *
+ * @return string
+ */
+ public function getCurrentValue();
+ /**
+ * Retrieve next value
+ *
+ * @return string
+ */
+ public function getNextValue();
+ }
+}
+namespace Magento\Framework\EntityManager\Sequence {
+ /**
+ * Class Sequence
+ */
+ class Sequence implements \Magento\Framework\DB\Sequence\SequenceInterface
+ {
+ /**
+ * @var string
+ */
+ protected $connectionName;
+ /**
+ * @var string
+ */
+ protected $sequenceTable;
+ /**
+ * @var \Magento\Framework\App\ResourceConnection
+ */
+ protected $resource;
+ /**
+ * @param ResourceConnection $resource
+ * @param string $connectionName
+ * @param string $sequenceTable
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resource, $connectionName, $sequenceTable)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getNextValue()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getCurrentValue()
+ {
+ }
+ }
+ /**
+ * Class SequenceManager
+ */
+ class SequenceManager
+ {
+ /**
+ * @param MetadataPool $metadataPool
+ * @param SequenceRegistry $sequenceRegistry
+ * @param LoggerInterface $logger
+ * @param \Magento\Framework\App\ResourceConnection $appResource
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\EntityManager\Sequence\SequenceRegistry $sequenceRegistry, \Psr\Log\LoggerInterface $logger, \Magento\Framework\App\ResourceConnection $appResource)
+ {
+ }
+ /**
+ * Forces creation of a sequence value.
+ *
+ * @param string $entityType
+ * @param string|int $identifier
+ *
+ * @return int
+ *
+ * @throws \Exception
+ */
+ public function force($entityType, $identifier)
+ {
+ }
+ /**
+ * @param string $entityType
+ * @param int $identifier
+ * @return int
+ * @throws \Exception
+ */
+ public function delete($entityType, $identifier)
+ {
+ }
+ }
+ /**
+ * Class SequenceRegistry
+ */
+ class SequenceRegistry
+ {
+ /**
+ * Register information about existing sequence
+ *
+ * @param string $entityType
+ * @param SequenceInterface|null $sequence
+ * @param string|null $sequenceTable
+ * @return void
+ */
+ public function register($entityType, $sequence = null, $sequenceTable = null)
+ {
+ }
+ /**
+ * Returns sequence information
+ *
+ * @param string $entityType
+ * @return bool|array
+ */
+ public function retrieve($entityType)
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Operation\Delete {
+ /**
+ * Class DeleteAttributes
+ */
+ class DeleteAttributes
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param HydratorPool $hydratorPool
+ * @param AttributePool $attributePool
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Framework\EntityManager\Operation\AttributePool $attributePool)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Class DeleteMain
+ */
+ class DeleteMain
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param HydratorPool $hydratorPool
+ * @param DeleteRow $deleteRow
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Framework\EntityManager\Db\DeleteRow $deleteRow)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Class DeleteExtensions
+ */
+ class DeleteExtensions
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param ExtensionPool $extensionPool
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\Operation\ExtensionPool $extensionPool)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Operation {
+ /**
+ * Interface for deleting entity
+ */
+ interface DeleteInterface extends \Magento\Framework\EntityManager\OperationInterface
+ {
+ /**
+ * Delete entity
+ *
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ * @throws \Exception
+ */
+ public function execute($entity, $arguments = []);
+ }
+ /**
+ * Class Delete
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class Delete implements \Magento\Framework\EntityManager\Operation\DeleteInterface
+ {
+ /**
+ * @param MetadataPool $metadataPool
+ * @param TypeResolver $typeResolver
+ * @param ResourceConnection $resourceConnection
+ * @param EventManager $eventManager
+ * @param TransactionManagerInterface $transactionManager
+ * @param DeleteMain $deleteMain
+ * @param DeleteAttributes $deleteAttributes
+ * @param DeleteExtensions $deleteExtensions
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\EntityManager\EventManager $eventManager, \Magento\Framework\Model\ResourceModel\Db\TransactionManagerInterface $transactionManager, \Magento\Framework\EntityManager\Operation\Delete\DeleteMain $deleteMain, \Magento\Framework\EntityManager\Operation\Delete\DeleteAttributes $deleteAttributes, \Magento\Framework\EntityManager\Operation\Delete\DeleteExtensions $deleteExtensions)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ * @throws \Exception
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Interface for reading entity data
+ */
+ interface ReadInterface extends \Magento\Framework\EntityManager\OperationInterface
+ {
+ /**
+ * Read data and populate entity
+ *
+ * @param object $entity
+ * @param string $identifier
+ * @param array $arguments
+ * @return object
+ * @throws \Exception
+ */
+ public function execute($entity, $identifier, $arguments = []);
+ }
+ /**
+ * Interface for creating entity
+ */
+ interface CreateInterface extends \Magento\Framework\EntityManager\OperationInterface
+ {
+ /**
+ * Create entity
+ *
+ * @param object $entity
+ * @param array $arguments
+ * @return bool
+ * @throws \Exception
+ */
+ public function execute($entity, $arguments = []);
+ }
+}
+namespace Magento\Framework\EntityManager\Operation\Update {
+ /**
+ * Class UpdateMain
+ */
+ class UpdateMain
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param HydratorPool $hydratorPool
+ * @param UpdateRow $updateRow
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Framework\EntityManager\Db\UpdateRow $updateRow)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Class UpdateExtensions
+ */
+ class UpdateExtensions
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param ExtensionPool $extensionPool
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\Operation\ExtensionPool $extensionPool)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Class UpdateAttributes
+ */
+ class UpdateAttributes
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param HydratorPool $hydratorPool
+ * @param AttributePool $attributePool
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Framework\EntityManager\Operation\AttributePool $attributePool)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Operation {
+ /**
+ * Class AttributePool
+ */
+ class AttributePool
+ {
+ /**
+ * @param ObjectManagerInterface $objectManager
+ * @param array $extensionActions
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, array $extensionActions = [])
+ {
+ }
+ /**
+ * @param string $entityType
+ * @param string $actionName
+ * @return object[]
+ * @throws \Exception
+ */
+ public function getActions($entityType, $actionName)
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Operation\Read {
+ /**
+ * Class ReadExtensions
+ */
+ class ReadExtensions
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param ExtensionPool $extensionPool
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\Operation\ExtensionPool $extensionPool)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+ class ReadMain
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param MetadataPool $metadataPool
+ * @param HydratorPool $hydratorPool
+ * @param ReadRow $readRow
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Framework\EntityManager\Db\ReadRow $readRow)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param string $identifier
+ * @return object
+ */
+ public function execute($entity, $identifier)
+ {
+ }
+ }
+ /**
+ * Class ReadAttributes
+ */
+ class ReadAttributes
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param HydratorPool $hydratorPool
+ * @param AttributePool $attributePool
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Framework\EntityManager\Operation\AttributePool $attributePool)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Operation {
+ /**
+ * Interface for updating entity
+ */
+ interface UpdateInterface extends \Magento\Framework\EntityManager\OperationInterface
+ {
+ /**
+ * Update entity
+ *
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ * @throws \Exception
+ */
+ public function execute($entity, $arguments = []);
+ }
+ /**
+ * Class Update
+ */
+ class Update implements \Magento\Framework\EntityManager\Operation\UpdateInterface
+ {
+ /**
+ * @param MetadataPool $metadataPool
+ * @param TypeResolver $typeResolver
+ * @param ResourceConnection $resourceConnection
+ * @param EventManager $eventManager
+ * @param UpdateMain $updateMain
+ * @param UpdateAttributes $updateAttributes
+ * @param UpdateExtensions $updateExtensions
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\EntityManager\EventManager $eventManager, \Magento\Framework\EntityManager\Operation\Update\UpdateMain $updateMain, \Magento\Framework\EntityManager\Operation\Update\UpdateAttributes $updateAttributes, \Magento\Framework\EntityManager\Operation\Update\UpdateExtensions $updateExtensions)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ * @throws \Exception
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Interface for checking if entity exists
+ */
+ interface CheckIfExistsInterface extends \Magento\Framework\EntityManager\OperationInterface
+ {
+ /**
+ * Check if entity exists
+ *
+ * @param object $entity
+ * @return bool
+ * @throws \Exception
+ */
+ public function execute($entity);
+ }
+ /**
+ * Class CheckIfExists
+ */
+ class CheckIfExists implements \Magento\Framework\EntityManager\Operation\CheckIfExistsInterface
+ {
+ /**
+ * @param MetadataPool $metadataPool
+ * @param HydratorPool $hydratorPool
+ * @param TypeResolver $typeResolver
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return bool
+ * @throws \Exception
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Class ExtensionPool
+ */
+ class ExtensionPool
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @var object[]
+ */
+ protected $actions;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ * @param array $extensionActions
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, array $extensionActions = [])
+ {
+ }
+ /**
+ * @param string $entityType
+ * @param string $actionName
+ * @return ExtensionInterface[]
+ * @throws \Exception
+ */
+ public function getActions($entityType, $actionName)
+ {
+ }
+ }
+ /**
+ * Class Read
+ */
+ class Read implements \Magento\Framework\EntityManager\Operation\ReadInterface
+ {
+ /**
+ * @param MetadataPool $metadataPool
+ * @param HydratorPool $hydratorPool
+ * @param TypeResolver $typeResolver
+ * @param EventManager $eventManager
+ * @param ReadMain $readMain
+ * @param ReadAttributes $readAttributes
+ * @param ReadExtensions $readExtensions
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\EventManager $eventManager, \Magento\Framework\EntityManager\Operation\Read\ReadMain $readMain, \Magento\Framework\EntityManager\Operation\Read\ReadAttributes $readAttributes, \Magento\Framework\EntityManager\Operation\Read\ReadExtensions $readExtensions)
+ {
+ }
+ /**
+ * {@inheritDoc}
+ */
+ public function execute($entity, $identifier, $arguments = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Operation\Create {
+ /**
+ * Class CreateAttributes
+ */
+ class CreateAttributes
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param HydratorPool $hydratorPool
+ * @param AttributePool $attributePool
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Framework\EntityManager\Operation\AttributePool $attributePool)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Class CreateMain
+ */
+ class CreateMain
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param HydratorPool $hydratorPool
+ * @param CreateRow $createRow
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Framework\EntityManager\Db\CreateRow $createRow)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Class CreateExtensions
+ */
+ class CreateExtensions
+ {
+ /**
+ * @param TypeResolver $typeResolver
+ * @param ExtensionPool $extensionPool
+ */
+ public function __construct(\Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\EntityManager\Operation\ExtensionPool $extensionPool)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Operation {
+ /**
+ * Interface AttributeInterface
+ */
+ interface AttributeInterface
+ {
+ /**
+ * @param string $entityType
+ * @param array $entityData
+ * @param array $arguments
+ * @return array
+ */
+ public function execute($entityType, $entityData, $arguments = []);
+ }
+ /**
+ * Interface ExtensionInterface
+ */
+ interface ExtensionInterface
+ {
+ /**
+ * Perform action on relation/extension attribute
+ *
+ * @param object $entity
+ * @param array $arguments
+ * @return object|bool
+ */
+ public function execute($entity, $arguments = []);
+ }
+ /**
+ * Class ValidatorPool
+ */
+ class ValidatorPool
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @var object[]
+ */
+ protected $validators;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ * @param array $extensionActions
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, array $extensionActions = [])
+ {
+ }
+ /**
+ * Get list of validators
+ *
+ * @param string $entityType
+ * @param string $actionName
+ * @return object[]
+ * @throws \Exception
+ */
+ public function getValidators($entityType, $actionName)
+ {
+ }
+ }
+ /**
+ * Class Create
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class Create implements \Magento\Framework\EntityManager\Operation\CreateInterface
+ {
+ /**
+ * @param MetadataPool $metadataPool
+ * @param TypeResolver $typeResolver
+ * @param ResourceConnection $resourceConnection
+ * @param EventManager $eventManager
+ * @param CreateMain $createMain
+ * @param CreateAttributes $createAttributes
+ * @param CreateExtensions $createExtensions
+ */
+ public function __construct(\Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\EntityManager\TypeResolver $typeResolver, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\EntityManager\EventManager $eventManager, \Magento\Framework\EntityManager\Operation\Create\CreateMain $createMain, \Magento\Framework\EntityManager\Operation\Create\CreateAttributes $createAttributes, \Magento\Framework\EntityManager\Operation\Create\CreateExtensions $createExtensions)
+ {
+ }
+ /**
+ * @param object $entity
+ * @param array $arguments
+ * @return object
+ * @throws \Exception
+ * @throws AlreadyExistsException
+ */
+ public function execute($entity, $arguments = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager {
+ /**
+ * Class MapperPool
+ */
+ class MapperPool
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ * @param string[] $mappers
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $mappers = [])
+ {
+ }
+ /**
+ * Get mapper for entity type
+ * @param string $entityType
+ * @return MapperInterface
+ */
+ public function getMapper($entityType)
+ {
+ }
+ }
+ /**
+ * Class CompositeMapper
+ */
+ class CompositeMapper implements \Magento\Framework\EntityManager\MapperInterface
+ {
+ /**
+ * @param MapperInterface[] $mappers
+ */
+ public function __construct($mappers)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function entityToDatabase($entityType, $data)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function databaseToEntity($entityType, $data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager\Observer {
+ /**
+ * Class BeforeEntityLoad
+ */
+ class BeforeEntityLoad
+ {
+ /**
+ * Apply model before load operation
+ *
+ * @param Observer $observer
+ * @throws \Magento\Framework\Validator\Exception
+ * @return void
+ */
+ public function execute(\Magento\Framework\Event\Observer $observer)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Event {
+ /**
+ * Interface \Magento\Framework\Event\ObserverInterface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ObserverInterface
+ {
+ /**
+ * @param Observer $observer
+ * @return void
+ */
+ public function execute(\Magento\Framework\Event\Observer $observer);
+ }
+}
+namespace Magento\Framework\EntityManager\Observer {
+ /**
+ * Class AfterEntityDelete
+ */
+ class AfterEntityDelete implements \Magento\Framework\Event\ObserverInterface
+ {
+ /**
+ * Apply model delete operation
+ *
+ * @param Observer $observer
+ * @throws \Magento\Framework\Validator\Exception
+ * @return void
+ */
+ public function execute(\Magento\Framework\Event\Observer $observer)
+ {
+ }
+ }
+ /**
+ * Class AfterEntityLoad
+ */
+ class AfterEntityLoad implements \Magento\Framework\Event\ObserverInterface
+ {
+ /**
+ * Apply model save operation
+ *
+ * @param Observer $observer
+ * @throws \Magento\Framework\Validator\Exception
+ * @return void
+ */
+ public function execute(\Magento\Framework\Event\Observer $observer)
+ {
+ }
+ }
+ /**
+ * Class BeforeEntitySave
+ */
+ class BeforeEntitySave implements \Magento\Framework\Event\ObserverInterface
+ {
+ /**
+ * Apply model save operation
+ *
+ * @param Observer $observer
+ * @throws \Magento\Framework\Validator\Exception
+ * @return void
+ */
+ public function execute(\Magento\Framework\Event\Observer $observer)
+ {
+ }
+ }
+ /**
+ * Class BeforeEntityDelete
+ */
+ class BeforeEntityDelete implements \Magento\Framework\Event\ObserverInterface
+ {
+ /**
+ * Apply model save operation
+ *
+ * @param Observer $observer
+ * @throws \Magento\Framework\Validator\Exception
+ * @return void
+ */
+ public function execute(\Magento\Framework\Event\Observer $observer)
+ {
+ }
+ }
+ /**
+ * Class AfterEntitySave
+ */
+ class AfterEntitySave implements \Magento\Framework\Event\ObserverInterface
+ {
+ /**
+ * Apply model save operation
+ *
+ * @param Observer $observer
+ * @throws \Magento\Framework\Validator\Exception
+ * @return void
+ */
+ public function execute(\Magento\Framework\Event\Observer $observer)
+ {
+ }
+ }
+}
+namespace Magento\Framework\EntityManager {
+ /**
+ * Class HydratorPool
+ */
+ class HydratorPool
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ * @param string[] $hydrators
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $hydrators = [])
+ {
+ }
+ /**
+ * @param string $entityType
+ * @return HydratorInterface
+ */
+ public function getHydrator($entityType)
+ {
+ }
+ }
+ /**
+ * Class OperationPool
+ */
+ class OperationPool
+ {
+ /**
+ * OperationPool constructor.
+ * @param ObjectManager $objectManager
+ * @param string[] $operations
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $operations = [])
+ {
+ }
+ /**
+ * Returns operation by name by entity type
+ *
+ * @param string $entityType
+ * @param string $operationName
+ * @return OperationInterface
+ */
+ public function getOperation($entityType, $operationName)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Component {
+ /**
+ * Component Registrar Interface
+ *
+ * @api
+ */
+ interface ComponentRegistrarInterface
+ {
+ /**
+ * Get list of registered Magento components
+ *
+ * Returns an array where key is fully-qualified component name and value is absolute path to component
+ *
+ * @param string $type
+ * @return array
+ */
+ public function getPaths($type);
+ /**
+ * Get path of a component if it is already registered
+ *
+ * @param string $type
+ * @param string $componentName
+ * @return null|string
+ */
+ public function getPath($type, $componentName);
+ }
+ /**
+ * Provides ability to statically register components.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class ComponentRegistrar implements \Magento\Framework\Component\ComponentRegistrarInterface
+ {
+ /**#@+
+ * Different types of components
+ */
+ const MODULE = 'module';
+ const LIBRARY = 'library';
+ const THEME = 'theme';
+ const LANGUAGE = 'language';
+ const SETUP = 'setup';
+ /**
+ * Sets the location of a component.
+ *
+ * @param string $type component type
+ * @param string $componentName Fully-qualified component name
+ * @param string $path Absolute file path to the component
+ * @throws \LogicException
+ * @return void
+ */
+ public static function register($type, $componentName, $path)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getPaths($type)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getPath($type, $componentName)
+ {
+ }
+ }
+ /**
+ * Class for searching files across all locations of certain component type
+ */
+ class DirSearch
+ {
+ /**
+ * Constructor
+ *
+ * @param ComponentRegistrarInterface $registrar
+ * @param Filesystem\Directory\ReadFactory $readFactory
+ */
+ public function __construct(\Magento\Framework\Component\ComponentRegistrarInterface $registrar, \Magento\Framework\Filesystem\Directory\ReadFactory $readFactory)
+ {
+ }
+ /**
+ * Search for files in each component by pattern, returns absolute paths
+ *
+ * @param string $componentType
+ * @param string $pattern
+ * @return array
+ */
+ public function collectFiles($componentType, $pattern)
+ {
+ }
+ /**
+ * Search for files in each component by pattern, returns file objects with absolute file paths
+ *
+ * @param string $componentType
+ * @param string $pattern
+ * @return ComponentFile[]
+ */
+ public function collectFilesWithContext($componentType, $pattern)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Component\Test\Unit {
+ class ComponentFileTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGetters()
+ {
+ }
+ }
+ class DirSearchTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testCollectFilesNothingFound()
+ {
+ }
+ public function testCollectFiles()
+ {
+ }
+ public function testCollectFilesWithContext()
+ {
+ }
+ }
+ class ComponentRegistrarTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testWithInvalidType()
+ {
+ }
+ public function testGetPathsForModule()
+ {
+ }
+ public function testRegistrarWithExceptionForModules()
+ {
+ }
+ public function testGetPath()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Component {
+ /**
+ * Value-object for files found in components
+ */
+ class ComponentFile
+ {
+ /**
+ * Constructor
+ *
+ * @param string $componentType
+ * @param string $componentName
+ * @param string $fullPath
+ */
+ public function __construct($componentType, $componentName, $fullPath)
+ {
+ }
+ /**
+ * Get component type
+ *
+ * @return string
+ */
+ public function getComponentType()
+ {
+ }
+ /**
+ * Get component name
+ *
+ * @return string
+ */
+ public function getComponentName()
+ {
+ }
+ /**
+ * Get full path to the component
+ *
+ * @return string
+ */
+ public function getFullPath()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Convert {
+ /**
+ * Convert the array data to SimpleXMLElement object
+ */
+ class ConvertArray
+ {
+ /**
+ * Transform an assoc array to \SimpleXMLElement object
+ * Array has some limitations. Appropriate exceptions will be thrown
+ *
+ * @param array $array
+ * @param string $rootName
+ * @return \SimpleXMLElement
+ * @throws LocalizedException
+ */
+ public function assocToXml(array $array, $rootName = '_')
+ {
+ }
+ /**
+ * Convert nested array into flat array.
+ *
+ * @param array $data
+ * @return array
+ */
+ public static function toFlatArray($data)
+ {
+ }
+ }
+ /**
+ * Default converter for \Magento\Framework\DataObjects to arrays
+ *
+ * @api
+ */
+ class DataObject
+ {
+ /** Constant used to mark cycles in the input array/objects */
+ const CYCLE_DETECTED_MARK = '*** CYCLE DETECTED ***';
+ /**
+ * Convert input data into an array and return the resulting array.
+ * The resulting array should not contain any objects.
+ *
+ * @param array $data input data
+ * @return array Data converted to an array
+ */
+ public function convertDataToArray($data)
+ {
+ }
+ /**
+ * Converts a \Magento\Framework\DataObject into an array, including any children objects
+ *
+ * @param mixed $obj array or object to convert
+ * @param array $objects array of object hashes used for cycle detection
+ * @return array|string Converted object or CYCLE_DETECTED_MARK
+ */
+ protected function _convertObjectToArray($obj, &$objects = [])
+ {
+ }
+ /**
+ * Converts the list of objects into an array of the form: [ [ 'label' => , 'value' => ], ... ].
+ *
+ *
+ * The and values are taken from the objects in the list using the $idField and $valueField
+ * parameters, which can be either the name of the field to use, or a closure.
+ *
+ * @param array $items
+ * @param string|callable $idField
+ * @param string|callable $valueField
+ * @return array
+ */
+ public function toOptionArray(array $items, $idField, $valueField)
+ {
+ }
+ /**
+ * Converts the list of objects into an array of the form: [ => , ... ].
+ *
+ *
+ * The and values are taken from the objects in the list using the $idField and $valueField parameters,
+ * which can be either the name of the field to use, or a closure.
+ *
+ * @param array $items
+ * @param string|callable $idField
+ * @param string|callable $valueField
+ * @return array
+ */
+ public function toOptionHash(array $items, $idField, $valueField)
+ {
+ }
+ /**
+ * Returns the value of the property represented by $field on the $item object.
+ *
+ *
+ * When $field is a closure, the $item parameter is passed to the $field method, otherwise the $field is assumed
+ * to be a property name, and the associated get method is invoked on the $item instead.
+ *
+ * @param mixed $item
+ * @param string|callable $field
+ * @return mixed
+ */
+ protected function _invokeGetter($item, $field)
+ {
+ }
+ }
+ /**
+ * Convert xml data (SimpleXMLElement object) to array
+ */
+ class Xml
+ {
+ /**
+ * Transform \SimpleXMLElement to associative array
+ * \SimpleXMLElement must be conform structure, generated by assocToXml()
+ *
+ * @param \SimpleXMLElement $xml
+ * @return array
+ */
+ public function xmlToAssoc(\SimpleXMLElement $xml)
+ {
+ }
+ }
+ class ExcelFactory
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @var string
+ */
+ protected $instanceName;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Convert\Excel::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return \Magento\Framework\Convert\Excel
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Convert\Test\Unit {
+ class ConvertArrayTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ConvertArray
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ public function testAssocToXml()
+ {
+ }
+ public function testAssocToXmlExceptionByKey()
+ {
+ }
+ /**
+ * @param array $array
+ * @param string $rootName
+ * @dataProvider assocToXmlExceptionDataProvider
+ */
+ public function testAssocToXmlException($array, $rootName = '_')
+ {
+ }
+ public function testToFlatArray()
+ {
+ }
+ /**
+ * @return array
+ */
+ public function assocToXmlExceptionDataProvider()
+ {
+ }
+ }
+ class XmlTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Xml
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ public function testXmlToAssoc()
+ {
+ }
+ /**
+ * @return string
+ */
+ protected function getXml()
+ {
+ }
+ }
+ class DataSizeTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var DataSize
+ */
+ protected $dataSize;
+ /**
+ * Setup
+ *
+ * @return void
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @dataProvider getConvertSizeToIntegerDataProvider
+ * @backupStaticAttributes
+ * @param string $value
+ * @param int $expected
+ * @return void
+ */
+ public function testConvertSizeToInteger($value, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getConvertSizeToIntegerDataProvider()
+ {
+ }
+ }
+ class ExcelTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var string[]
+ */
+ protected $_testHeader = ['HeaderID', 'HeaderName', 'HeaderEmail', 'HeaderGroup', 'HeaderPhone', 'Header+Phone', 'HeaderZIP', 'Header0ZIP', 'HeaderCountry', 'HeaderRegion', 'HeaderSymbol=', 'HeaderSymbol-', 'HeaderSymbol+', 'HeaderNumberWithSpace', 'HeaderNumberWithTabulation'];
+ /**
+ * @var string[]
+ */
+ protected $_testFooter = ['FooterID', 'FooterName', 'FooterEmail', 'FooterGroup', 'FooterPhone', 'Footer+Phone', 'FooterZIP', 'Footer0ZIP', 'FooterCountry', 'FooterRegion', 'FooterSymbol=', 'FooterSymbol-', 'FooterSymbol+', 'FooterNumberWithSpace', 'FooterNumberWithTabulation'];
+ /**
+ * Path for Sample File
+ *
+ * @return string
+ */
+ protected function _getSampleOutputFile()
+ {
+ }
+ /**
+ * Callback method
+ *
+ * @param array $row
+ * @return array
+ */
+ public function callbackMethod($row)
+ {
+ }
+ /**
+ * Test \Magento\Framework\Convert\Excel->convert()
+ * \Magento\Framework\Convert\Excel($iterator)
+ *
+ * @return void
+ */
+ public function testConvert()
+ {
+ }
+ /**
+ * Test \Magento\Framework\Convert\Excel->convert()
+ * \Magento\Framework\Convert\Excel($iterator, $callbackMethod)
+ *
+ * @return void
+ */
+ public function testConvertCallback()
+ {
+ }
+ /**
+ * Write Data into File
+ *
+ * @param bool $callback
+ * @return string
+ */
+ protected function _writeFile($callback = false)
+ {
+ }
+ /**
+ * Test \Magento\Framework\Convert\Excel->write()
+ * \Magento\Framework\Convert\Excel($iterator)
+ *
+ * @return void
+ */
+ public function testWrite()
+ {
+ }
+ /**
+ * Test \Magento\Framework\Convert\Excel->write()
+ * \Magento\Framework\Convert\Excel($iterator, $callbackMethod)
+ *
+ * @return void
+ */
+ public function testWriteCallback()
+ {
+ }
+ }
+ class ObjectTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var DataObject
+ */
+ protected $model;
+ protected function setUp() : void
+ {
+ }
+ public function testToOptionArray()
+ {
+ }
+ public function testToOptionHash()
+ {
+ }
+ public function testConvertDataToArray()
+ {
+ }
+ }
+ class ExcelFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ExcelFactory
+ */
+ protected $model;
+ /**
+ * @var ObjectManagerInterface|MockObject
+ */
+ protected $objectManager;
+ protected function setUp() : void
+ {
+ }
+ public function testCreate()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Convert {
+ /**
+ * Convert the data to XML Excel
+ */
+ class Excel
+ {
+ /**
+ * \ArrayIterator Object
+ *
+ * @var \Iterator|null
+ */
+ protected $_iterator = null;
+ /**
+ * Method Callback Array
+ *
+ * @var array
+ */
+ protected $_rowCallback = [];
+ /**
+ * Grid Header Array
+ *
+ * @var array
+ */
+ protected $_dataHeader = [];
+ /**
+ * Grid Footer Array
+ *
+ * @var array
+ */
+ protected $_dataFooter = [];
+ /**
+ * Class Constructor
+ *
+ * @param \Iterator $iterator
+ * @param array $rowCallback
+ * @param Escaper|null $escaper
+ */
+ public function __construct(\Iterator $iterator, $rowCallback = [], \Magento\Framework\Escaper $escaper = null)
+ {
+ }
+ /**
+ * Retrieve Excel XML Document Header XML Fragment
+ *
+ * Append data header if it is available
+ *
+ * @param string $sheetName
+ * @return string
+ */
+ protected function _getXmlHeader($sheetName = '')
+ {
+ }
+ /**
+ * Retrieve Excel XML Document Footer XML Fragment
+ *
+ * Append data footer if it is available
+ *
+ * @return string
+ */
+ protected function _getXmlFooter()
+ {
+ }
+ /**
+ * Get a Single XML Row
+ *
+ * @param array $row
+ * @param boolean $useCallback
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function _getXmlRow($row, $useCallback)
+ {
+ }
+ /**
+ * Set Data Header
+ *
+ * @param array $data
+ * @return void
+ */
+ public function setDataHeader($data)
+ {
+ }
+ /**
+ * Set Data Footer
+ *
+ * @param array $data
+ * @return void
+ */
+ public function setDataFooter($data)
+ {
+ }
+ /**
+ * Convert Data to Excel XML Document
+ *
+ * @param string $sheetName
+ * @return string
+ */
+ public function convert($sheetName = '')
+ {
+ }
+ /**
+ * Write Converted XML Data to Temporary File
+ *
+ * @param WriteInterface $stream
+ * @param string $sheetName
+ * @return void
+ */
+ public function write(\Magento\Framework\Filesystem\File\WriteInterface $stream, $sheetName = '')
+ {
+ }
+ }
+ /**
+ * Magento data size converter class
+ */
+ class DataSize
+ {
+ /**
+ * Converts a size value to bytes
+ *
+ * Example input: 100 (bytes), 10K (kilobytes), 13M (megabytes), 2G (gigabytes)
+ *
+ * @param string $size
+ * @return integer
+ */
+ public function convertSizeToBytes($size)
+ {
+ }
+ }
+}
+namespace Magento\Framework\DomDocument {
+ /**
+ * DOM document factory
+ */
+ class DomDocumentFactory
+ {
+ /**
+ * Create empty DOM document instance.
+ *
+ * @return \DOMDocument
+ */
+ public function create()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mail {
+ /**
+ * Interface MimeMessageInterface
+ *
+ * @api
+ */
+ interface MimeMessageInterface
+ {
+ /**
+ * Returns the list of all MimeParts in the message
+ *
+ * @return MimePartInterface[]
+ */
+ public function getParts() : array;
+ /**
+ * Check if message needs to be sent as multipart MIME message or if it has only one part.
+ *
+ * @return bool
+ */
+ public function isMultiPart() : bool;
+ /**
+ * Generate MIME-compliant message from the current configuration
+ *
+ * @param string $endOfLine
+ *
+ * @return string
+ */
+ public function getMessage(string $endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END) : string;
+ /**
+ * Get the headers of a given part as an array
+ *
+ * @param int $partNum
+ *
+ * @return array
+ */
+ public function getPartHeadersAsArray(int $partNum) : array;
+ /**
+ * Get the headers of a given part as a string
+ *
+ * @param int $partNum
+ * @param string $endOfLine
+ *
+ * @return string
+ */
+ public function getPartHeaders(int $partNum, string $endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END) : string;
+ /**
+ * Get the (encoded) content of a given part as a string
+ *
+ * @param int $partNum
+ * @param string $endOfLine
+ *
+ * @return string
+ */
+ public function getPartContent(int $partNum, string $endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END) : string;
+ }
+ /**
+ * Magento Framework Mime message
+ */
+ class MimeMessage implements \Magento\Framework\Mail\MimeMessageInterface
+ {
+ /**
+ * MimeMessage constructor
+ *
+ * @param array $parts
+ */
+ public function __construct(array $parts)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getParts() : array
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function isMultiPart() : bool
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getMessage(string $endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END) : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getPartHeadersAsArray(int $partNum) : array
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getPartHeaders(int $partNum, string $endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END) : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getPartContent(int $partNum, string $endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END) : string
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mail\Template {
+ /**
+ * Mail Template Factory interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface FactoryInterface
+ {
+ /**
+ * Returns the mail template associated with the identifier.
+ *
+ * @param string $identifier
+ * @param null|string $namespace
+ * @return \Magento\Framework\Mail\TemplateInterface
+ */
+ public function get($identifier, $namespace = null);
+ }
+ class Factory implements \Magento\Framework\Mail\Template\FactoryInterface
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager = null;
+ /**
+ * @var string
+ */
+ protected $instanceName = null;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Mail\TemplateInterface::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function get($identifier, $namespace = null)
+ {
+ }
+ }
+ /**
+ * TransportBuilder for Mail Templates
+ *
+ * @api
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @since 100.0.2
+ */
+ class TransportBuilder
+ {
+ /**
+ * Template Identifier
+ *
+ * @var string
+ */
+ protected $templateIdentifier;
+ /**
+ * Template Model
+ *
+ * @var string
+ */
+ protected $templateModel;
+ /**
+ * Template Variables
+ *
+ * @var array
+ */
+ protected $templateVars;
+ /**
+ * Template Options
+ *
+ * @var array
+ */
+ protected $templateOptions;
+ /**
+ * Mail Transport
+ *
+ * @var TransportInterface
+ */
+ protected $transport;
+ /**
+ * Template Factory
+ *
+ * @var FactoryInterface
+ */
+ protected $templateFactory;
+ /**
+ * Object Manager
+ *
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Message
+ *
+ * @var MessageInterface
+ */
+ protected $message;
+ /**
+ * Sender resolver
+ *
+ * @var SenderResolverInterface
+ */
+ protected $_senderResolver;
+ /**
+ * @var TransportInterfaceFactory
+ */
+ protected $mailTransportFactory;
+ /**
+ * TransportBuilder constructor
+ *
+ * @param FactoryInterface $templateFactory
+ * @param MessageInterface $message
+ * @param SenderResolverInterface $senderResolver
+ * @param ObjectManagerInterface $objectManager
+ * @param TransportInterfaceFactory $mailTransportFactory
+ * @param MessageInterfaceFactory|null $messageFactory
+ * @param EmailMessageInterfaceFactory|null $emailMessageInterfaceFactory
+ * @param MimeMessageInterfaceFactory|null $mimeMessageInterfaceFactory
+ * @param MimePartInterfaceFactory|null $mimePartInterfaceFactory
+ * @param addressConverter|null $addressConverter
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ */
+ public function __construct(\Magento\Framework\Mail\Template\FactoryInterface $templateFactory, \Magento\Framework\Mail\MessageInterface $message, \Magento\Framework\Mail\Template\SenderResolverInterface $senderResolver, \Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Mail\TransportInterfaceFactory $mailTransportFactory, \Magento\Framework\Mail\MessageInterfaceFactory $messageFactory = null, \Magento\Framework\Mail\EmailMessageInterfaceFactory $emailMessageInterfaceFactory = null, \Magento\Framework\Mail\MimeMessageInterfaceFactory $mimeMessageInterfaceFactory = null, \Magento\Framework\Mail\MimePartInterfaceFactory $mimePartInterfaceFactory = null, \Magento\Framework\Mail\AddressConverter $addressConverter = null)
+ {
+ }
+ /**
+ * Add cc address
+ *
+ * @param array|string $address
+ * @param string $name
+ *
+ * @return $this
+ */
+ public function addCc($address, $name = '')
+ {
+ }
+ /**
+ * Add to address
+ *
+ * @param array|string $address
+ * @param string $name
+ *
+ * @return $this
+ * @throws InvalidArgumentException
+ */
+ public function addTo($address, $name = '')
+ {
+ }
+ /**
+ * Add bcc address
+ *
+ * @param array|string $address
+ *
+ * @return $this
+ * @throws InvalidArgumentException
+ */
+ public function addBcc($address)
+ {
+ }
+ /**
+ * Set Reply-To Header
+ *
+ * @param string $email
+ * @param string|null $name
+ *
+ * @return $this
+ * @throws InvalidArgumentException
+ */
+ public function setReplyTo($email, $name = null)
+ {
+ }
+ /**
+ * Set mail from address
+ *
+ * @param string|array $from
+ *
+ * @return $this
+ * @throws InvalidArgumentException
+ * @see setFromByScope()
+ *
+ * @deprecated 102.0.1 This function sets the from address but does not provide
+ * a way of setting the correct from addresses based on the scope.
+ */
+ public function setFrom($from)
+ {
+ }
+ /**
+ * Set mail from address by scopeId
+ *
+ * @param string|array $from
+ * @param string|int $scopeId
+ *
+ * @return $this
+ * @throws InvalidArgumentException
+ * @throws MailException
+ * @since 102.0.1
+ */
+ public function setFromByScope($from, $scopeId = null)
+ {
+ }
+ /**
+ * Set template identifier
+ *
+ * @param string $templateIdentifier
+ *
+ * @return $this
+ */
+ public function setTemplateIdentifier($templateIdentifier)
+ {
+ }
+ /**
+ * Set template model
+ *
+ * @param string $templateModel
+ *
+ * @return $this
+ */
+ public function setTemplateModel($templateModel)
+ {
+ }
+ /**
+ * Set template vars
+ *
+ * @param array $templateVars
+ *
+ * @return $this
+ */
+ public function setTemplateVars($templateVars)
+ {
+ }
+ /**
+ * Set template options
+ *
+ * @param array $templateOptions
+ * @return $this
+ */
+ public function setTemplateOptions($templateOptions)
+ {
+ }
+ /**
+ * Get mail transport
+ *
+ * @return TransportInterface
+ * @throws LocalizedException
+ */
+ public function getTransport()
+ {
+ }
+ /**
+ * Reset object state
+ *
+ * @return $this
+ */
+ protected function reset()
+ {
+ }
+ /**
+ * Get template
+ *
+ * @return TemplateInterface
+ */
+ protected function getTemplate()
+ {
+ }
+ /**
+ * Prepare message.
+ *
+ * @return $this
+ * @throws LocalizedException if template type is unknown
+ */
+ protected function prepareMessage()
+ {
+ }
+ }
+ /**
+ * Class TransportBuilderByStore
+ *
+ * @deprecated 102.0.1 The ability to set From address based on store is now available
+ * in the \Magento\Framework\Mail\Template\TransportBuilder class
+ * @see \Magento\Framework\Mail\Template\TransportBuilder::setFromByStore
+ */
+ class TransportBuilderByStore
+ {
+ /**
+ * Message.
+ *
+ * @var \Magento\Framework\Mail\Message
+ */
+ protected $message;
+ /**
+ * @param MessageInterface $message
+ * @param SenderResolverInterface $senderResolver
+ */
+ public function __construct(\Magento\Framework\Mail\MessageInterface $message, \Magento\Framework\Mail\Template\SenderResolverInterface $senderResolver)
+ {
+ }
+ /**
+ * Set mail from address by store.
+ *
+ * @param string|array $from
+ * @param string|int $store
+ *
+ * @return $this
+ */
+ public function setFromByStore($from, $store)
+ {
+ }
+ }
+ /**
+ * High-level interface for mail templates data that hides format from the client code
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ConfigInterface
+ {
+ /**
+ * Retrieve unique identifiers of all available email templates
+ *
+ * @return string[]
+ */
+ public function getAvailableTemplates();
+ /**
+ * Retrieve translated label of an email template
+ *
+ * @param string $templateId
+ * @return string
+ */
+ public function getTemplateLabel($templateId);
+ /**
+ * Retrieve type of an email template
+ *
+ * @param string $templateId
+ * @return string
+ */
+ public function getTemplateType($templateId);
+ /**
+ * Retrieve fully-qualified name of a module an email template belongs to
+ *
+ * @param string $templateId
+ * @return string
+ */
+ public function getTemplateModule($templateId);
+ /**
+ * Retrieve the area an email template belongs to
+ *
+ * @param string $templateId
+ * @return string
+ */
+ public function getTemplateArea($templateId);
+ /**
+ * Retrieve full path to an email template file
+ *
+ * @param string $templateId
+ * @param array|null $designParams
+ * @return string
+ */
+ public function getTemplateFilename($templateId, $designParams = []);
+ }
+ /**
+ * Mail Sender Resolver interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface SenderResolverInterface
+ {
+ /**
+ * Resolve sender information. The $sender can be a string to identify which sender to lookup in the config and
+ * return the name and email for. The $sender can be an array prefilled with the name and email key/value pairs.
+ *
+ * @throws \Magento\Framework\Exception\MailException
+ * @param string|array $sender
+ * @param int|null $scopeId
+ * @return array an array with 'name' and 'email' key/value pairs
+ */
+ public function resolve($sender, $scopeId = null);
+ }
+}
+namespace Magento\Framework\Mail {
+ /**
+ * Mail Message interface
+ *
+ * @api
+ * @deprecated 102.0.0 in favor of MailMessageInterface to avoid temporal coupling (setMessageType + setBody)
+ * @see \Magento\Framework\Mail\MailMessageInterface
+ * @since 100.0.2
+ */
+ interface MessageInterface
+ {
+ /**
+ * Types of message
+ * @deprecated
+ */
+ const TYPE_TEXT = 'text/plain';
+ /**
+ * @deprecated
+ */
+ const TYPE_HTML = 'text/html';
+ /**
+ * Set message subject
+ *
+ * @param string $subject
+ * @return $this
+ */
+ public function setSubject($subject);
+ /**
+ * Get message subject
+ *
+ * @return string
+ */
+ public function getSubject();
+ /**
+ * Set message body
+ *
+ * @param mixed $body
+ * @return $this
+ *
+ * @deprecated 102.0.0
+ * @see \Magento\Framework\Mail\MailMessageInterface::setBodyHtml
+ * @see \Magento\Framework\Mail\MailMessageInterface::setBodyText()
+ */
+ public function setBody($body);
+ /**
+ * Get message body
+ *
+ * @return string
+ */
+ public function getBody();
+ /**
+ * Set from address
+ *
+ * @param string|array $fromAddress
+ * @return $this
+ */
+ public function setFrom($fromAddress);
+ /**
+ * Add to address
+ *
+ * @param string|array $toAddress
+ * @return $this
+ */
+ public function addTo($toAddress);
+ /**
+ * Add cc address
+ *
+ * @param string|array $ccAddress
+ * @return $this
+ */
+ public function addCc($ccAddress);
+ /**
+ * Add bcc address
+ *
+ * @param string|array $bccAddress
+ * @return $this
+ */
+ public function addBcc($bccAddress);
+ /**
+ * Set reply-to address
+ *
+ * @param string|array $replyToAddress
+ * @return $this
+ */
+ public function setReplyTo($replyToAddress);
+ /**
+ * Set message type
+ *
+ * @param string $type
+ * @return $this
+ *
+ * @deprecated 102.0.0
+ * @see \Magento\Framework\Mail\MailMessageInterface::setBodyHtml
+ * @see \Magento\Framework\Mail\MailMessageInterface::getBodyHtml
+ * @see \Magento\Framework\Mail\MailMessageInterface::setBodyText()
+ * @see \Magento\Framework\Mail\MailMessageInterface::getBodyText()
+ */
+ public function setMessageType($type);
+ }
+ /**
+ * Mail Message interface
+ *
+ * @api
+ * @deprecated 102.0.4
+ * @see \Magento\Framework\Mail\EmailMessageInterface
+ * @since 101.0.8
+ */
+ interface MailMessageInterface extends \Magento\Framework\Mail\MessageInterface
+ {
+ /**
+ * Set mail message body in HTML format.
+ *
+ * @param string $html
+ * @return $this
+ * @since 101.0.8
+ */
+ public function setBodyHtml($html);
+ /**
+ * Set mail message body in text format.
+ *
+ * @param string $text
+ * @return $this
+ * @since 101.0.8
+ */
+ public function setBodyText($text);
+ /**
+ * Get message source code.
+ *
+ * @return string
+ * @since 101.0.8
+ */
+ public function getRawMessage();
+ }
+ /**
+ * Interface EmailMessageInterface
+ *
+ * @api
+ */
+ interface EmailMessageInterface extends \Magento\Framework\Mail\MailMessageInterface
+ {
+ /**
+ * Get the message encoding
+ *
+ * @return string
+ */
+ public function getEncoding() : string;
+ /**
+ * Access headers collection
+ *
+ * @return array
+ */
+ public function getHeaders() : array;
+ /**
+ * Retrieve list of From senders
+ *
+ * @return Address[]|null
+ */
+ public function getFrom() : ?array;
+ /**
+ * Access the address list of the To header
+ *
+ * @return Address[]
+ */
+ public function getTo() : array;
+ /**
+ * Retrieve list of CC recipients
+ *
+ * @return Address[]|null
+ */
+ public function getCc() : ?array;
+ /**
+ * Retrieve list of Bcc recipients
+ *
+ * @return Address[]|null
+ */
+ public function getBcc() : ?array;
+ /**
+ * Access the address list of the Reply-To header
+ *
+ * @return Address[]|null
+ */
+ public function getReplyTo() : ?array;
+ /**
+ * Retrieve the sender address, if any
+ *
+ * @return Address|null
+ */
+ public function getSender() : ?\Magento\Framework\Mail\Address;
+ /**
+ * Get the message subject header value
+ *
+ * @return null|string
+ */
+ public function getSubject();
+ /**
+ * Return the currently set message body
+ *
+ * @return MimeMessageInterface
+ */
+ public function getMessageBody() : \Magento\Framework\Mail\MimeMessageInterface;
+ /**
+ * Get the string-serialized message body text
+ *
+ * @return string
+ */
+ public function getBodyText() : string;
+ /**
+ * Serialize to string
+ *
+ * @return string
+ */
+ public function toString() : string;
+ }
+ /**
+ * Class Message for email transportation
+ *
+ * @deprecated 102.0.4 a new message implementation was added
+ * @see \Magento\Framework\Mail\EmailMessage
+ */
+ class Message implements \Magento\Framework\Mail\MailMessageInterface
+ {
+ /**
+ * @var \Laminas\Mail\Message
+ */
+ protected $zendMessage;
+ /**
+ * Initialize dependencies.
+ *
+ * @param string $charset
+ */
+ public function __construct($charset = 'utf-8')
+ {
+ }
+ /**
+ * @inheritdoc
+ *
+ * @deprecated 101.0.8
+ * @see \Magento\Framework\Mail\Message::setBodyText
+ * @see \Magento\Framework\Mail\Message::setBodyHtml
+ */
+ public function setMessageType($type)
+ {
+ }
+ /**
+ * @inheritdoc
+ *
+ * @deprecated 101.0.8
+ * @see \Magento\Framework\Mail\Message::setBodyText
+ * @see \Magento\Framework\Mail\Message::setBodyHtml
+ */
+ public function setBody($body)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setSubject($subject)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getSubject()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getBody()
+ {
+ }
+ /**
+ * @inheritdoc
+ *
+ * @deprecated 102.0.1 This function is missing the from name. The
+ * setFromAddress() function sets both from address and from name.
+ * @see setFromAddress()
+ */
+ public function setFrom($fromAddress)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setFromAddress($fromAddress, $fromName = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function addTo($toAddress)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function addCc($ccAddress)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function addBcc($bccAddress)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setReplyTo($replyToAddress)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getRawMessage()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setBodyHtml($html)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setBodyText($text)
+ {
+ }
+ }
+ /**
+ * Magento Framework Email message
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class EmailMessage extends \Magento\Framework\Mail\Message implements \Magento\Framework\Mail\EmailMessageInterface
+ {
+ /**
+ * @param MimeMessageInterface $body
+ * @param array $to
+ * @param MimeMessageInterfaceFactory $mimeMessageFactory
+ * @param AddressFactory $addressFactory
+ * @param Address[]|null $from
+ * @param Address[]|null $cc
+ * @param Address[]|null $bcc
+ * @param Address[]|null $replyTo
+ * @param Address|null $sender
+ * @param string|null $subject
+ * @param string|null $encoding
+ * @param LoggerInterface|null $logger
+ * @throws InvalidArgumentException
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function __construct(\Magento\Framework\Mail\MimeMessageInterface $body, array $to, \Magento\Framework\Mail\MimeMessageInterfaceFactory $mimeMessageFactory, \Magento\Framework\Mail\AddressFactory $addressFactory, ?array $from = null, ?array $cc = null, ?array $bcc = null, ?array $replyTo = null, ?\Magento\Framework\Mail\Address $sender = null, ?string $subject = '', ?string $encoding = 'utf-8', ?\Psr\Log\LoggerInterface $logger = null)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getEncoding() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getHeaders() : array
+ {
+ }
+ /**
+ * @inheritDoc
+ *
+ * @throws InvalidArgumentException
+ */
+ public function getFrom() : ?array
+ {
+ }
+ /**
+ * @inheritDoc
+ *
+ * @throws InvalidArgumentException
+ */
+ public function getTo() : array
+ {
+ }
+ /**
+ * @inheritDoc
+ *
+ * @throws InvalidArgumentException
+ */
+ public function getCc() : ?array
+ {
+ }
+ /**
+ * @inheritDoc
+ *
+ * @throws InvalidArgumentException
+ */
+ public function getBcc() : ?array
+ {
+ }
+ /**
+ * @inheritDoc
+ *
+ * @throws InvalidArgumentException
+ */
+ public function getReplyTo() : ?array
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getSender() : ?\Magento\Framework\Mail\Address
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getMessageBody() : \Magento\Framework\Mail\MimeMessageInterface
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getBodyText() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function toString() : string
+ {
+ }
+ }
+ /**
+ * Interface representing a MIME part.
+ *
+ * @api
+ */
+ interface MimePartInterface
+ {
+ /**
+ * Get type
+ *
+ * @return string
+ */
+ public function getType() : string;
+ /**
+ * Get encoding
+ *
+ * @return string
+ */
+ public function getEncoding() : string;
+ /**
+ * Get disposition
+ *
+ * @return string
+ */
+ public function getDisposition() : string;
+ /**
+ * Get description
+ *
+ * @return string
+ */
+ public function getDescription() : string;
+ /**
+ * Get filename
+ *
+ * @return string
+ */
+ public function getFileName() : string;
+ /**
+ * Get charset
+ *
+ * @return string
+ */
+ public function getCharset() : string;
+ /**
+ * Get boundary
+ *
+ * @return string
+ */
+ public function getBoundary() : string;
+ /**
+ * Get location
+ *
+ * @return string
+ */
+ public function getLocation() : string;
+ /**
+ * Get language
+ *
+ * @return string
+ */
+ public function getLanguage() : string;
+ /**
+ * Get Filters
+ *
+ * @return array
+ */
+ public function getFilters() : array;
+ /**
+ * Check if this part can be read as a stream
+ *
+ * @return bool
+ */
+ public function isStream() : bool;
+ /**
+ * If this was created with a stream, return a filtered stream for reading the content. Useful for file attachment
+ *
+ * @param string $endOfLine
+ *
+ * @return resource
+ */
+ public function getEncodedStream($endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END);
+ /**
+ * Get the Content of the current Mime Part in the given encoding.
+ *
+ * @param string $endOfLine
+ *
+ * @return string|resource
+ */
+ public function getContent($endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END);
+ /**
+ * Get the RAW unencoded content from this part
+ *
+ * @return string
+ */
+ public function getRawContent() : string;
+ /**
+ * Create and return the array of headers for this MIME part
+ *
+ * @param string $endOfLine
+ *
+ * @return array
+ */
+ public function getHeadersArray($endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END) : array;
+ /**
+ * Create and return the array of headers for this MIME part
+ *
+ * @param string $endOfLine
+ *
+ * @return string
+ */
+ public function getHeaders($endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END) : string;
+ }
+ /**
+ * Mail Transport interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface TransportInterface
+ {
+ /**
+ * Send a mail using this transport
+ *
+ * @return void
+ * @throws \Magento\Framework\Exception\MailException
+ */
+ public function sendMessage();
+ /**
+ * Get message
+ *
+ * @return \Magento\Framework\Mail\MessageInterface
+ * @since 101.0.0
+ */
+ public function getMessage();
+ }
+}
+namespace Magento\Framework\App {
+ /**
+ * Template Types interface
+ *
+ * @deprecated 101.0.0 because of incorrect location
+ */
+ interface TemplateTypesInterface
+ {
+ /**
+ * Types of template
+ */
+ const TYPE_TEXT = 1;
+ const TYPE_HTML = 2;
+ /**
+ * Return true if template type eq text
+ *
+ * @return boolean
+ */
+ public function isPlain();
+ /**
+ * Getter for template type
+ *
+ * @return int
+ */
+ public function getType();
+ }
+}
+namespace Magento\Framework\Mail {
+ /**
+ * Mail Template interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface TemplateInterface extends \Magento\Framework\App\TemplateTypesInterface
+ {
+ /**
+ * Get processed template
+ *
+ * @return string
+ */
+ public function processTemplate();
+ /**
+ * Get processed subject
+ *
+ * @return string
+ */
+ public function getSubject();
+ /**
+ * Set template variables
+ *
+ * @param array $vars
+ * @return $this
+ */
+ public function setVars(array $vars);
+ /**
+ * Set template options
+ *
+ * @param array $options
+ * @return $this
+ */
+ public function setOptions(array $options);
+ }
+ /**
+ * Convert and filter email addresses
+ */
+ class AddressConverter
+ {
+ /**
+ * AddressConverter constructor
+ *
+ * @param AddressFactory $addressFactory
+ */
+ public function __construct(\Magento\Framework\Mail\AddressFactory $addressFactory)
+ {
+ }
+ /**
+ * Creates MailAddress from string values
+ *
+ * @param string $email
+ * @param string|null $name
+ *
+ * @return Address
+ */
+ public function convert(string $email, ?string $name = null) : \Magento\Framework\Mail\Address
+ {
+ }
+ /**
+ * Converts array to list of MailAddresses
+ *
+ * @param array $addresses
+ *
+ * @return Address[]
+ * @throws InvalidArgumentException
+ */
+ public function convertMany(array $addresses) : array
+ {
+ }
+ }
+ /**
+ * Class Address
+ *
+ * @api
+ */
+ class Address
+ {
+ /**
+ * Address constructor
+ *
+ * @param string|null $email
+ * @param string|null $name
+ */
+ public function __construct(?string $email, ?string $name)
+ {
+ }
+ /**
+ * Name getter
+ *
+ * @return string|null
+ */
+ public function getName() : ?string
+ {
+ }
+ /**
+ * Email getter
+ *
+ * @return string|null
+ */
+ public function getEmail() : ?string
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mail\Test\Unit\Template {
+ class FactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $objectManagerMock;
+ /**
+ * @var MockObject
+ */
+ protected $templateMock;
+ /**
+ * @var ObjectManagerHelper
+ */
+ protected $objectManagerHelper;
+ /**
+ * @return void
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $expectedArgument
+ * @param null|string $namespace
+ * @return void
+ * @dataProvider getDataProvider
+ */
+ public function testGet($expectedArgument, $namespace)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getDataProvider()
+ {
+ }
+ }
+ /**
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class TransportBuilderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var string
+ */
+ protected $builderClassName = \Magento\Framework\Mail\Template\TransportBuilder::class;
+ /**
+ * @var TransportBuilder
+ */
+ protected $builder;
+ /**
+ * @var FactoryInterface|MockObject
+ */
+ protected $templateFactoryMock;
+ /**
+ * @var Message|MockObject
+ */
+ protected $messageMock;
+ /**
+ * @var ObjectManagerInterface|MockObject
+ */
+ protected $objectManagerMock;
+ /**
+ * @var SenderResolverInterface|MockObject
+ */
+ protected $senderResolverMock;
+ /**
+ * @var MockObject
+ */
+ protected $mailTransportFactoryMock;
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param int $templateType
+ * @param string $bodyText
+ * @param string $templateNamespace
+ *
+ * @return void
+ * @dataProvider getTransportDataProvider
+ */
+ public function testGetTransport($templateType, $bodyText, $templateNamespace) : void
+ {
+ }
+ /**
+ * Test get transport with exception.
+ *
+ * @return void
+ */
+ public function testGetTransportWithException() : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getTransportDataProvider() : array
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testSetFromByScope() : void
+ {
+ }
+ }
+ class TransportBuilderByStoreTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var TransportBuilderByStore
+ */
+ protected $model;
+ /**
+ * @var Message|MockObject
+ */
+ protected $messageMock;
+ /**
+ * @var SenderResolverInterface|MockObject
+ */
+ protected $senderResolverMock;
+ /**
+ * @return void
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testSetFromByStore()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mail\Test\Unit {
+ /**
+ * test Magento\Framework\Mail\Message
+ */
+ class MessageTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Message
+ */
+ protected $message;
+ protected function setUp() : void
+ {
+ }
+ public function testSetBodyHtml()
+ {
+ }
+ public function testSetBodyText()
+ {
+ }
+ }
+ /**
+ * test Magento\Framework\Mail\Address
+ */
+ class AddressTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Address
+ */
+ protected $message;
+ /**
+ * Address object with nullable email parameter passed should not throw an exception.
+ *
+ * @return void
+ */
+ public function testGetEmailEmpty()
+ {
+ }
+ }
+ class AddressConverterTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $email
+ * @param string $name
+ * @param string $emailExpected
+ * @param string $nameExpected
+ * @dataProvider convertDataProvider
+ */
+ public function testConvert(string $email, string $name, string $emailExpected, string $nameExpected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function convertDataProvider() : array
+ {
+ }
+ }
+ /**
+ * Provides tests for framework email transport functionality.
+ */
+ class TransportTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheridoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Verify exception is properly handled in case one occurred when message sent.
+ *
+ * @covers \Magento\Framework\Mail\Transport::sendMessage
+ * @return void
+ */
+ public function testSendMessageBrokenMessage() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mail {
+ /**
+ * Mail transport
+ */
+ class Transport implements \Magento\Framework\Mail\TransportInterface
+ {
+ /**
+ * @param MessageInterface $message
+ * @param null|string|array|\Traversable $parameters
+ * @param LoggerInterface|null $logger
+ */
+ public function __construct(\Magento\Framework\Mail\MessageInterface $message, $parameters = null, \Psr\Log\LoggerInterface $logger = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function sendMessage()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getMessage()
+ {
+ }
+ }
+ /**
+ * Factory class for \Magento\Framework\Mail\TransportInterface
+ *
+ * @api
+ */
+ class TransportInterfaceFactory
+ {
+ /**
+ * Factory constructor
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Mail\TransportInterface::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return TransportInterface
+ */
+ public function create(array $data = []) : \Magento\Framework\Mail\TransportInterface
+ {
+ }
+ }
+ /**
+ * @inheritDoc
+ */
+ class MimePart implements \Magento\Framework\Mail\MimePartInterface
+ {
+ /**
+ * UTF-8 charset
+ */
+ public const CHARSET_UTF8 = 'utf-8';
+ /**
+ * MimePart constructor
+ *
+ * @param resource|string $content
+ * @param string|null $type
+ * @param string|null $fileName
+ * @param string|null $disposition
+ * @param string|null $encoding
+ * @param string|null $description
+ * @param array|null $filters
+ * @param string|null $charset
+ * @param string|null $boundary
+ * @param string|null $location
+ * @param string|null $language
+ * @param bool|null $isStream
+ *
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @throws InvalidArgumentException
+ */
+ public function __construct($content, ?string $type = \Magento\Framework\Mail\MimeInterface::TYPE_HTML, ?string $fileName = null, ?string $disposition = \Magento\Framework\Mail\MimeInterface::DISPOSITION_INLINE, ?string $encoding = \Magento\Framework\Mail\MimeInterface::ENCODING_QUOTED_PRINTABLE, ?string $description = null, ?array $filters = [], ?string $charset = self::CHARSET_UTF8, ?string $boundary = null, ?string $location = null, ?string $language = null, ?bool $isStream = null)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getType() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getEncoding() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getDisposition() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getDescription() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getFileName() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getCharset() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getBoundary() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getLocation() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getLanguage() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getFilters() : array
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function isStream() : bool
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getEncodedStream($endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getContent($endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getRawContent() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getHeadersArray($endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END) : array
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getHeaders($endOfLine = \Magento\Framework\Mail\MimeInterface::LINE_END) : string
+ {
+ }
+ }
+ /**
+ * Interface MimeInterface used providing constants
+ *
+ * @api
+ * @see \Laminas\Mime\Mime
+ */
+ interface MimeInterface
+ {
+ // @codingStandardsIgnoreStart
+ public const TYPE_OCTET_STREAM = 'application/octet-stream';
+ public const TYPE_TEXT = 'text/plain';
+ public const TYPE_HTML = 'text/html';
+ public const ENCODING_7BIT = '7bit';
+ public const ENCODING_8BIT = '8bit';
+ public const ENCODING_QUOTED_PRINTABLE = 'quoted-printable';
+ public const ENCODING_BASE64 = 'base64';
+ public const DISPOSITION_ATTACHMENT = 'attachment';
+ public const DISPOSITION_INLINE = 'inline';
+ public const LINE_LENGTH = 72;
+ public const LINE_END = "\n";
+ public const MULTIPART_ALTERNATIVE = 'multipart/alternative';
+ public const MULTIPART_MIXED = 'multipart/mixed';
+ public const MULTIPART_RELATED = 'multipart/related';
+ public const CHARSET_REGEX = '#=\\?(?P[\\x21\\x23-\\x26\\x2a\\x2b\\x2d\\x5e\\5f\\60\\x7b-\\x7ea-zA-Z0-9]+)\\?(?P[\\x21\\x23-\\x26\\x2a\\x2b\\x2d\\x5e\\5f\\60\\x7b-\\x7ea-zA-Z0-9]+)\\?(?P[\\x21-\\x3e\\x40-\\x7e]+)#';
+ // @codingStandardsIgnoreEnd
+ }
+}
+namespace Magento\Framework\Mail\Exception {
+ /**
+ * Class InvalidArgumentException
+ */
+ class InvalidArgumentException extends \InvalidArgumentException
+ {
+ }
+}
+namespace Magento\Framework\Profiler\Test\Unit\Driver {
+ class FactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Factory
+ */
+ protected $_factory;
+ /**
+ * @var string
+ */
+ protected $_defaultDriverPrefix = 'Magento_Framework_Profiler_Driver_Test_';
+ /**
+ * @var string
+ */
+ protected $_defaultDriverType = 'default';
+ protected function setUp() : void
+ {
+ }
+ public function testConstructor()
+ {
+ }
+ public function testDefaultConstructor()
+ {
+ }
+ /**
+ * @dataProvider createDataProvider
+ * @param array $config
+ * @param string $expectedClass
+ */
+ public function testCreate($config, $expectedClass)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function createDataProvider()
+ {
+ }
+ public function testCreateUndefinedClass()
+ {
+ }
+ public function testCreateInvalidClass()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Profiler\Test\Unit\Driver\Standard {
+ class OutputAbstractTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var AbstractOutput|MockObject
+ */
+ protected $_output;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test setFilterPattern method
+ */
+ public function testSetFilterPattern()
+ {
+ }
+ /**
+ * Test setThreshold method
+ */
+ public function testSetThreshold()
+ {
+ }
+ /**
+ * Test __construct method
+ */
+ public function testConstructor()
+ {
+ }
+ /**
+ * Test _renderColumnValue method
+ *
+ * @dataProvider renderColumnValueDataProvider
+ * @param mixed $value
+ * @param string $columnKey
+ * @param mixed $expectedValue
+ */
+ public function testRenderColumnValue($value, $columnKey, $expectedValue)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function renderColumnValueDataProvider()
+ {
+ }
+ /**
+ * Test _renderCaption method
+ */
+ public function testRenderCaption()
+ {
+ }
+ /**
+ * Test _getTimerIds method
+ */
+ public function testGetTimerIds()
+ {
+ }
+ /**
+ * Test _renderTimerId method
+ */
+ public function testRenderTimerId()
+ {
+ }
+ }
+ class StatTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Stat
+ */
+ protected $_stat;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test start and stop methods of \Magento\Framework\Profiler\Driver\Standard\Stat
+ *
+ * @dataProvider actionsDataProvider
+ * @param array $actions
+ * @param array $expected
+ */
+ public function testActions(array $actions, array $expected)
+ {
+ }
+ /**
+ * Data provider for testActions
+ *
+ * @return array
+ */
+ public function actionsDataProvider()
+ {
+ }
+ /**
+ * Test get method with invalid timer id
+ */
+ public function testGetWithInvalidTimer()
+ {
+ }
+ /**
+ * Test stop method with invalid timer id
+ */
+ public function testStopWithInvalidTimer()
+ {
+ }
+ /**
+ * Test clear method
+ */
+ public function testClear()
+ {
+ }
+ /**
+ * Test getFilteredTimerIds for sorting
+ *
+ * @dataProvider timersSortingDataProvider
+ * @param array $timers
+ * @param array $expectedTimerIds
+ */
+ public function testTimersSorting($timers, $expectedTimerIds)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function timersSortingDataProvider()
+ {
+ }
+ /**
+ * Test getFilteredTimerIds for filtering
+ *
+ * @dataProvider timersFilteringDataProvider
+ * @param array $timers
+ * @param array $thresholds
+ * @param string $filterPattern
+ * @param array $expectedTimerIds
+ */
+ public function testTimersFiltering($timers, $thresholds, $filterPattern, $expectedTimerIds)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function timersFilteringDataProvider()
+ {
+ }
+ /**
+ * Test positive cases of fetch method
+ *
+ * @dataProvider fetchDataProvider
+ * @param array $timers
+ * @param array $expects
+ */
+ public function testFetch($timers, $expects)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function fetchDataProvider()
+ {
+ }
+ public function testFetchInvalidTimer()
+ {
+ }
+ public function testFetchInvalidKey()
+ {
+ }
+ /**
+ * Executes stop or start methods on $_stat object
+ *
+ * @param string $action
+ * @param string $timerId
+ * @param int $time
+ * @param int $realMemory
+ * @param int $emallocMemory
+ */
+ protected function _executeTimerAction($action, $timerId, $time = 0, $realMemory = 0, $emallocMemory = 0)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Profiler\Test\Unit\Driver\Standard\Output {
+ class FactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Factory
+ */
+ protected $_factory;
+ /**
+ * @var string
+ */
+ protected $_defaultOutputPrefix = 'Magento_Framework_Profiler_Driver_Standard_Output_Test_';
+ /**
+ * @var string
+ */
+ protected $_defaultOutputType = 'default';
+ protected function setUp() : void
+ {
+ }
+ public function testConstructor()
+ {
+ }
+ public function testDefaultConstructor()
+ {
+ }
+ /**
+ * @dataProvider createDataProvider
+ * @param array $configData
+ * @param string $expectedClass
+ */
+ public function testCreate($configData, $expectedClass)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function createDataProvider()
+ {
+ }
+ public function testCreateUndefinedClass()
+ {
+ }
+ public function testCreateInvalidClass()
+ {
+ }
+ }
+ class CsvfileTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @dataProvider constructorProvider
+ * @param array $config
+ * @param string $expectedFilePath
+ * @param string $expectedDelimiter
+ * @param string $expectedEnclosure
+ */
+ public function testConstructor($config, $expectedFilePath, $expectedDelimiter, $expectedEnclosure)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function constructorProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Profiler\Test\Unit\Driver {
+ class StandardTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function tearDown() : void
+ {
+ }
+ /**
+ * Test __construct method with no arguments.
+ *
+ * @return void
+ */
+ public function testDefaultConstructor() : void
+ {
+ }
+ /**
+ * Test clear method.
+ *
+ * @return void
+ */
+ public function testClear() : void
+ {
+ }
+ /**
+ * Test start method.
+ *
+ * @return void
+ */
+ public function testStart() : void
+ {
+ }
+ /**
+ * Test stop method.
+ *
+ * @return void
+ */
+ public function testStop() : void
+ {
+ }
+ /**
+ * Test _initOutputs method.
+ *
+ * @return void
+ */
+ public function testInitOutputs() : void
+ {
+ }
+ /**
+ * Test display method.
+ *
+ * @return void
+ */
+ public function testDisplayAndRegisterOutput() : void
+ {
+ }
+ /**
+ * Test _getOutputFactory method creating new object by default.
+ *
+ * @return void
+ */
+ public function testDefaultOutputFactory() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Profiler {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ interface DriverInterface
+ {
+ /**
+ * Start timer
+ *
+ * @param string $timerId
+ * @param array|null $tags
+ * @return void
+ */
+ public function start($timerId, array $tags = null);
+ /**
+ * Stop timer
+ *
+ * @param string $timerId
+ * @return void
+ */
+ public function stop($timerId);
+ /**
+ * Clear collected statistics for specified timer or for whole profiler if timer name is omitted.
+ *
+ * @param string|null $timerId
+ * @return void
+ */
+ public function clear($timerId = null);
+ }
+}
+namespace Magento\Framework\Profiler\Driver {
+ /**
+ * Standard profiler driver that uses outputs for displaying profiling results.
+ */
+ class Standard implements \Magento\Framework\Profiler\DriverInterface
+ {
+ /**
+ * Storage for timers statistics
+ *
+ * @var Stat
+ */
+ protected $_stat;
+ /**
+ * List of profiler driver outputs
+ *
+ * @var OutputInterface[]
+ */
+ protected $_outputs = [];
+ /**
+ * Constructor
+ *
+ * @param array|null $config
+ */
+ public function __construct(array $config = null)
+ {
+ }
+ /**
+ * Destructor
+ */
+ public function __destruct()
+ {
+ }
+ /**
+ * Init outputs by configuration
+ *
+ * @param array|null $config
+ * @return void
+ */
+ protected function _initOutputs(array $config = null)
+ {
+ }
+ /**
+ * Parses output config
+ *
+ * @param mixed $outputConfig
+ * @return array|bool
+ */
+ protected function _parseOutputConfig($outputConfig)
+ {
+ }
+ /**
+ * Get output configs
+ *
+ * @param array $config
+ * @return array
+ */
+ protected function _getOutputConfigs(array $config = null)
+ {
+ }
+ /**
+ * Gets output factory from configuration or create new one
+ *
+ * @param array|null $config
+ * @return OutputFactory
+ */
+ protected function _getOutputFactory(array $config = null)
+ {
+ }
+ /**
+ * Init timers statistics object from configuration or create new one
+ *
+ * @param array|null $config
+ * @return void
+ */
+ protected function _initStat(array $config = null)
+ {
+ }
+ /**
+ * Clear collected statistics for specified timer or for whole profiler if timer id is omitted
+ *
+ * @param string|null $timerId
+ * @return void
+ */
+ public function clear($timerId = null)
+ {
+ }
+ /**
+ * Start collecting statistics for specified timer
+ *
+ * @param string $timerId
+ * @param array|null $tags
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function start($timerId, array $tags = null)
+ {
+ }
+ /**
+ * Stop recording statistics for specified timer.
+ *
+ * @param string $timerId
+ * @return void
+ */
+ public function stop($timerId)
+ {
+ }
+ /**
+ * Register profiler output instance to display profiling result at the end of execution
+ *
+ * @param OutputInterface $output
+ * @return void
+ */
+ public function registerOutput(\Magento\Framework\Profiler\Driver\Standard\OutputInterface $output)
+ {
+ }
+ /**
+ * Display collected statistics with registered outputs
+ *
+ * @return void
+ */
+ public function display()
+ {
+ }
+ }
+ class Factory
+ {
+ /**
+ * Default driver type
+ *
+ * @var string
+ */
+ protected $_defaultDriverType;
+ /**
+ * Default driver class prefix
+ *
+ * @var string
+ */
+ protected $_defaultDriverPrefix;
+ /**
+ * Constructor
+ *
+ * @param string $defaultDriverPrefix
+ * @param string $defaultDriverType
+ */
+ public function __construct($defaultDriverPrefix = 'Magento\\Framework\\Profiler\\Driver\\', $defaultDriverType = 'standard')
+ {
+ }
+ /**
+ * Create instance of profiler driver
+ *
+ * @param array $config|null
+ * @return DriverInterface
+ * @throws \InvalidArgumentException
+ */
+ public function create(array $config = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Profiler\Driver\Standard {
+ /**
+ * Interface \Magento\Framework\Profiler\Driver\Standard\OutputInterface
+ *
+ * @api
+ */
+ interface OutputInterface
+ {
+ /**
+ * Display profiling results in appropriate format
+ *
+ * @param Stat $stat
+ * @return void
+ */
+ public function display(\Magento\Framework\Profiler\Driver\Standard\Stat $stat);
+ }
+ abstract class AbstractOutput implements \Magento\Framework\Profiler\Driver\Standard\OutputInterface
+ {
+ /**
+ * PCRE Regular Expression for filter timer by id
+ *
+ * @var null|string
+ */
+ protected $_filterPattern;
+ /**
+ * List of threshold (minimal allowed) values for profiler data
+ *
+ * @var array
+ */
+ protected $_thresholds = [\Magento\Framework\Profiler\Driver\Standard\Stat::TIME => 0.001, \Magento\Framework\Profiler\Driver\Standard\Stat::COUNT => 10, \Magento\Framework\Profiler\Driver\Standard\Stat::EMALLOC => 10000];
+ /**
+ * List of columns to output
+ *
+ * @var array
+ */
+ protected $_columns = ['Timer Id' => \Magento\Framework\Profiler\Driver\Standard\Stat::ID, 'Time' => \Magento\Framework\Profiler\Driver\Standard\Stat::TIME, 'Avg' => \Magento\Framework\Profiler\Driver\Standard\Stat::AVG, 'Cnt' => \Magento\Framework\Profiler\Driver\Standard\Stat::COUNT, 'Emalloc' => \Magento\Framework\Profiler\Driver\Standard\Stat::EMALLOC, 'RealMem' => \Magento\Framework\Profiler\Driver\Standard\Stat::REALMEM];
+ /**
+ * Constructor
+ *
+ * @param array|null $config
+ */
+ public function __construct(array $config = null)
+ {
+ }
+ /**
+ * Set profiler output with timer identifiers filter.
+ *
+ * @param string $filterPattern PCRE pattern to filter timers by their identifiers
+ * @return void
+ */
+ public function setFilterPattern($filterPattern)
+ {
+ }
+ /**
+ * Get profiler output timer identifiers filter.
+ *
+ * @return string|null
+ */
+ public function getFilterPattern()
+ {
+ }
+ /**
+ * Set threshold (minimal allowed) value for timer column.
+ *
+ * Timer is being rendered if at least one of its columns is not less than the minimal allowed value.
+ *
+ * @param string $fetchKey
+ * @param int|float|null $minAllowedValue
+ * @return void
+ */
+ public function setThreshold($fetchKey, $minAllowedValue)
+ {
+ }
+ /**
+ * Get list of thresholds.
+ *
+ * @return array
+ */
+ public function getThresholds()
+ {
+ }
+ /**
+ * Render statistics column value for specified timer
+ *
+ * @param string|float $value
+ * @param string $columnKey
+ * @return string
+ */
+ protected function _renderColumnValue($value, $columnKey)
+ {
+ }
+ /**
+ * Render timer id
+ *
+ * @param string $timerId
+ * @return string
+ */
+ protected function _renderTimerId($timerId)
+ {
+ }
+ /**
+ * Render a caption for the profiling results
+ *
+ * @return string
+ */
+ protected function _renderCaption()
+ {
+ }
+ /**
+ * Retrieve the list of timer ids from timer statistics object.
+ *
+ * Timer ids will be ordered and filtered by thresholds and filter pattern.
+ *
+ * @param Stat $stat
+ * @return string[]
+ */
+ protected function _getTimerIds(\Magento\Framework\Profiler\Driver\Standard\Stat $stat)
+ {
+ }
+ }
+ /**
+ * Storage for timers statistics
+ *
+ * @api
+ */
+ class Stat
+ {
+ /**
+ * #@+ Timer statistics data keys
+ */
+ public const ID = 'id';
+ public const START = 'start';
+ public const TIME = 'sum';
+ public const COUNT = 'count';
+ public const AVG = 'avg';
+ public const REALMEM = 'realmem';
+ public const REALMEM_START = 'realmem_start';
+ public const EMALLOC = 'emalloc';
+ public const EMALLOC_START = 'emalloc_start';
+ /**#@-*/
+ /**
+ * @var array
+ */
+ protected $_timers = [];
+ /**
+ * Starts timer
+ *
+ * @param string $timerId
+ * @param int $time
+ * @param int $realMemory Real size of memory allocated from system
+ * @param int $emallocMemory Memory used by emalloc()
+ * @return void
+ */
+ public function start($timerId, $time, $realMemory, $emallocMemory)
+ {
+ }
+ /**
+ * Stops timer
+ *
+ * @param string $timerId
+ * @param int $time
+ * @param int $realMemory Real size of memory allocated from system
+ * @param int $emallocMemory Memory used by emalloc()
+ * @return void
+ * @throws \InvalidArgumentException if timer doesn't exist
+ */
+ public function stop($timerId, $time, $realMemory, $emallocMemory)
+ {
+ }
+ /**
+ * Get timer statistics data by timer id
+ *
+ * @param string $timerId
+ * @return array
+ * @throws \InvalidArgumentException if timer doesn't exist
+ */
+ public function get($timerId)
+ {
+ }
+ /**
+ * Retrieve statistics on specified timer
+ *
+ * @param string $timerId
+ * @param string $key Information to return
+ * @return string|bool|int|float
+ * @throws \InvalidArgumentException
+ */
+ public function fetch($timerId, $key)
+ {
+ }
+ /**
+ * Clear collected statistics for specified timer or for all timers if timer id is omitted
+ *
+ * @param string|null $timerId
+ * @return void
+ */
+ public function clear($timerId = null)
+ {
+ }
+ /**
+ * Get ordered list of timer ids filtered by thresholds and pcre pattern
+ *
+ * @param array|null $thresholds
+ * @param string|null $filterPattern
+ * @return array
+ */
+ public function getFilteredTimerIds(array $thresholds = null, $filterPattern = null)
+ {
+ }
+ /**
+ * Get ordered list of timer ids
+ *
+ * @return array
+ */
+ protected function _getOrderedTimerIds()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Profiler\Driver\Standard\Output {
+ class Factory
+ {
+ /**
+ * Default output type
+ *
+ * @var string
+ */
+ protected $_defaultOutputType;
+ /**
+ * Default output class prefix
+ *
+ * @var string
+ */
+ protected $_defaultOutputPrefix;
+ /**
+ * Constructor
+ *
+ * @param string $defaultOutputPrefix
+ * @param string $defaultOutputType
+ */
+ public function __construct($defaultOutputPrefix = 'Magento\\Framework\\Profiler\\Driver\\Standard\\Output\\', $defaultOutputType = 'html')
+ {
+ }
+ /**
+ * Create instance of standard profiler driver output
+ *
+ * @param array $config
+ * @return OutputInterface
+ * @throws \InvalidArgumentException If driver cannot be created
+ */
+ public function create(array $config)
+ {
+ }
+ }
+ class Csvfile extends \Magento\Framework\Profiler\Driver\Standard\AbstractOutput
+ {
+ const DEFAULT_FILEPATH = '/var/log/profiler.csv';
+ /**
+ *
+ * @var string
+ */
+ protected $_filePath;
+ /**
+ * @var string
+ */
+ protected $_delimiter;
+ /**
+ * @var string
+ */
+ protected $_enclosure;
+ /**
+ * Constructor
+ *
+ * @param array|null $config
+ */
+ public function __construct(array $config = null)
+ {
+ }
+ /**
+ * Parses file path
+ *
+ * @param array|null $config
+ * @return string
+ */
+ protected function _parseFilePath(array $config = null)
+ {
+ }
+ /**
+ * Write profiling results to CSV-file
+ *
+ * @param Stat $stat
+ * @return void
+ * @throws \RuntimeException if output file cannot be opened
+ */
+ public function display(\Magento\Framework\Profiler\Driver\Standard\Stat $stat)
+ {
+ }
+ /**
+ * Write content into an opened file handle
+ *
+ * @param resource $fileHandle
+ * @param Stat $stat
+ * @return void
+ */
+ protected function _writeFileContent($fileHandle, \Magento\Framework\Profiler\Driver\Standard\Stat $stat)
+ {
+ }
+ }
+ class Html extends \Magento\Framework\Profiler\Driver\Standard\AbstractOutput
+ {
+ /**
+ * Display profiling results
+ *
+ * @param Stat $stat
+ * @return void
+ */
+ public function display(\Magento\Framework\Profiler\Driver\Standard\Stat $stat)
+ {
+ }
+ /**
+ * Render timer id column value
+ *
+ * @param string $timerId
+ * @return string
+ */
+ protected function _renderTimerId($timerId)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator {
+ /**
+ * @api
+ */
+ class ConstraintFactory
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager = null;
+ /**
+ * @var string
+ */
+ protected $_instanceName = null;
+ /**
+ * Factory constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Validator\Constraint::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return \Magento\Framework\Validator\Constraint
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ /**
+ * Factory for \Magento\Framework\Validator and \Magento\Framework\Validator\Builder.
+ */
+ class Factory implements \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * cache key
+ *
+ * @deprecated
+ * @see we don't recommend this approach anymore
+ */
+ public const CACHE_KEY = __CLASS__;
+ /**
+ * @var ObjectManagerInterface
+ *
+ * phpcs:disable Magento2.Commenting.ClassPropertyPHPDocFormatting
+ */
+ protected readonly \Magento\Framework\ObjectManagerInterface $_objectManager;
+ /**
+ * Validator config files
+ *
+ * @var iterable|null
+ */
+ protected $_configFiles = null;
+ /**
+ * Initialize dependencies
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param Reader $moduleReader
+ * @param FrontendInterface $cache @deprecated
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Module\Dir\Reader $moduleReader, \Magento\Framework\Cache\FrontendInterface $cache)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ /**
+ * Init cached list of validation files
+ *
+ * @return void
+ */
+ protected function _initializeConfigList()
+ {
+ }
+ /**
+ * Create and set default translator to \Magento\Framework\Validator\AbstractValidator.
+ *
+ * @return void
+ * @throws \Zend_Translate_Exception
+ */
+ protected function _initializeDefaultTranslator()
+ {
+ }
+ /**
+ * Get validator config object.
+ *
+ * Will instantiate \Magento\Framework\Validator\Config
+ *
+ * @return Config
+ * @throws \Zend_Translate_Exception
+ */
+ public function getValidatorConfig()
+ {
+ }
+ /**
+ * Create validator builder instance based on entity and group.
+ *
+ * @param string $entityName
+ * @param string $groupName
+ * @param array|null $builderConfig
+ * @return Builder
+ * @throws \Zend_Translate_Exception
+ */
+ public function createValidatorBuilder($entityName, $groupName, array $builderConfig = null)
+ {
+ }
+ /**
+ * Create validator based on entity and group.
+ *
+ * @param string $entityName
+ * @param string $groupName
+ * @param array|null $builderConfig
+ * @return Validator
+ * @throws \Zend_Translate_Exception
+ */
+ public function createValidator($entityName, $groupName, array $builderConfig = null)
+ {
+ }
+ }
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ class DataObject implements \Laminas\Validator\ValidatorInterface
+ {
+ /**
+ * Add rule to be applied to a validation scope
+ *
+ * @param ValidatorInterface $validator
+ * @param string $fieldName Field name to apply validation to, or empty value to validate entity as a whole
+ * @return \Magento\Framework\Validator\DataObject
+ */
+ public function addRule(\Laminas\Validator\ValidatorInterface $validator, $fieldName = '')
+ {
+ }
+ /**
+ * Check whether the entity is valid according to defined validation rules
+ *
+ * @param \Magento\Framework\DataObject $entity
+ * @return bool
+ *
+ * @throws \Exception
+ */
+ public function isValid($entity)
+ {
+ }
+ /**
+ * Return error messages (if any) after the last validation
+ *
+ * @return array
+ */
+ public function getMessages()
+ {
+ }
+ }
+ /**
+ * Validator constraint delegates validation to wrapped validator.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Constraint extends \Magento\Framework\Validator\AbstractValidator
+ {
+ /**
+ * @var \Magento\Framework\Validator\ValidatorInterface
+ */
+ protected $_wrappedValidator;
+ /**
+ * @var string
+ */
+ protected $_alias;
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\Validator\ValidatorInterface $validator
+ * @param string $alias
+ */
+ public function __construct(\Magento\Framework\Validator\ValidatorInterface $validator, $alias = null)
+ {
+ }
+ /**
+ * Delegate validation to wrapped validator
+ *
+ * @param mixed $value
+ * @return boolean
+ */
+ public function isValid($value)
+ {
+ }
+ /**
+ * Get value that should be validated.
+ *
+ * @param mixed $value
+ * @return mixed
+ */
+ protected function _getValidatorValue($value)
+ {
+ }
+ /**
+ * Get constraint alias
+ *
+ * @return string
+ */
+ public function getAlias()
+ {
+ }
+ /**
+ * Set translator to wrapped validator.
+ *
+ * @param TranslatorInterface|null $translator
+ * @return AbstractValidator
+ */
+ public function setTranslator(?\Laminas\Validator\Translator\TranslatorInterface $translator = null)
+ {
+ }
+ /**
+ * Get translator instance of wrapped validator
+ *
+ * @return TranslatorInterface|null
+ */
+ public function getTranslator()
+ {
+ }
+ }
+ /**
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.ShortMethodName)
+ */
+ class ValidatorChain extends \Laminas\Validator\ValidatorChain
+ {
+ /**
+ * Method to validate a class have value.
+ *
+ * @param mixed $value
+ * @param string $classBaseName
+ * @param array $args
+ *
+ * @return boolean
+ * @throws ValidateException
+ */
+ public static function is($value, $classBaseName, array $args = [])
+ {
+ }
+ }
+ class Hostname extends \Laminas\Validator\Hostname implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $messageTemplates = [self::CANNOT_DECODE_PUNYCODE => "'%value%' appears to be a DNS hostname but the given punycode notation" . " cannot be decoded", self::INVALID => "Invalid type given. String expected", self::INVALID_DASH => "'%value%' appears to be a DNS hostname but contains a dash in an invalid position", self::INVALID_HOSTNAME => "'%value%' does not match the expected structure for a DNS hostname", self::INVALID_HOSTNAME_SCHEMA => "'%value%' appears to be a DNS hostname but cannot match against hostname" . " schema for TLD '%tld%'", self::INVALID_LOCAL_NAME => "'%value%' does not appear to be a valid local network name", self::INVALID_URI => "'%value%' does not appear to be a valid URI hostname", self::IP_ADDRESS_NOT_ALLOWED => "'%value%' appears to be an IP address, but IP addresses are not allowed", self::LOCAL_NAME_NOT_ALLOWED => "'%value%' appears to be a local network name but local network names are " . "not allowed", self::UNDECIPHERABLE_TLD => "'%value%' appears to be a DNS hostname but cannot extract TLD part", self::UNKNOWN_TLD => "'%value%' appears to be a DNS hostname but cannot match TLD against known list"];
+ }
+ /**
+ * Timezone validator model
+ *
+ * @api
+ */
+ class Timezone
+ {
+ /**
+ * @var Lists
+ */
+ protected $lists;
+ /**
+ * Constructor
+ *
+ * @param Lists $lists
+ */
+ public function __construct(\Magento\Framework\Setup\Lists $lists)
+ {
+ }
+ /**
+ * Validate timezone code
+ *
+ * @param string $timezoneCode
+ * @return bool
+ */
+ public function isValid($timezoneCode)
+ {
+ }
+ }
+ class EmailAddress extends \Laminas\Validator\EmailAddress implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $messageTemplates = [self::INVALID => "Invalid type given. String expected", self::INVALID_FORMAT => "'%value%' is not a valid email address in the basic format local-part@hostname", self::INVALID_HOSTNAME => "'%hostname%' is not a valid hostname for email address '%value%'", self::INVALID_MX_RECORD => "'%hostname%' does not appear to have a valid MX record for the email address " . " '%value%'", self::INVALID_SEGMENT => "'%hostname%' is not in a routable network segment. The email address '%value%' " . " should not be resolved from public network", self::DOT_ATOM => "'%localPart%' can not be matched against dot-atom format", self::QUOTED_STRING => "'%localPart%' can not be matched against quoted-string format", self::INVALID_LOCAL_PART => "'%localPart%' is not a valid local part for email address '%value%'", self::LENGTH_EXCEEDED => "'%value%' exceeds the allowed length"];
+ /**
+ * Instantiates hostname validator for local use.
+ * TLD validation is off by default.
+ *
+ * The following option keys are supported:
+ * 'hostname' => A hostname validator, see \Laminas\Validator\Hostname
+ * 'allow' => Options for the hostname validator, see \Laminas\Validator\Hostname::ALLOW_*
+ * 'mx' => If MX check should be enabled, boolean
+ * 'deep' => If a deep MX check should be done, boolean
+ *
+ * @inheritdoc
+ */
+ public function __construct($options = [])
+ {
+ }
+ /**
+ * Sets whether top-level domains should be validated
+ *
+ * @param bool $shouldValidate
+ * @return void
+ */
+ public function setValidateTld(bool $shouldValidate)
+ {
+ }
+ }
+ class Alnum extends \Laminas\I18n\Validator\Alnum implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $messageTemplates = [self::INVALID => "Invalid type given. String, integer or float expected", self::NOT_ALNUM => "'%value%' contains characters which are non alphabetic and no digits", self::STRING_EMPTY => "'%value%' is an empty string"];
+ }
+}
+namespace Magento\Framework\Validator\Constraint {
+ /**
+ * Interface \Magento\Framework\Validator\Constraint\OptionInterface
+ *
+ * @api
+ */
+ interface OptionInterface
+ {
+ /**
+ * Get option value
+ *
+ * @return mixed
+ */
+ public function getValue();
+ }
+ class Option implements \Magento\Framework\Validator\Constraint\OptionInterface
+ {
+ /**
+ * @var int|string|array
+ */
+ protected $_value;
+ /**
+ * Set value
+ *
+ * @param int|string|array $value
+ */
+ public function __construct($value)
+ {
+ }
+ /**
+ * Get value
+ *
+ * @return int|string|array
+ */
+ public function getValue()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator\Constraint\Option {
+ class Callback implements \Magento\Framework\Validator\Constraint\OptionInterface
+ {
+ /**
+ * @var callable
+ */
+ protected $_callable;
+ /**
+ * @var array
+ */
+ protected $_arguments;
+ /**
+ * @var bool
+ */
+ protected $_createInstance;
+ /**
+ * Create callback
+ *
+ * @param callable $callable
+ * @param mixed $arguments
+ * @param bool $createInstance If true than $callable[0] will be evaluated to new instance of class when get value
+ */
+ public function __construct($callable, $arguments = null, $createInstance = false)
+ {
+ }
+ /**
+ * Set callback arguments
+ *
+ * @param mixed $arguments
+ * @return void
+ */
+ public function setArguments($arguments = null)
+ {
+ }
+ /**
+ * Get callback value
+ *
+ * @return mixed
+ * @throws \InvalidArgumentException
+ */
+ public function getValue()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator\Constraint {
+ class Property extends \Magento\Framework\Validator\Constraint
+ {
+ /**
+ * Property name
+ *
+ * @var string
+ */
+ protected $_property;
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\Validator\ValidatorInterface $validator
+ * @param string $property
+ * @param string $alias
+ */
+ public function __construct(\Magento\Framework\Validator\ValidatorInterface $validator, $property, $alias = null)
+ {
+ }
+ /**
+ * Get value that should be validated. Tries to extract value's property if \Magento\Framework\DataObject or
+ * \ArrayAccess or array is passed
+ *
+ * @param mixed $value
+ * @return mixed
+ */
+ protected function _getValidatorValue($value)
+ {
+ }
+ /**
+ * Add messages with code of property name
+ *
+ * @param array $messages
+ * @return void
+ */
+ protected function _addMessages(array $messages)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator {
+ /**
+ * Class Url validates URL and checks that it has allowed scheme
+ */
+ class Url
+ {
+ /**
+ * Validate URL and check that it has allowed scheme
+ *
+ * @param string $value
+ * @param array $allowedSchemes
+ * @return bool
+ */
+ public function isValid($value, array $allowedSchemes = [])
+ {
+ }
+ }
+ class FloatUtils extends \Laminas\I18n\Validator\IsFloat implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ }
+}
+namespace Magento\Framework\Validator\Test\Unit {
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class FactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Restore default translator.
+ *
+ * @inheritdoc
+ */
+ protected function tearDown() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetValidatorConfig() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testCreateValidatorBuilder() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testCreateValidator() : void
+ {
+ }
+ }
+ /**
+ * Test case for \Magento\Framework\Validator\StringLength
+ */
+ class StringLengthTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var StringLength
+ */
+ protected $_validator;
+ protected function setUp() : void
+ {
+ }
+ public function testDefaultEncoding()
+ {
+ }
+ /**
+ * @dataProvider isValidDataProvider
+ * @param string $value
+ * @param int $maxLength
+ * @param bool $isValid
+ */
+ public function testIsValid($value, $maxLength, $isValid)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function isValidDataProvider()
+ {
+ }
+ }
+ class ConstraintTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Constraint
+ */
+ protected $_constraint;
+ /**
+ * @var ValidatorInterface|MockObject
+ */
+ protected $_validatorMock;
+ /**
+ * Set up
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test getAlias method
+ */
+ public function testGetAlias()
+ {
+ }
+ /**
+ * Test isValid method
+ *
+ * @dataProvider isValidDataProvider
+ *
+ * @param mixed $value
+ * @param bool $expectedResult
+ * @param array $expectedMessages
+ */
+ public function testIsValid($value, $expectedResult, $expectedMessages = [])
+ {
+ }
+ /**
+ * Data provider for testIsValid
+ *
+ * @return array
+ */
+ public function isValidDataProvider()
+ {
+ }
+ /**
+ * Check translator was set into wrapped validator
+ */
+ public function testSetTranslator()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator\Test\Unit\Constraint {
+ /**
+ * Test case for \Magento\Framework\Validator\Constraint\Property
+ */
+ class PropertyTest extends \PHPUnit\Framework\TestCase
+ {
+ const PROPERTY_NAME = 'test';
+ /**
+ * @var Property
+ */
+ protected $_constraint;
+ /**
+ * @var ValidatorInterface|MockObject
+ */
+ protected $_validatorMock;
+ /**
+ * Set up
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test getAlias method
+ */
+ public function testGetAlias()
+ {
+ }
+ /**
+ * Test isValid method
+ *
+ * @dataProvider isValidDataProvider
+ *
+ * @param mixed $value
+ * @param mixed $validateValue
+ * @param bool $expectedResult
+ * @param array $validatorMessages
+ * @param array $expectedMessages
+ */
+ public function testIsValid($value, $validateValue, $expectedResult, $validatorMessages = [], $expectedMessages = [])
+ {
+ }
+ /**
+ * Data provider for testIsValid
+ *
+ * @return array
+ */
+ public function isValidDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator\Test\Unit\Constraint\Option {
+ /**
+ * Test case for \Magento\Framework\Validator\Constraint\Option\Callback
+ */
+ class CallbackTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Value for test
+ */
+ const TEST_VALUE = 'test';
+ /**
+ * Test getValue method
+ *
+ * @dataProvider getConfigDataProvider
+ *
+ * @param callable $callback
+ * @param mixed $expectedResult
+ * @param null $arguments
+ * @param bool $createInstance
+ */
+ public function testGetValue($callback, $expectedResult, $arguments = null, $createInstance = false)
+ {
+ }
+ /**
+ * Data provider for testGetValue
+ */
+ public function getConfigDataProvider()
+ {
+ }
+ /**
+ * Get TEST_VALUE from static scope
+ */
+ public static function getTestValueStatically()
+ {
+ }
+ /**
+ * Get TEST_VALUE
+ */
+ public function getTestValue()
+ {
+ }
+ /**
+ * Test setArguments method
+ *
+ * @dataProvider setArgumentsDataProvider
+ *
+ * @param string|array $value
+ * @param string|array $expectedValue
+ */
+ public function testSetArguments($value, $expectedValue)
+ {
+ }
+ /**
+ * Data provider for testGetValue
+ */
+ public function setArgumentsDataProvider()
+ {
+ }
+ /**
+ * Test getValue method raises \InvalidArgumentException
+ *
+ * @dataProvider getValueExceptionDataProvider
+ *
+ * @param mixed $callback
+ * @param string $expectedMessage
+ * @param bool $createInstance
+ */
+ public function testGetValueException($callback, $expectedMessage, $createInstance = false)
+ {
+ }
+ /**
+ * Data provider for testGetValueException
+ *
+ * @return array
+ */
+ public function getValueExceptionDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator\Test\Unit\Constraint {
+ /**
+ * Test case for \Magento\Framework\Validator\Constraint\Option
+ */
+ class OptionTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Test getValue
+ */
+ public function testGetValue()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator\Test\Unit\Test {
+ /**
+ * Class with callback for testing callbacks
+ */
+ class Callback
+ {
+ const ID = 3;
+ /**
+ * @return int
+ */
+ public function getId()
+ {
+ }
+ /**
+ * Fake method for testing callbacks
+ */
+ public function configureValidator()
+ {
+ }
+ }
+ /**
+ * Alphanumerical test validator
+ */
+ class Alnum extends \Laminas\I18n\Validator\Alnum implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $messageTemplates = [self::INVALID => "Invalid type given. String, integer or float expected", self::NOT_ALNUM => "'%value%' contains characters which are non alphabetic and no digits", self::STRING_EMPTY => "'%value%' is an empty string"];
+ }
+ /**
+ * Not empty test validator
+ */
+ class NotEmpty extends \Laminas\Validator\NotEmpty implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ }
+ /**
+ * Test validator that always returns TRUE
+ */
+ class IsTrue extends \Magento\Framework\Validator\AbstractValidator
+ {
+ /**
+ * Validate value
+ *
+ * @param mixed $value
+ * @return bool
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function isValid($value)
+ {
+ }
+ }
+ /**
+ * String length test validator
+ */
+ class StringLength extends \Laminas\Validator\StringLength implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $messageTemplates = [self::INVALID => "Invalid type given. String expected", self::TOO_SHORT => "'%value%' is less than %min% characters long", self::TOO_LONG => "'%value%' is more than %max% characters long"];
+ }
+ /**
+ * Integer test validator
+ */
+ class IsInt extends \Laminas\I18n\Validator\IsInt implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $messageTemplates = [self::INVALID => "Invalid type given. String or integer expected", self::NOT_INT => "'%value%' does not appear to be an integer", self::NOT_INT_STRICT => 'The input is not strictly an integer'];
+ }
+}
+namespace Magento\Framework\Validator\Test\Unit {
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class ConfigTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Config
+ */
+ protected $_config;
+ /**
+ * @var ObjectManager
+ */
+ protected $_objectManager;
+ /** @var UrnResolver */
+ protected $urnResolver;
+ protected function setUp() : void
+ {
+ }
+ public function testConstructException()
+ {
+ }
+ /**
+ * Inits $_serviceConfig property with specific files or default valid configuration files
+ *
+ * @param array|null $files
+ */
+ protected function _initConfig(array $files = null)
+ {
+ }
+ public function testCreateValidatorInvalidEntityName()
+ {
+ }
+ public function testCreateValidatorInvalidGroupName()
+ {
+ }
+ public function testCreateValidatorInvalidConstraintClass()
+ {
+ }
+ public function testGetValidatorBuilderClassNotFound()
+ {
+ }
+ public function testGetValidatorBuilderInstanceInvalid()
+ {
+ }
+ /**
+ * Test for getValidatorBuilder
+ */
+ public function testGetValidatorBuilderInstance()
+ {
+ }
+ /**
+ * @dataProvider getValidationRulesDataProvider
+ *
+ * @param string $entityName
+ * @param string $groupName
+ * @param mixed $value
+ * @param bool $expectedResult
+ * @param array $expectedMessages
+ */
+ public function testCreateValidator($entityName, $groupName, $value, $expectedResult, $expectedMessages)
+ {
+ }
+ /**
+ * Data provider for testCreateConfigForInvalidXml
+ *
+ * @return array
+ */
+ public function getValidationRulesDataProvider()
+ {
+ }
+ /**
+ * Check builder configuration format
+ */
+ public function testBuilderConfiguration()
+ {
+ }
+ /**
+ * Check XSD schema validates invalid config files
+ *
+ * @dataProvider getInvalidXmlFiles
+ *
+ * @param array|string $configFile
+ */
+ public function testValidateInvalidConfigFiles($configFile)
+ {
+ }
+ /**
+ * Data provider for testValidateInvalidConfigFiles
+ *
+ * @return array
+ */
+ public function getInvalidXmlFiles()
+ {
+ }
+ /**
+ * Test schema file exists
+ */
+ public function testGetSchemaFile()
+ {
+ }
+ }
+ class CurrencyTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var array
+ */
+ protected $expectedCurrencies = ['USD' => 'US Dollar (USD)', 'EUR' => 'Euro (EUR)', 'UAH' => 'Ukrainian Hryvnia (UAH)', 'GBP' => 'British Pound (GBP)'];
+ public function testIsValid()
+ {
+ }
+ }
+ /**
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class BuilderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ObjectManager
+ */
+ protected $_objectManager;
+ /**
+ * @var \Magento\Framework\ObjectManager\ObjectManager
+ */
+ protected $_realObjectManager;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test createValidator method
+ *
+ * @dataProvider createValidatorDataProvider
+ *
+ * @param array $constraints
+ * @param ValidatorInterface $expectedValidator
+ */
+ public function testCreateValidator(array $constraints, $expectedValidator)
+ {
+ }
+ /**
+ * Data provider for
+ *
+ * @return array
+ */
+ public function createValidatorDataProvider()
+ {
+ }
+ /**
+ * Check addConfiguration logic
+ *
+ * @dataProvider configurationDataProvider
+ *
+ * @param array $constraints
+ * @param string $alias
+ * @param array $configuration
+ * @param array $expected
+ */
+ public function testAddConfiguration($constraints, $alias, $configuration, $expected)
+ {
+ }
+ /**
+ * Check addConfigurations logic
+ *
+ * @dataProvider configurationDataProvider
+ *
+ * @param array $constraints
+ * @param string $alias
+ * @param array $configuration
+ * @param array $expected
+ */
+ public function testAddConfigurations($constraints, $alias, $configuration, $expected)
+ {
+ }
+ /**
+ * Builder configurations data provider
+ *
+ * @return array
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ */
+ public function configurationDataProvider()
+ {
+ }
+ /**
+ * Get expected constraint configuration by actual and changes
+ *
+ * @param array $constraint
+ * @param string $optionKey
+ * @param mixed $optionValue
+ * @return array
+ */
+ protected function _getExpectedConstraints($constraint, $optionKey, $optionValue)
+ {
+ }
+ /**
+ * Check arguments validation passed into constructor
+ *
+ * @dataProvider invalidArgumentsDataProvider
+ *
+ * @param array $options
+ * @param string $exception
+ * @param string $exceptionMessage
+ */
+ public function testConstructorConfigValidation(array $options, $exception, $exceptionMessage)
+ {
+ }
+ /**
+ * Check arguments validation passed into configuration
+ *
+ * @dataProvider invalidArgumentsDataProvider
+ *
+ * @param array $options
+ * @param string $exception
+ * @param string $exceptionMessage
+ */
+ public function testAddConfigurationConfigValidation(array $options, $exception, $exceptionMessage)
+ {
+ }
+ /**
+ * Data provider for testing configuration validation
+ *
+ * @return array
+ */
+ public function invalidArgumentsDataProvider()
+ {
+ }
+ /**
+ * Check exception is thrown if validator is not an instance of \Magento\Framework\Validator\ValidatorInterface
+ */
+ public function testCreateValidatorInvalidInstance()
+ {
+ }
+ /**
+ * Test invalid configuration formats
+ *
+ * @dataProvider invalidConfigurationFormatDataProvider
+ *
+ *
+ * @param mixed $configuration
+ */
+ public function testAddConfigurationInvalidFormat($configuration)
+ {
+ }
+ /**
+ * Data provider for incorrect configurations
+ *
+ * @return array
+ */
+ public function invalidConfigurationFormatDataProvider()
+ {
+ }
+ }
+ class EmailAddressTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Test that the validator ignores TLD validation by default
+ */
+ public function testDefaultValidateIgnoresTLD()
+ {
+ }
+ /**
+ * Test that the TLD validation can be enabled
+ */
+ public function testCanValidateTLD()
+ {
+ }
+ }
+ class UrlTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param array $allowedSchemes
+ * @param string $url
+ * @param bool $expectedResult
+ * @dataProvider isValidDataProvider
+ */
+ public function testIsValid(array $allowedSchemes, $url, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function isValidDataProvider()
+ {
+ }
+ }
+ /**
+ * Test case for \Magento\Framework\Validator\Exception
+ */
+ class ExceptionTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Testing \Magento\Framework\Validator\Exception::getMessage
+ * @return void
+ */
+ public function testGetMessage()
+ {
+ }
+ }
+ class TimezoneTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var array
+ */
+ protected $expectedTimezones = ['Australia/Darwin' => 'Darwind description', 'America/Los_Angeles' => 'Los_Angeles description', 'Europe/Kiev' => 'Kiev description', 'Asia/Jerusalem' => 'Jerusalem description'];
+ public function testIsValid()
+ {
+ }
+ }
+ class ObjectTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var DataObject
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ protected function tearDown() : void
+ {
+ }
+ /**
+ * Entity validation routine to be used as a callback
+ *
+ * @param \Magento\Framework\DataObject $entity
+ * @return bool
+ */
+ public function isEntityValid(\Magento\Framework\DataObject $entity)
+ {
+ }
+ public function testAddRule()
+ {
+ }
+ public function testGetMessages()
+ {
+ }
+ /**
+ * @param array $inputEntityData
+ * @param array $expectedErrors
+ * @dataProvider validateDataProvider
+ */
+ public function testIsValid(array $inputEntityData, array $expectedErrors)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function validateDataProvider()
+ {
+ }
+ }
+ class LocaleTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var array
+ */
+ protected $expectedLocales = ['en_US' => 'English (United States)', 'en_GB' => 'English (United Kingdom)', 'uk_UA' => 'Ukrainian (Ukraine)', 'de_DE' => 'German (Germany)'];
+ public function testIsValid()
+ {
+ }
+ }
+ /**
+ * Test case for \Magento\Framework\Validator\AbstractValidator
+ */
+ class ValidatorAbstractTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var null|AdapterInterface
+ */
+ protected $_defaultTranslator = null;
+ protected function setUp() : void
+ {
+ }
+ protected function tearDown() : void
+ {
+ }
+ /**
+ * Get translator object
+ *
+ * @return MockObject|AbstractAdapter
+ */
+ protected function _getTranslator()
+ {
+ }
+ /**
+ * Test default translator get/set
+ */
+ public function testDefaultTranslatorGetSet()
+ {
+ }
+ /**
+ * Test get/set/has translator
+ */
+ public function testTranslatorGetSetHas()
+ {
+ }
+ /**
+ * Check that default translator returned if set and no translator set
+ */
+ public function testGetTranslatorDefault()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator\Test\Unit\Entity {
+ /**
+ * Test for \Magento\Framework\Validator\Entity\Properties
+ */
+ class PropertiesTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var DataObject
+ */
+ protected $_object;
+ protected function setUp() : void
+ {
+ }
+ protected function tearDown() : void
+ {
+ }
+ /**
+ * Testing \Magento\Framework\Validator\Entity\Properties::isValid on invalid argument passed
+ */
+ public function testIsValidException()
+ {
+ }
+ /**
+ * Testing \Magento\Framework\Validator\Entity\Properties::isValid with hasDataChanges and invoked setter
+ */
+ public function testIsValidSuccessWithInvokedSetter()
+ {
+ }
+ /**
+ * Testing \Magento\Framework\Validator\Entity\Properties::isValid without invoked setter
+ */
+ public function testIsValidSuccessWithoutInvokedSetter()
+ {
+ }
+ /**
+ * Testing \Magento\Framework\Validator\Entity\Properties::isValid with unchanged data
+ */
+ public function testIsValidSuccessWithoutHasDataChanges()
+ {
+ }
+ /**
+ * Testing \Magento\Framework\Validator\Entity\Properties::isValid with changed data and invoked setter
+ */
+ public function testIsValidFailed()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator {
+ class Ip extends \Laminas\Validator\Ip implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $messageTemplates = [self::INVALID => "Invalid type given. String expected", self::NOT_IP_ADDRESS => "'%value%' does not appear to be a valid IP address"];
+ }
+ class NotEmpty extends \Laminas\Validator\NotEmpty implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ }
+ /**
+ * Locale validator model
+ *
+ * @api
+ */
+ class Locale
+ {
+ /**
+ * @var Lists
+ */
+ protected $lists;
+ /**
+ * Constructor
+ *
+ * @param Lists $lists
+ */
+ public function __construct(\Magento\Framework\Setup\Lists $lists)
+ {
+ }
+ /**
+ * Validate locale code. Code must be in the list of allowed locales.
+ *
+ * @param string $localeCode
+ * @return bool
+ */
+ public function isValid($localeCode)
+ {
+ }
+ }
+ class StringLength extends \Laminas\Validator\StringLength implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $messageTemplates = [self::INVALID => "Invalid type given. String expected", self::TOO_SHORT => "'%value%' is less than %min% characters long", self::TOO_LONG => "'%value%' is more than %max% characters long"];
+ /**
+ * @var string
+ */
+ protected $_encoding = 'UTF-8';
+ /**
+ * @inheritdoc
+ */
+ public function setEncoding($encoding = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Exception {
+ /**
+ * AggregateExceptionInterface Extension Point introduced to support Multiple Errors returned as a result of Validation
+ * not mandating to inherit from AbstractAggregateException class
+ *
+ * @api
+ * @since 101.0.7
+ */
+ interface AggregateExceptionInterface
+ {
+ /**
+ * Returns LocalizedException[] array to be compatible with current Implementation in Web API which relies on
+ * this behavior
+ *
+ * @see the \Magento\Framework\Webapi\Exception which receives $errors as a set of Localized Exceptions
+ *
+ * @return LocalizedException[]
+ * @since 101.0.7
+ */
+ public function getErrors();
+ }
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ abstract class AbstractAggregateException extends \Magento\Framework\Exception\LocalizedException implements \Magento\Framework\Exception\AggregateExceptionInterface
+ {
+ /**
+ * The array of errors that have been added via the addError() method
+ *
+ * @var \Magento\Framework\Exception\LocalizedException[]
+ */
+ protected $errors = [];
+ /**
+ * The original phrase
+ *
+ * @var \Magento\Framework\Phrase
+ */
+ protected $originalPhrase;
+ /**
+ * Initialize the exception
+ *
+ * @param \Magento\Framework\Phrase $phrase
+ * @param \Exception $cause
+ * @param int $code
+ */
+ public function __construct(\Magento\Framework\Phrase $phrase, \Exception $cause = null, $code = 0)
+ {
+ }
+ /**
+ * Add new error into the list of exceptions
+ *
+ * @param \Magento\Framework\Phrase $phrase
+ * @return $this
+ */
+ public function addError(\Magento\Framework\Phrase $phrase)
+ {
+ }
+ /**
+ * @param LocalizedException $exception
+ * @return $this
+ * @since 101.0.6
+ */
+ public function addException(\Magento\Framework\Exception\LocalizedException $exception)
+ {
+ }
+ /**
+ * Should return true if someone has added different errors to this exception after construction
+ *
+ * @return bool
+ */
+ public function wasErrorAdded()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getErrors()
+ {
+ }
+ }
+ /**
+ * Exception to be thrown when there is an issue with the Input to a function call.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class InputException extends \Magento\Framework\Exception\AbstractAggregateException
+ {
+ /**
+ * @deprecated
+ */
+ const DEFAULT_MESSAGE = 'One or more input exceptions have occurred.';
+ /**
+ * @deprecated
+ */
+ const INVALID_FIELD_RANGE = 'The %fieldName value of "%value" must be between %minValue and %maxValue';
+ /**
+ * @deprecated
+ */
+ const INVALID_FIELD_MIN_VALUE = 'The %fieldName value of "%value" must be greater than or equal to %minValue.';
+ /**
+ * @deprecated
+ */
+ const INVALID_FIELD_MAX_VALUE = 'The %fieldName value of "%value" must be less than or equal to %maxValue.';
+ /**
+ * @deprecated
+ */
+ const INVALID_FIELD_VALUE = 'Invalid value of "%value" provided for the %fieldName field.';
+ /**
+ * @deprecated
+ */
+ const REQUIRED_FIELD = '"%fieldName" is required. Enter and try again.';
+ /**
+ * Initialize the input exception.
+ *
+ * @param \Magento\Framework\Phrase $phrase
+ * @param \Exception $cause
+ * @param int $code
+ */
+ public function __construct(\Magento\Framework\Phrase $phrase = null, \Exception $cause = null, $code = 0)
+ {
+ }
+ /**
+ * Creates an InputException for when a specific field was provided with an invalid value.
+ *
+ * @param string $fieldName Name of the field which had an invalid value provided.
+ * @param string $fieldValue The invalid value that was provided for the field.
+ * @param \Exception $cause Cause of the InputException
+ * @return \Magento\Framework\Exception\InputException
+ */
+ public static function invalidFieldValue($fieldName, $fieldValue, \Exception $cause = null)
+ {
+ }
+ /**
+ * Creates an InputException for a missing required field.
+ *
+ * @param string $fieldName Name of the missing required field.
+ * @return \Magento\Framework\Exception\InputException
+ */
+ public static function requiredField($fieldName)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator {
+ /**
+ * Exception to be thrown when data validation fails
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Exception extends \Magento\Framework\Exception\InputException
+ {
+ /**
+ * @var array
+ */
+ protected $messages = [];
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\Phrase $phrase
+ * @param \Exception $cause
+ * @param array $messages Validation error messages
+ * @param int $code
+ */
+ public function __construct(\Magento\Framework\Phrase $phrase = null, \Exception $cause = null, array $messages = [], $code = 0)
+ {
+ }
+ /**
+ * Setter for message
+ *
+ * @param \Magento\Framework\Message\AbstractMessage $message
+ * @return $this
+ */
+ public function addMessage(\Magento\Framework\Message\AbstractMessage $message)
+ {
+ }
+ /**
+ * Getter for messages by type or all
+ *
+ * @param string $type
+ * @return array
+ */
+ public function getMessages($type = '')
+ {
+ }
+ }
+ class Builder
+ {
+ /**
+ * @var array
+ */
+ protected $_constraints;
+ /**
+ * @var \Magento\Framework\Validator\ConstraintFactory
+ */
+ protected $_constraintFactory;
+ /**
+ * @var \Magento\Framework\ValidatorFactory
+ */
+ protected $_validatorFactory;
+ /**
+ * @var \Magento\Framework\Validator\UniversalFactory
+ */
+ protected $_oneValidatorFactory;
+ /**
+ * @param \Magento\Framework\Validator\ConstraintFactory $constraintFactory
+ * @param \Magento\Framework\ValidatorFactory $validatorFactory
+ * @param \Magento\Framework\Validator\UniversalFactory $oneValidatorFactory
+ * @param array $constraints
+ */
+ public function __construct(\Magento\Framework\Validator\ConstraintFactory $constraintFactory, \Magento\Framework\ValidatorFactory $validatorFactory, \Magento\Framework\Validator\UniversalFactory $oneValidatorFactory, array $constraints)
+ {
+ }
+ /**
+ * Check configuration arguments
+ *
+ * @param array $configuration
+ * @param bool $argumentsIsArray
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ protected function _checkConfigurationArguments(array $configuration, $argumentsIsArray)
+ {
+ }
+ /**
+ * Check configuration method arguments
+ *
+ * @param array $configuration
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ protected function _checkMethodArguments(array $configuration)
+ {
+ }
+ /**
+ * Check configuration callbacks
+ *
+ * @param array $configuration
+ * @param bool $callbackIsArray
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ protected function _checkConfigurationCallback(array $configuration, $callbackIsArray)
+ {
+ }
+ /**
+ * Create validator instance and configure it
+ *
+ * @return \Magento\Framework\Validator
+ */
+ public function createValidator()
+ {
+ }
+ /**
+ * Get validator instance
+ *
+ * @return \Magento\Framework\Validator
+ */
+ protected function _createValidatorInstance()
+ {
+ }
+ /**
+ * Add constraint configuration
+ *
+ * @param string $alias
+ * @param array $configuration
+ * @return $this
+ * @throws \InvalidArgumentException
+ */
+ public function addConfiguration($alias, array $configuration)
+ {
+ }
+ /**
+ * Add callback to constraint configuration
+ *
+ * @param array $constraint
+ * @param \Magento\Framework\Validator\Constraint\Option\Callback $callback
+ * @return array
+ */
+ protected function _addConstraintCallback(array $constraint, \Magento\Framework\Validator\Constraint\Option\Callback $callback)
+ {
+ }
+ /**
+ * Add method to constraint configuration
+ *
+ * @param array $constraint
+ * @param array $configuration
+ * @return array
+ */
+ protected function _addConstraintMethod(array $constraint, array $configuration)
+ {
+ }
+ /**
+ * Add constraints configuration
+ *
+ * @param array $configurations
+ * @return $this
+ */
+ public function addConfigurations(array $configurations)
+ {
+ }
+ /**
+ * Create constraint from data
+ *
+ * @param array $data
+ * @return \Magento\Framework\Validator\Constraint
+ */
+ protected function _createConstraint(array $data)
+ {
+ }
+ /**
+ * Create constraint validator instance
+ *
+ * @param array $data
+ * @return \Magento\Framework\Validator\ValidatorInterface
+ * @throws \InvalidArgumentException
+ */
+ protected function _createConstraintValidator(array $data)
+ {
+ }
+ /**
+ * Configure validator
+ *
+ * @param \Magento\Framework\Validator\ValidatorInterface $validator
+ * @param array $options
+ * @return void
+ */
+ protected function _configureConstraintValidator(\Magento\Framework\Validator\ValidatorInterface $validator, array $options)
+ {
+ }
+ /**
+ * Apply all argument callback
+ *
+ * @param OptionInterface[] $arguments
+ * @return OptionInterface[]
+ */
+ protected function _applyArgumentsCallback(array $arguments)
+ {
+ }
+ }
+ /**
+ * Protocol validator
+ */
+ class AllowedProtocols extends \Magento\Framework\Validator\AbstractValidator
+ {
+ /**
+ * Constructor.
+ *
+ * @param array $listOfProtocols
+ */
+ public function __construct($listOfProtocols = [])
+ {
+ }
+ /**
+ * Validate URI
+ *
+ * @param string $value
+ * @return bool
+ */
+ public function isValid($value)
+ {
+ }
+ }
+ class ValidateException extends \Exception
+ {
+ }
+ class IntUtils extends \Laminas\I18n\Validator\IsInt implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $messageTemplates = [self::INVALID => "Invalid type given. String or integer expected", self::NOT_INT => "'%value%' does not appear to be an integer"];
+ }
+ class Regex extends \Laminas\Validator\Regex implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ }
+ class UniversalFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * @param string $className
+ * @param array $arguments
+ * @return \Magento\Framework\Validator\Builder
+ */
+ public function create($className, array $arguments = [])
+ {
+ }
+ }
+ /**
+ * Currency validator model
+ *
+ * @api
+ */
+ class Currency
+ {
+ /**
+ * @var Lists
+ */
+ protected $lists;
+ /**
+ * Constructor
+ *
+ * @param Lists $lists
+ */
+ public function __construct(\Magento\Framework\Setup\Lists $lists)
+ {
+ }
+ /**
+ * Validate currency code
+ *
+ * @param string $currencyCode
+ * @return bool
+ */
+ public function isValid($currencyCode)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator\Entity {
+ /**
+ * Validates properties of entity (\Magento\Framework\DataObject).
+ *
+ * @api
+ */
+ class Properties extends \Magento\Framework\Validator\AbstractValidator
+ {
+ /**
+ * @var string[]
+ */
+ protected $_readOnlyProperties = [];
+ /**
+ * Set read-only properties.
+ *
+ * @param string[] $readOnlyProperties
+ * @return void
+ */
+ public function setReadOnlyProperties(array $readOnlyProperties)
+ {
+ }
+ /**
+ * Successful if $value is \Magento\Framework\Model\AbstractModel an all condition are fulfilled.
+ *
+ * If read-only properties are set than $value mustn't have changes in them.
+ *
+ * @param AbstractModel $value
+ * @return bool
+ * @throws \InvalidArgumentException when $value is not instanceof \Magento\Framework\DataObject
+ */
+ public function isValid($value)
+ {
+ }
+ /**
+ * Compare two values as numbers and as other types
+ *
+ * @param mixed $firstValue
+ * @param mixed $secondValue
+ * @return bool
+ */
+ protected function _hasChanges($firstValue, $secondValue)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator\HTML {
+ /**
+ * Validates user HTML.
+ *
+ * @api
+ */
+ interface WYSIWYGValidatorInterface
+ {
+ /**
+ * Validate user HTML content.
+ *
+ * @param string $content
+ * @throws ValidationException
+ */
+ public function validate(string $content) : void;
+ }
+ /**
+ * Validates user HTML based on configuration.
+ */
+ class ConfigurableWYSIWYGValidator implements \Magento\Framework\Validator\HTML\WYSIWYGValidatorInterface
+ {
+ /**
+ * @param string[] $allowedTags
+ * @param string[] $allowedAttributes
+ * @param string[][] $attributesAllowedByTags
+ * @param AttributeValidatorInterface[][] $attributeValidators
+ * @param TagValidatorInterface[][] $tagValidators
+ */
+ public function __construct(array $allowedTags, array $allowedAttributes = [], array $attributesAllowedByTags = [], array $attributeValidators = [], array $tagValidators = [])
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function validate(string $content) : void
+ {
+ }
+ }
+ /**
+ * Validates HTML attributes content.
+ *
+ * @api
+ */
+ interface AttributeValidatorInterface
+ {
+ /**
+ * Validate attribute.
+ *
+ * @param string $tag
+ * @param string $attributeName
+ * @param string $value
+ * @return void
+ * @throws ValidationException
+ */
+ public function validate(string $tag, string $attributeName, string $value) : void;
+ }
+ /**
+ * Validates "style" attribute.
+ */
+ class StyleAttributeValidator implements \Magento\Framework\Validator\HTML\AttributeValidatorInterface
+ {
+ /**
+ * @inheritDoc
+ */
+ public function validate(string $tag, string $attributeName, string $value) : void
+ {
+ }
+ }
+ /**
+ * Validates tag for user HTML content.
+ *
+ * @api
+ */
+ interface TagValidatorInterface
+ {
+ /**
+ * Validate a tag.
+ *
+ * @param string $tag
+ * @param string[] $attributes
+ * @param string $value
+ * @param WYSIWYGValidatorInterface $recursiveValidator
+ * @return void
+ * @throws ValidationException
+ */
+ public function validate(string $tag, array $attributes, string $value, \Magento\Framework\Validator\HTML\WYSIWYGValidatorInterface $recursiveValidator) : void;
+ }
+}
+namespace Magento\Framework\Config {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ abstract class AbstractXml
+ {
+ /**
+ * Data extracted from the merged configuration files
+ *
+ * @var array
+ */
+ protected $_data;
+ /**
+ * Dom configuration model
+ * @var \Magento\Framework\Config\Dom
+ */
+ protected $_domConfig = null;
+ /**
+ * @var \Magento\Framework\Config\DomFactory
+ */
+ protected $domFactory;
+ /**
+ * Instantiate with the list of files to merge
+ *
+ * @param array $configFiles
+ * @param \Magento\Framework\Config\DomFactory $domFactory
+ * @throws \InvalidArgumentException
+ */
+ public function __construct($configFiles, \Magento\Framework\Config\DomFactory $domFactory)
+ {
+ }
+ /**
+ * Get absolute path to the XML-schema file
+ *
+ * @return string
+ */
+ public abstract function getSchemaFile();
+ /**
+ * Get absolute path to per-file XML-schema file
+ *
+ * @return string
+ */
+ public function getPerFileSchemaFile()
+ {
+ }
+ /**
+ * Extract configuration data from the DOM structure
+ *
+ * @param \DOMDocument $dom
+ * @return array
+ */
+ protected abstract function _extractData(\DOMDocument $dom);
+ /**
+ * Merge the config XML-files
+ *
+ * @param array $configFiles
+ * @return \DOMDocument
+ * @throws \Magento\Framework\Exception\LocalizedException If a non-existing or invalid XML-file passed
+ */
+ protected function _merge($configFiles)
+ {
+ }
+ /**
+ * Perform xml validation
+ *
+ * @param string $file
+ * @return $this
+ * @throws \Magento\Framework\Exception\LocalizedException If invalid XML-file passed
+ */
+ protected function _performValidate($file = null)
+ {
+ }
+ /**
+ * Get Dom configuration model
+ *
+ * @return \Magento\Framework\Config\Dom
+ * @throws \Magento\Framework\Config\Dom\ValidationException
+ */
+ protected function _getDomConfigModel()
+ {
+ }
+ /**
+ * Get XML-contents, initial for merging
+ *
+ * @return string
+ */
+ protected abstract function _getInitialXml();
+ /**
+ * Get list of paths to identifiable nodes
+ *
+ * @return array
+ */
+ protected abstract function _getIdAttributes();
+ }
+}
+namespace Magento\Framework\Validator {
+ class Config extends \Magento\Framework\Config\AbstractXml
+ {
+ /**#@+
+ * Constraints types
+ */
+ const CONSTRAINT_TYPE_ENTITY = 'entity';
+ const CONSTRAINT_TYPE_PROPERTY = 'property';
+ /**#@-*/
+ /**#@-*/
+ protected $_defaultBuilderClass = \Magento\Framework\Validator\Builder::class;
+ /**
+ * @var \Magento\Framework\Validator\UniversalFactory
+ */
+ protected $_builderFactory;
+ /**
+ * @param array $configFiles
+ * @param \Magento\Framework\Config\DomFactory $domFactory
+ * @param \Magento\Framework\Validator\UniversalFactory $builderFactory
+ */
+ public function __construct($configFiles, \Magento\Framework\Config\DomFactory $domFactory, \Magento\Framework\Validator\UniversalFactory $builderFactory)
+ {
+ }
+ /**
+ * Create validator builder instance based on entity and group.
+ *
+ * @param string $entityName
+ * @param string $groupName
+ * @param array|null $builderConfig
+ * @throws \InvalidArgumentException
+ * @return \Magento\Framework\Validator\Builder
+ */
+ public function createValidatorBuilder($entityName, $groupName, array $builderConfig = null)
+ {
+ }
+ /**
+ * Create validator based on entity and group.
+ *
+ * @param string $entityName
+ * @param string $groupName
+ * @param array|null $builderConfig
+ * @return \Magento\Framework\Validator
+ */
+ public function createValidator($entityName, $groupName, array $builderConfig = null)
+ {
+ }
+ /**
+ * Extract configuration data from the DOM structure
+ *
+ * @param \DOMDocument $dom
+ * @return array
+ */
+ protected function _extractData(\DOMDocument $dom)
+ {
+ }
+ /**
+ * Extract constraints associated with entity group using rules
+ *
+ * @param \DOMElement $entity
+ * @return array
+ */
+ protected function _extractEntityGroupsConstraintsData(\DOMElement $entity)
+ {
+ }
+ /**
+ * Extract constraints associated with rules
+ *
+ * @param \DOMElement $entity
+ * @return array
+ */
+ protected function _extractRulesConstraintsData(\DOMElement $entity)
+ {
+ }
+ /**
+ * Extract constraint options.
+ *
+ * @param \DOMElement $constraint
+ * @return array|null
+ */
+ protected function _extractConstraintOptions(\DOMElement $constraint)
+ {
+ }
+ /**
+ * Get element children.
+ *
+ * @param \DOMElement $element
+ * @return array
+ */
+ protected function _collectChildren($element)
+ {
+ }
+ /**
+ * Get arguments.
+ *
+ * @param array $children
+ * @return OptionInterface[]|null
+ */
+ protected function _readArguments($children)
+ {
+ }
+ /**
+ * Get callback rules.
+ *
+ * @param array $children
+ * @return Callback[]|null
+ */
+ protected function _readCallback($children)
+ {
+ }
+ /**
+ * Get options array.
+ *
+ * @param array $children
+ * @return Option|null
+ */
+ protected function _readOptions($children)
+ {
+ }
+ /**
+ * Get methods configuration.
+ *
+ * Example of method configuration:
+ *
+ *
+ *
+ * 123
+ * 234
+ *
+ * 0
+ *
+ *
+ *
+ *
+ *
+ *
+ * @param array $children
+ * @return array|null
+ */
+ protected function _readMethods($children)
+ {
+ }
+ /**
+ * Get absolute path to validation.xsd
+ *
+ * @return string
+ */
+ public function getSchemaFile()
+ {
+ }
+ /**
+ * Get initial XML of a valid document.
+ *
+ * @return string
+ */
+ protected function _getInitialXml()
+ {
+ }
+ /**
+ * Define id attributes for entities
+ *
+ * @return array
+ */
+ protected function _getIdAttributes()
+ {
+ }
+ }
+ /**
+ * Class UrlKey performs validation for reserved endpoint names
+ */
+ class UrlKey
+ {
+ /**
+ * @param array $restrictedValues
+ */
+ public function __construct(array $restrictedValues)
+ {
+ }
+ /**
+ * Validates that urlkey not belongs to reserved endpoints
+ *
+ * @param string|null $urlKey
+ * @return bool
+ */
+ public function isValid(?string $urlKey) : bool
+ {
+ }
+ /**
+ * Returns array of reserved endpoints
+ *
+ * @return array
+ */
+ public function getRestrictedValues() : array
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validator\File {
+ class Extension extends \Laminas\Validator\File\Extension implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ }
+ class ImageSize extends \Laminas\Validator\File\ImageSize implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ }
+ class IsImage extends \Laminas\Validator\File\IsImage implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ }
+ class Size extends \Laminas\Validator\File\FilesSize implements \Magento\Framework\Validator\ValidatorInterface
+ {
+ }
+}
+namespace Magento\Framework\Crontab {
+ /**
+ * Interface \Magento\Framework\Crontab\TasksProviderInterface
+ *
+ * @api
+ */
+ interface TasksProviderInterface
+ {
+ /**
+ * Get list of tasks
+ *
+ * @return array
+ */
+ public function getTasks();
+ }
+ /**
+ * Interface \Magento\Framework\Crontab\CrontabManagerInterface
+ *
+ * @api
+ */
+ interface CrontabManagerInterface
+ {
+ /**#@+
+ * Constants for wrapping Magento section in crontab
+ */
+ const TASKS_BLOCK_START = '#~ MAGENTO START';
+ const TASKS_BLOCK_END = '#~ MAGENTO END';
+ /**#@-*/
+ /**
+ * Get list of Magento Tasks
+ *
+ * @return array
+ * @throws LocalizedException
+ */
+ public function getTasks();
+ /**
+ * Save Magento Tasks to crontab
+ *
+ * @param array $tasks
+ * @return void
+ * @throws LocalizedException
+ */
+ public function saveTasks(array $tasks);
+ /**
+ * Remove Magento Tasks form crontab
+ *
+ * @return void
+ * @throws LocalizedException
+ */
+ public function removeTasks();
+ }
+ /**
+ * Manager works with cron tasks
+ */
+ class CrontabManager implements \Magento\Framework\Crontab\CrontabManagerInterface
+ {
+ /**
+ * @param ShellInterface $shell
+ * @param Filesystem $filesystem
+ */
+ public function __construct(\Magento\Framework\ShellInterface $shell, \Magento\Framework\Filesystem $filesystem)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getTasks()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function saveTasks(array $tasks)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function removeTasks()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Crontab\Test\Unit {
+ /**
+ * Tests crontab manager functionality.
+ */
+ class CrontabManagerTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Verify get tasks without cronetab.
+ *
+ * @return void
+ */
+ public function testGetTasksNoCrontab() : void
+ {
+ }
+ /**
+ * Verify get tasks.
+ *
+ * @param string $content
+ * @param array $tasks
+ *
+ * @return void
+ * @dataProvider getTasksDataProvider
+ */
+ public function testGetTasks($content, $tasks) : void
+ {
+ }
+ /**
+ * Data provider to get tasks.
+ *
+ * @return array
+ */
+ public function getTasksDataProvider() : array
+ {
+ }
+ /**
+ * Verify remove tasks with exception.
+ *
+ * @return void
+ */
+ public function testRemoveTasksWithException() : void
+ {
+ }
+ /**
+ * Verify remove tasks.
+ *
+ * @param string $contentBefore
+ * @param string $contentAfter
+ *
+ * @return void
+ * @dataProvider removeTasksDataProvider
+ */
+ public function testRemoveTasks($contentBefore, $contentAfter) : void
+ {
+ }
+ /**
+ * Data provider to remove tasks.
+ *
+ * @return array
+ */
+ public function removeTasksDataProvider() : array
+ {
+ }
+ /**
+ * Verify save tasks with empty tasks list.
+ *
+ * @return void
+ */
+ public function testSaveTasksWithEmptyTasksList() : void
+ {
+ }
+ /**
+ * Verify save tasks with out command.
+ *
+ * @return void
+ */
+ public function testSaveTasksWithoutCommand() : void
+ {
+ }
+ /**
+ * Verify sava task.
+ *
+ * @param array $tasks
+ * @param string $content
+ * @param string $contentToSave
+ *
+ * @return void
+ * @dataProvider saveTasksDataProvider
+ */
+ public function testSaveTasks($tasks, $content, $contentToSave) : void
+ {
+ }
+ /**
+ * Data provider to save tasks.
+ *
+ * @return array
+ */
+ public function saveTasksDataProvider() : array
+ {
+ }
+ }
+ class TasksProviderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @return void
+ */
+ public function testTasksProviderEmpty()
+ {
+ }
+ public function testTasksProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Crontab {
+ /**
+ * TasksProvider collects list of tasks
+ */
+ class TasksProvider implements \Magento\Framework\Crontab\TasksProviderInterface
+ {
+ /**
+ * @param array $tasks
+ */
+ public function __construct(array $tasks = [])
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getTasks()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Image {
+ /**
+ * Factory for object to manipulate images
+ */
+ class Factory
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @var AdapterFactory
+ */
+ protected $adapterFactory;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ * @param AdapterFactory $adapterFactory
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Image\AdapterFactory $adapterFactory)
+ {
+ }
+ /**
+ * Create instance of \Magento\Framework\Image
+ *
+ * @param string|null $fileName
+ * @param string|null $adapterName
+ * @return \Magento\Framework\Image
+ */
+ public function create($fileName = null, $adapterName = null)
+ {
+ }
+ }
+ /**
+ * Factory for Adapters that Image Library is using to process images
+ *
+ * @api
+ */
+ class AdapterFactory
+ {
+ /**
+ * @var Adapter\ConfigInterface
+ */
+ protected $config;
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @var array
+ */
+ protected $adapterMap;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param Adapter\ConfigInterface $config
+ * @param array $adapterMap
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Image\Adapter\ConfigInterface $config, array $adapterMap = [])
+ {
+ }
+ /**
+ * Return specified image adapter
+ *
+ * @param string $adapterAlias
+ * @return \Magento\Framework\Image\Adapter\AdapterInterface
+ * @throws \InvalidArgumentException
+ */
+ public function create($adapterAlias = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Image\Test\Unit {
+ class AdapterFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ConfigInterface|MockObject
+ */
+ protected $configMock;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @dataProvider createDataProvider
+ * @param string $alias
+ * @param string $class
+ */
+ public function testCreate($alias, $class)
+ {
+ }
+ /**
+ * @see self::testCreate()
+ * @return array
+ */
+ public function createDataProvider()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Image\AdapterFactory::create
+ */
+ public function testCreateWithoutName()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Image\AdapterFactory::create
+ */
+ public function testInvalidArgumentException()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Image\AdapterFactory::create
+ */
+ public function testNonAdapterClass()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Image\AdapterFactory::create
+ */
+ public function testWrongInstance()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Image\Test\Unit\Adapter {
+ /**
+ * \Magento\Framework\Image\Adapter\Gd2 class test
+ */
+ class Gd2Test extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Value to mock ini_get('memory_limit')
+ *
+ * @var string
+ */
+ public static $memoryLimit;
+ /**
+ * @var array simulation of getimagesize()
+ */
+ public static $imageData = [];
+ /**
+ * Simulation of filesize() function
+ *
+ * @var int
+ */
+ public static $imageSize = 1;
+ /**
+ * Adapter for testing
+ * @var Gd2
+ */
+ protected $adapter;
+ /**
+ * @var ObjectManager
+ */
+ protected $objectManager;
+ /**
+ * Setup testing object
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test parent class
+ */
+ public function testParentClass()
+ {
+ }
+ /**
+ * Test open() method
+ *
+ * @param array $fileData
+ * @param string|bool|null $exception
+ * @param string $limit
+ * @dataProvider filesProvider
+ */
+ public function testOpen($fileData, $exception, $limit)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function filesProvider()
+ {
+ }
+ /**
+ * Test if open() method resets cached fileType
+ */
+ public function testOpenDifferentTypes()
+ {
+ }
+ /**
+ * Test open() with invalid URL.
+ */
+ public function testOpenInvalidURL()
+ {
+ }
+ }
+ class AbstractTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var AbstractAdapter
+ */
+ protected $_model;
+ /**
+ * @var MockObject|Write
+ */
+ protected $directoryWriteMock;
+ /**
+ * @var MockObject|Filesystem
+ */
+ protected $filesystemMock;
+ /**
+ * @var MockObject|LoggerInterface
+ */
+ protected $loggerMock;
+ protected function setUp() : void
+ {
+ }
+ protected function tearDown() : void
+ {
+ }
+ /**
+ * Test adaptResizeValues with null as a value one of parameters
+ *
+ * @dataProvider adaptResizeValuesDataProvider
+ */
+ public function testAdaptResizeValues($width, $height, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function adaptResizeValuesDataProvider()
+ {
+ }
+ /**
+ * @dataProvider prepareDestinationDataProvider
+ */
+ public function testPrepareDestination($destination, $newName, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function prepareDestinationDataProvider()
+ {
+ }
+ }
+ class ImageMagickTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject|Filesystem
+ */
+ protected $filesystemMock;
+ /**
+ * @var MockObject|LoggerInterface
+ */
+ protected $loggerMock;
+ /**
+ * @var MockObject|WriteInterface
+ */
+ protected $writeMock;
+ /**
+ * @var ImageMagick
+ */
+ protected $imageMagic;
+ protected function setup() : void
+ {
+ }
+ /**
+ * @param string $imagePath
+ * @param string $expectedMessage
+ * @dataProvider watermarkDataProvider
+ */
+ public function testWatermark($imagePath, $expectedMessage)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function watermarkDataProvider() : array
+ {
+ }
+ public function testSaveWithException()
+ {
+ }
+ /**
+ * Test open() with invalid URL.
+ */
+ public function testOpenInvalidUrl()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Image\Adapter {
+ /**
+ * Interface \Magento\Framework\Image\Adapter\AdapterInterface
+ *
+ * @api
+ */
+ interface AdapterInterface
+ {
+ /**
+ * Adapter type
+ */
+ const ADAPTER_GD2 = 'GD2';
+ const ADAPTER_IM = 'IMAGEMAGICK';
+ /**
+ * Returns rgba array of the specified pixel
+ *
+ * @param int $x
+ * @param int $y
+ * @return array
+ */
+ public function getColorAt($x, $y);
+ /**
+ * Render image and return its binary contents
+ *
+ * @see \Magento\Framework\Image\Adapter\AbstractAdapter::getImage
+ * @return string
+ */
+ public function getImage();
+ /**
+ * Add watermark to image
+ *
+ * @param string $imagePath
+ * @param int $positionX
+ * @param int $positionY
+ * @param int $opacity
+ * @param bool $tile
+ * @return void
+ */
+ public function watermark($imagePath, $positionX = 0, $positionY = 0, $opacity = 30, $tile = false);
+ /**
+ * Reassign image dimensions
+ *
+ * @return void
+ */
+ public function refreshImageDimensions();
+ /**
+ * Checks required dependencies
+ *
+ * @return void
+ * @throws \Exception If some of dependencies are missing
+ */
+ public function checkDependencies();
+ /**
+ * Create Image from string
+ *
+ * @param string $text
+ * @param string $font
+ * @return \Magento\Framework\Image\Adapter\AbstractAdapter
+ */
+ public function createPngFromString($text, $font = '');
+ /**
+ * Open image for processing
+ *
+ * @param string $filename
+ * @return void
+ */
+ public function open($filename);
+ /**
+ * Change the image size
+ *
+ * @param null|int $frameWidth
+ * @param null|int $frameHeight
+ * @return void
+ */
+ public function resize($frameWidth = null, $frameHeight = null);
+ /**
+ * Crop image
+ *
+ * @param int $top
+ * @param int $left
+ * @param int $right
+ * @param int $bottom
+ * @return bool
+ */
+ public function crop($top = 0, $left = 0, $right = 0, $bottom = 0);
+ /**
+ * Save image to specific path.
+ *
+ * If some folders of path does not exist they will be created
+ *
+ * @param null|string $destination
+ * @param null|string $newName
+ * @return void
+ * @throws \Exception If destination path is not writable
+ */
+ public function save($destination = null, $newName = null);
+ /**
+ * Rotate image on specific angle
+ *
+ * @param int $angle
+ * @return void
+ */
+ public function rotate($angle);
+ }
+ /**
+ * Image abstract adapter
+ *
+ * @api
+ * @SuppressWarnings(PHPMD.TooManyFields)
+ */
+ abstract class AbstractAdapter implements \Magento\Framework\Image\Adapter\AdapterInterface
+ {
+ /**
+ * Background color
+ * @var int|string
+ */
+ public $imageBackgroundColor = 0;
+ /**#@+
+ * Position constants.
+ * Used mainly for watermarks
+ */
+ const POSITION_TOP_LEFT = 'top-left';
+ const POSITION_TOP_RIGHT = 'top-right';
+ const POSITION_BOTTOM_LEFT = 'bottom-left';
+ const POSITION_BOTTOM_RIGHT = 'bottom-right';
+ const POSITION_STRETCH = 'stretch';
+ const POSITION_TILE = 'tile';
+ const POSITION_CENTER = 'center';
+ /**#@-*/
+ /**
+ * The size of the font to use as default
+ */
+ const DEFAULT_FONT_SIZE = 15;
+ /**
+ * @var int
+ */
+ protected $_fileType;
+ /**
+ * @var string
+ */
+ protected $_fileName;
+ /**
+ * @var string
+ */
+ protected $_fileMimeType;
+ /**
+ * @var string
+ */
+ protected $_fileSrcName;
+ /**
+ * @var string
+ */
+ protected $_fileSrcPath;
+ /**
+ * @var resource
+ */
+ protected $_imageHandler;
+ /**
+ * @var int
+ */
+ protected $_imageSrcWidth;
+ /**
+ * @var int
+ */
+ protected $_imageSrcHeight;
+ /**
+ * @var array
+ */
+ protected $_requiredExtensions;
+ /**
+ * @var string
+ */
+ protected $_watermarkPosition;
+ /**
+ * @var int
+ */
+ protected $_watermarkWidth;
+ /**
+ * @var int
+ */
+ protected $_watermarkHeight;
+ /**
+ * @var int
+ */
+ protected $_watermarkImageOpacity;
+ /**
+ * @var int
+ */
+ protected $_quality;
+ /**
+ * @var int
+ */
+ protected $_fontSize = self::DEFAULT_FONT_SIZE;
+ /**
+ * @var bool
+ */
+ protected $_keepAspectRatio;
+ /**
+ * @var bool
+ */
+ protected $_keepFrame;
+ /**
+ * @var bool
+ */
+ protected $_keepTransparency;
+ /**
+ * @var array
+ */
+ protected $_backgroundColor;
+ /**
+ * @var bool
+ */
+ protected $_constrainOnly;
+ /**
+ * Filesystem instance
+ *
+ * @var \Magento\Framework\Filesystem
+ */
+ protected $_filesystem;
+ /**
+ * @var \Magento\Framework\Filesystem\Directory\Write
+ */
+ protected $directoryWrite;
+ /**
+ * @var \Psr\Log\LoggerInterface
+ */
+ protected $logger;
+ /**
+ * Open image for processing
+ *
+ * @param string $fileName
+ * @return void
+ */
+ public abstract function open($fileName);
+ /**
+ * Save image to specific path.
+ *
+ * If some folders of the path do not exist they will be created.
+ *
+ * @param null|string $destination
+ * @param null|string $newName
+ * @return void
+ * @throws \Exception If destination path is not writable
+ */
+ public abstract function save($destination = null, $newName = null);
+ /**
+ * Render image and return its binary contents
+ *
+ * @return string
+ */
+ public abstract function getImage();
+ /**
+ * Change the image size
+ *
+ * @param null|int $width
+ * @param null|int $height
+ * @return void
+ */
+ public abstract function resize($width = null, $height = null);
+ /**
+ * Rotate image on specific angle
+ *
+ * @param int $angle
+ * @return void
+ */
+ public abstract function rotate($angle);
+ /**
+ * Crop image
+ *
+ * @param int $top
+ * @param int $left
+ * @param int $right
+ * @param int $bottom
+ * @return bool
+ */
+ public abstract function crop($top = 0, $left = 0, $right = 0, $bottom = 0);
+ /**
+ * Add watermark to image
+ *
+ * @param string $imagePath
+ * @param int $positionX
+ * @param int $positionY
+ * @param int $opacity
+ * @param bool $tile
+ * @return void
+ */
+ public abstract function watermark($imagePath, $positionX = 0, $positionY = 0, $opacity = 30, $tile = false);
+ /**
+ * Checks required dependencies
+ *
+ * @return void
+ * @throws \Exception If some of dependencies are missing
+ */
+ public abstract function checkDependencies();
+ /**
+ * Create Image from string
+ *
+ * @param string $text
+ * @param string $font Path to font file
+ * @return AbstractAdapter
+ */
+ public abstract function createPngFromString($text, $font = '');
+ /**
+ * Reassign image dimensions
+ *
+ * @return void
+ */
+ public abstract function refreshImageDimensions();
+ /**
+ * Returns rgba array of the specified pixel
+ *
+ * @param int $x
+ * @param int $y
+ * @return array
+ */
+ public abstract function getColorAt($x, $y);
+ /**
+ * Initialize default values
+ *
+ * @param \Magento\Framework\Filesystem $filesystem
+ * @param \Psr\Log\LoggerInterface $logger
+ * @param array $data
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function __construct(\Magento\Framework\Filesystem $filesystem, \Psr\Log\LoggerInterface $logger, array $data = [])
+ {
+ }
+ /**
+ * Assign image width, height, fileMimeType to object properties
+ *
+ * @return string|null
+ */
+ public function getMimeType()
+ {
+ }
+ /**
+ * Assign image width, height, fileType to object properties using getimagesize function
+ *
+ * @return int|null
+ */
+ public function getImageType()
+ {
+ }
+ /**
+ * Retrieve Original Image Width
+ *
+ * @return int|null
+ */
+ public function getOriginalWidth()
+ {
+ }
+ /**
+ * Retrieve Original Image Height
+ *
+ * @return int|null
+ */
+ public function getOriginalHeight()
+ {
+ }
+ /**
+ * Set watermark position
+ *
+ * @param string $position
+ * @return $this
+ */
+ public function setWatermarkPosition($position)
+ {
+ }
+ /**
+ * Get watermark position
+ *
+ * @return string
+ */
+ public function getWatermarkPosition()
+ {
+ }
+ /**
+ * Set watermark opacity
+ *
+ * @param int $imageOpacity
+ * @return $this
+ */
+ public function setWatermarkImageOpacity($imageOpacity)
+ {
+ }
+ /**
+ * Get watermark opacity
+ *
+ * @return int
+ */
+ public function getWatermarkImageOpacity()
+ {
+ }
+ /**
+ * Set watermark width
+ *
+ * @param int $width
+ * @return $this
+ */
+ public function setWatermarkWidth($width)
+ {
+ }
+ /**
+ * Get watermark width
+ *
+ * @return int
+ */
+ public function getWatermarkWidth()
+ {
+ }
+ /**
+ * Set watermark height
+ *
+ * @param int $height
+ * @return $this
+ */
+ public function setWatermarkHeight($height)
+ {
+ }
+ /**
+ * Return watermark height
+ *
+ * @return int
+ */
+ public function getWatermarkHeight()
+ {
+ }
+ /**
+ * Get/set keepAspectRatio
+ *
+ * @param bool $value
+ * @return bool|\Magento\Framework\Image\Adapter\AbstractAdapter
+ */
+ public function keepAspectRatio($value = null)
+ {
+ }
+ /**
+ * Get/set keepFrame
+ *
+ * @param bool $value
+ * @return bool
+ */
+ public function keepFrame($value = null)
+ {
+ }
+ /**
+ * Get/set keepTransparency
+ *
+ * @param bool $value
+ * @return bool
+ */
+ public function keepTransparency($value = null)
+ {
+ }
+ /**
+ * Get/set constrainOnly
+ *
+ * @param bool $value
+ * @return bool
+ */
+ public function constrainOnly($value = null)
+ {
+ }
+ /**
+ * Get/set quality, values in percentage from 0 to 100
+ *
+ * @param int $value
+ * @return int
+ */
+ public function quality($value = null)
+ {
+ }
+ /**
+ * Get/set keepBackgroundColor
+ *
+ * @param null|array $value
+ * @return array|void
+ */
+ public function backgroundColor($value = null)
+ {
+ }
+ /**
+ * Assign file dirname and basename to object properties
+ *
+ * @return void
+ */
+ protected function _getFileAttributes()
+ {
+ }
+ /**
+ * Adapt resize values based on image configuration
+ *
+ * @param int $frameWidth
+ * @param int $frameHeight
+ * @return array
+ * @throws \Exception
+ */
+ protected function _adaptResizeValues($frameWidth, $frameHeight)
+ {
+ }
+ /**
+ * Check aspect ratio
+ *
+ * @param int $frameWidth
+ * @param int $frameHeight
+ * @return int[]
+ */
+ protected function _checkAspectRatio($frameWidth, $frameHeight)
+ {
+ }
+ /**
+ * Check Frame dimensions and throw exception if they are not valid
+ *
+ * @param int $frameWidth
+ * @param int $frameHeight
+ * @return void
+ * @throws \Exception
+ */
+ protected function _checkDimensions($frameWidth, $frameHeight)
+ {
+ }
+ /**
+ * Return false if source width or height is empty
+ *
+ * @return bool
+ */
+ protected function _checkSrcDimensions()
+ {
+ }
+ /**
+ * Return information about image using getimagesize function
+ *
+ * @param string $filePath
+ * @return array
+ */
+ protected function _getImageOptions($filePath)
+ {
+ }
+ /**
+ * Return supported image formats
+ *
+ * @return string[]
+ */
+ public function getSupportedFormats()
+ {
+ }
+ /**
+ * Create destination folder if not exists and return full file path
+ *
+ * @param string $destination
+ * @param string $newName
+ * @return string
+ * @throws \Exception
+ */
+ protected function _prepareDestination($destination = null, $newName = null)
+ {
+ }
+ /**
+ * Checks is adapter can work with image
+ *
+ * @return bool
+ */
+ protected function _canProcess()
+ {
+ }
+ /**
+ * Check - is this file an image
+ *
+ * @param string $filePath
+ * @return bool
+ * @throws \InvalidArgumentException
+ * @throws \DomainException
+ * @throws \BadFunctionCallException
+ * @throws \RuntimeException
+ * @throws \OverflowException
+ */
+ public function validateUploadFile($filePath)
+ {
+ }
+ /**
+ * Get file source path
+ *
+ * @return string
+ */
+ public function getFileSrcPath() : string
+ {
+ }
+ /**
+ * Get file source name
+ *
+ * @return string
+ */
+ public function getFileSrcName() : string
+ {
+ }
+ }
+ /**
+ * Gd2 adapter.
+ *
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ */
+ class Gd2 extends \Magento\Framework\Image\Adapter\AbstractAdapter
+ {
+ /**
+ * @var array
+ */
+ protected $_requiredExtensions = ["gd"];
+ /**
+ * Whether image was resized or not
+ *
+ * @var bool
+ */
+ protected $_resized = false;
+ /**
+ * For properties reset, e.g. mimeType caching.
+ *
+ * @return void
+ */
+ protected function _reset()
+ {
+ }
+ /**
+ * Open image for processing
+ *
+ * @param string $filename
+ * @return void
+ * @throws \OverflowException|FileSystemException
+ */
+ public function open($filename)
+ {
+ }
+ /**
+ * Checks whether memory limit is reached.
+ *
+ * @return bool
+ */
+ protected function _isMemoryLimitReached()
+ {
+ }
+ /**
+ * Get image needed memory size
+ *
+ * @param string $file
+ * @return float|int
+ */
+ protected function _getImageNeedMemorySize($file)
+ {
+ }
+ /**
+ * Converts memory value (e.g. 64M, 129K) to bytes.
+ *
+ * Case insensitive value might be used.
+ *
+ * @param string $memoryValue
+ * @return int
+ */
+ protected function _convertToByte($memoryValue)
+ {
+ }
+ /**
+ * Save image to specific path.
+ *
+ * If some folders of path does not exist they will be created
+ *
+ * @param null|string $destination
+ * @param null|string $newName
+ * @return void
+ * @throws \Exception If destination path is not writable
+ */
+ public function save($destination = null, $newName = null)
+ {
+ }
+ /**
+ * Render image and return its binary contents.
+ *
+ * @see \Magento\Framework\Image\Adapter\AbstractAdapter::getImage
+ *
+ * @return string
+ */
+ public function getImage()
+ {
+ }
+ /**
+ * Gives true for a PNG with alpha, false otherwise
+ *
+ * @param string $fileName
+ * @return boolean
+ */
+ public function checkAlpha($fileName)
+ {
+ }
+ /**
+ * Change the image size
+ *
+ * @param null|int $frameWidth
+ * @param null|int $frameHeight
+ * @return void
+ */
+ public function resize($frameWidth = null, $frameHeight = null)
+ {
+ }
+ /**
+ * Rotate image on specific angle
+ *
+ * @param int $angle
+ * @return void
+ */
+ public function rotate($angle)
+ {
+ }
+ /**
+ * Add watermark to image
+ *
+ * @param string $imagePath
+ * @param int $positionX
+ * @param int $positionY
+ * @param int $opacity
+ * @param bool $tile
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function watermark($imagePath, $positionX = 0, $positionY = 0, $opacity = 30, $tile = false)
+ {
+ }
+ /**
+ * Crop image
+ *
+ * @param int $top
+ * @param int $left
+ * @param int $right
+ * @param int $bottom
+ * @return bool
+ */
+ public function crop($top = 0, $left = 0, $right = 0, $bottom = 0)
+ {
+ }
+ /**
+ * Checks required dependencies
+ *
+ * @return void
+ * @throws \RuntimeException If some of dependencies are missing
+ */
+ public function checkDependencies()
+ {
+ }
+ /**
+ * Reassign image dimensions
+ *
+ * @return void
+ */
+ public function refreshImageDimensions()
+ {
+ }
+ /**
+ * Standard destructor. Destroy stored information about image
+ */
+ public function __destruct()
+ {
+ }
+ /**
+ * Returns rgba array of the specified pixel
+ *
+ * @param int $x
+ * @param int $y
+ * @return array
+ */
+ public function getColorAt($x, $y)
+ {
+ }
+ /**
+ * Create Image from string
+ *
+ * @param string $text
+ * @param string $font
+ * @return \Magento\Framework\Image\Adapter\AbstractAdapter
+ */
+ public function createPngFromString($text, $font = '')
+ {
+ }
+ /**
+ * Create Image using standard font
+ *
+ * @param string $text
+ * @return void
+ */
+ protected function _createImageFromText($text)
+ {
+ }
+ /**
+ * Create Image using ttf font
+ *
+ * Note: This function requires both the GD library and the FreeType library
+ *
+ * @param string $text
+ * @param string $font
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ protected function _createImageFromTtfText($text, $font)
+ {
+ }
+ /**
+ * Create empty image with transparent background
+ *
+ * @param int $width
+ * @param int $height
+ * @return void
+ */
+ protected function _createEmptyImage($width, $height)
+ {
+ }
+ }
+ /**
+ * Image adapter from ImageMagick.
+ */
+ class ImageMagick extends \Magento\Framework\Image\Adapter\AbstractAdapter
+ {
+ /**
+ * The blur factor where > 1 is blurry, < 1 is sharp
+ */
+ public const BLUR_FACTOR = 0.7;
+ /**
+ * Error messages
+ */
+ public const ERROR_WATERMARK_IMAGE_ABSENT = 'Watermark Image absent.';
+ public const ERROR_WRONG_IMAGE = 'Image is not readable or file name is empty.';
+ /**
+ * Options Container
+ *
+ * @var array
+ */
+ protected $_options = ['resolution' => ['x' => 72, 'y' => 72], 'small_image' => ['width' => 300, 'height' => 300], 'sharpen' => ['radius' => 4, 'deviation' => 1]];
+ /**
+ * @var \Imagick
+ */
+ protected $_imageHandler;
+ /**
+ * Set/get background color. Check Imagick::COLOR_* constants
+ *
+ * @param int|string|array $color
+ * @return int
+ */
+ public function backgroundColor($color = null)
+ {
+ }
+ /**
+ * Open image for processing
+ *
+ * @param string $filename
+ * @return void
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function open($filename)
+ {
+ }
+ /**
+ * Save image to specific path.
+ *
+ * If some folders of path does not exist they will be created
+ *
+ * @param null|string $destination
+ * @param null|string $newName
+ * @return void
+ * @throws \Magento\Framework\Exception\LocalizedException If destination path is not writable
+ */
+ public function save($destination = null, $newName = null)
+ {
+ }
+ /**
+ * Apply options to image. Will be usable later when create an option container
+ *
+ * @return $this
+ */
+ protected function _applyOptions()
+ {
+ }
+ /**
+ * Render image and return its binary contents
+ *
+ * @return string
+ * @see \Magento\Framework\Image\Adapter\AbstractAdapter::getImage
+ */
+ public function getImage()
+ {
+ }
+ /**
+ * Change the image size.
+ *
+ * @param null|int $frameWidth
+ * @param null|int $frameHeight
+ * @return void
+ * @throws \ImagickException
+ */
+ public function resize($frameWidth = null, $frameHeight = null)
+ {
+ }
+ /**
+ * Rotate image on specific angle
+ *
+ * @param int $angle
+ * @return void
+ */
+ public function rotate($angle)
+ {
+ }
+ /**
+ * Crop image
+ *
+ * @param int $top
+ * @param int $left
+ * @param int $right
+ * @param int $bottom
+ * @return bool
+ */
+ public function crop($top = 0, $left = 0, $right = 0, $bottom = 0)
+ {
+ }
+ /**
+ * Add watermark to image
+ *
+ * @param string $imagePath
+ * @param int $positionX
+ * @param int $positionY
+ * @param int $opacity
+ * @param bool $tile
+ * @return void
+ * @throws \LogicException
+ * @throws \Magento\Framework\Exception\LocalizedException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function watermark($imagePath, $positionX = 0, $positionY = 0, $opacity = 30, $tile = false)
+ {
+ }
+ /**
+ * Checks required dependencies
+ *
+ * @return void
+ * @throws \Magento\Framework\Exception\LocalizedException If some of dependencies are missing
+ */
+ public function checkDependencies()
+ {
+ }
+ /**
+ * Reassign image dimensions
+ *
+ * @return void
+ */
+ public function refreshImageDimensions()
+ {
+ }
+ /**
+ * Standard destructor. Destroy stored information about image
+ */
+ public function __destruct()
+ {
+ }
+ /**
+ * Destroy stored information about image
+ *
+ * @return $this
+ */
+ public function destroy()
+ {
+ }
+ /**
+ * Returns rgba array of the specified pixel
+ *
+ * @param int $x
+ * @param int $y
+ * @return array
+ */
+ public function getColorAt($x, $y)
+ {
+ }
+ /**
+ * Check whether the adapter can work with the image
+ *
+ * @return true
+ * @throws \LogicException
+ */
+ protected function _checkCanProcess()
+ {
+ }
+ /**
+ * Create Image from string
+ *
+ * @param string $text
+ * @param string $font
+ * @return \Magento\Framework\Image\Adapter\AbstractAdapter
+ */
+ public function createPngFromString($text, $font = '')
+ {
+ }
+ /**
+ * Get Imagick object
+ *
+ * @param mixed $files
+ * @return \Imagick
+ */
+ protected function _getImagickObject($files = null)
+ {
+ }
+ /**
+ * Get ImagickDraw object
+ *
+ * @return \ImagickDraw
+ */
+ protected function _getImagickDrawObject()
+ {
+ }
+ /**
+ * Get ImagickPixel object
+ *
+ * @param string|null $color
+ * @return \ImagickPixel
+ */
+ protected function _getImagickPixelObject($color = null)
+ {
+ }
+ }
+ /**
+ * Interface UploadConfigInterface
+ *
+ * @deprecated moved to proper namespace and extended
+ * @see \Magento\Backend\Model\Image\UploadResizeConfigInterface;
+ */
+ interface UploadConfigInterface
+ {
+ /**
+ * Get maximum image width.
+ *
+ * @return int
+ */
+ public function getMaxWidth() : int;
+ /**
+ * Get maximum image height.
+ *
+ * @return int
+ */
+ public function getMaxHeight() : int;
+ }
+ /**
+ * Interface \Magento\Framework\Image\Adapter\ConfigInterface
+ *
+ * @api
+ */
+ interface ConfigInterface
+ {
+ /**
+ * Get adapter alias
+ *
+ * @return string
+ */
+ public function getAdapterAlias();
+ /**
+ * Get adapters
+ *
+ * @return array
+ */
+ public function getAdapters();
+ }
+ /**
+ * Image config provider.
+ */
+ class Config implements \Magento\Framework\Image\Adapter\ConfigInterface, \Magento\Framework\Image\Adapter\UploadConfigInterface
+ {
+ const XML_PATH_IMAGE_ADAPTER = 'dev/image/default_adapter';
+ const XML_PATH_IMAGE_ADAPTERS = 'dev/image/adapters';
+ /**
+ * Config path for the maximal image width value
+ * @deprecated Used in a method that is deprecated
+ */
+ const XML_PATH_MAX_WIDTH_IMAGE = 'system/upload_configuration/max_width';
+ /**
+ * Config path for the maximal image height value
+ * @deprecated Used in a method that is deprecated
+ */
+ const XML_PATH_MAX_HEIGHT_IMAGE = 'system/upload_configuration/max_height';
+ /**
+ * @var \Magento\Framework\App\Config\ScopeConfigInterface
+ */
+ protected $config;
+ /**
+ * @param \Magento\Framework\App\Config\ScopeConfigInterface $config
+ */
+ public function __construct(\Magento\Framework\App\Config\ScopeConfigInterface $config)
+ {
+ }
+ /**
+ * {@inherit}
+ *
+ * @return string
+ */
+ public function getAdapterAlias()
+ {
+ }
+ /**
+ * {@inherit}
+ *
+ * @return mixed
+ */
+ public function getAdapters()
+ {
+ }
+ /**
+ * Get Maximum Image Width resolution in pixels. For image resizing on client side.
+ *
+ * @return int
+ * @deprecated 102.0.1
+ * @see \Magento\Backend\Model\Image\UploadResizeConfigInterface::getMaxHeight()
+ */
+ public function getMaxWidth() : int
+ {
+ }
+ /**
+ * Get Maximum Image Height resolution in pixels. For image resizing on client side.
+ *
+ * @return int
+ * @deprecated 102.0.1
+ * @see \Magento\Backend\Model\Image\UploadResizeConfigInterface::getMaxHeight()
+ */
+ public function getMaxHeight() : int
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * Static class that represents profiling tool
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Profiler
+ {
+ /**
+ * Separator literal to assemble timer identifier from timer names
+ */
+ public const NESTING_SEPARATOR = '->';
+ /**
+ * Set default tags
+ *
+ * @param array $tags
+ * @return void
+ */
+ public static function setDefaultTags(array $tags)
+ {
+ }
+ /**
+ * Add tag filter.
+ *
+ * @param string $tagName
+ * @param string $tagValue
+ * @return void
+ */
+ public static function addTagFilter($tagName, $tagValue)
+ {
+ }
+ /**
+ * Add profiler driver.
+ *
+ * @param DriverInterface $driver
+ * @return void
+ */
+ public static function add(\Magento\Framework\Profiler\DriverInterface $driver)
+ {
+ }
+ /**
+ * Enable profiling.
+ *
+ * Any call to profiler does nothing until profiler is enabled.
+ *
+ * @return void
+ */
+ public static function enable()
+ {
+ }
+ /**
+ * Disable profiling.
+ *
+ * Any call to profiler is silently ignored while profiler is disabled.
+ *
+ * @return void
+ */
+ public static function disable()
+ {
+ }
+ /**
+ * Get profiler enable status.
+ *
+ * @return bool
+ */
+ public static function isEnabled()
+ {
+ }
+ /**
+ * Clear collected statistics for specified timer or for whole profiler if timer id is omitted
+ *
+ * @param string|null $timerName
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ public static function clear($timerName = null)
+ {
+ }
+ /**
+ * Reset profiler to initial state
+ *
+ * @return void
+ */
+ public static function reset()
+ {
+ }
+ /**
+ * Start collecting statistics for specified timer
+ *
+ * @param string $timerName
+ * @param array|null $tags
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ public static function start($timerName, array $tags = null)
+ {
+ }
+ /**
+ * Stop recording statistics for specified timer.
+ *
+ * Call with no arguments to stop the recently started timer.
+ * Only the latest started timer can be stopped.
+ *
+ * @param string|null $timerName
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ public static function stop($timerName = null)
+ {
+ }
+ /**
+ * Init profiler
+ *
+ * @param array|string $config
+ * @param string $baseDir
+ * @param bool $isAjax
+ * @return void
+ */
+ public static function applyConfig($config, $baseDir, $isAjax = false)
+ {
+ }
+ /**
+ * Parses config
+ *
+ * @param array|string $profilerConfig
+ * @param string $baseDir
+ * @param bool $isAjax
+ * @return array
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected static function _parseConfig($profilerConfig, $baseDir, $isAjax)
+ {
+ }
+ /**
+ * Parses list of driver configurations
+ *
+ * @param array $driverConfigs
+ * @param string $baseDir
+ * @return array
+ */
+ protected static function _parseDriverConfigs(array $driverConfigs, $baseDir)
+ {
+ }
+ /**
+ * Parses driver config
+ *
+ * @param mixed $driverConfig
+ * @return array|false
+ */
+ protected static function _parseDriverConfig($driverConfig)
+ {
+ }
+ }
+ /**
+ * @todo change this interface when i18n-related logic is moved to library
+ *
+ * @api
+ */
+ interface TranslateInterface
+ {
+ /**
+ * Default translation string
+ */
+ const DEFAULT_STRING = 'Translate String';
+ /**
+ * Initialize translation data
+ *
+ * @param string|null $area
+ * @param bool $forceReload
+ * @return \Magento\Framework\TranslateInterface
+ */
+ public function loadData($area = null, $forceReload = false);
+ /**
+ * Retrieve translation data
+ *
+ * @return array
+ */
+ public function getData();
+ /**
+ * Retrieve locale
+ *
+ * @return string
+ */
+ public function getLocale();
+ /**
+ * Set locale
+ *
+ * @param string $locale
+ * @return \Magento\Framework\TranslateInterface
+ */
+ public function setLocale($locale);
+ /**
+ * Retrieve theme code
+ *
+ * @return string
+ */
+ public function getTheme();
+ }
+ /**
+ * Translate library
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @SuppressWarnings(PHPMD.TooManyFields)
+ */
+ class Translate implements \Magento\Framework\TranslateInterface, \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ public const CONFIG_AREA_KEY = 'area';
+ public const CONFIG_LOCALE_KEY = 'locale';
+ public const CONFIG_SCOPE_KEY = 'scope';
+ public const CONFIG_THEME_KEY = 'theme';
+ public const CONFIG_MODULE_KEY = 'module';
+ /**
+ * @var string
+ */
+ protected $_localeCode;
+ /**
+ * Translator configuration array
+ *
+ * @var array
+ */
+ protected $_config;
+ /**
+ * Cache identifier
+ *
+ * @var string
+ */
+ protected $_cacheId;
+ /**
+ * Translation data
+ *
+ * @var []
+ */
+ protected $_data = [];
+ /**
+ * @var \Magento\Framework\View\DesignInterface
+ */
+ protected $_viewDesign;
+ /**
+ * @var \Magento\Framework\Cache\FrontendInterface
+ */
+ protected $_cache;
+ /**
+ * @var \Magento\Framework\View\FileSystem
+ */
+ protected $_viewFileSystem;
+ /**
+ * @var \Magento\Framework\Module\ModuleList
+ */
+ protected $_moduleList;
+ /**
+ * @var \Magento\Framework\Module\Dir\Reader
+ */
+ protected $_modulesReader;
+ /**
+ * @var \Magento\Framework\App\ScopeResolverInterface
+ */
+ protected $_scopeResolver;
+ /**
+ * @var \Magento\Framework\Translate\ResourceInterface
+ */
+ protected $_translateResource;
+ /**
+ * @var \Magento\Framework\Locale\ResolverInterface
+ */
+ protected $_locale;
+ /**
+ * @var \Magento\Framework\App\State
+ */
+ protected $_appState;
+ /**
+ * @var \Magento\Framework\Filesystem\Directory\Read
+ */
+ protected $directory;
+ /**
+ * @var \Magento\Framework\App\RequestInterface
+ */
+ protected $request;
+ /**
+ * @var \Magento\Framework\File\Csv
+ */
+ protected $_csvParser;
+ /**
+ * @var \Magento\Framework\App\Language\Dictionary
+ */
+ protected $packDictionary;
+ /**
+ * @param \Magento\Framework\View\DesignInterface $viewDesign
+ * @param \Magento\Framework\Cache\FrontendInterface $cache
+ * @param \Magento\Framework\View\FileSystem $viewFileSystem
+ * @param \Magento\Framework\Module\ModuleList $moduleList
+ * @param \Magento\Framework\Module\Dir\Reader $modulesReader
+ * @param \Magento\Framework\App\ScopeResolverInterface $scopeResolver
+ * @param \Magento\Framework\Translate\ResourceInterface $translate
+ * @param \Magento\Framework\Locale\ResolverInterface $locale
+ * @param \Magento\Framework\App\State $appState
+ * @param \Magento\Framework\Filesystem $filesystem
+ * @param \Magento\Framework\App\RequestInterface $request
+ * @param \Magento\Framework\File\Csv $csvParser
+ * @param \Magento\Framework\App\Language\Dictionary $packDictionary
+ * @param DriverInterface|null $fileDriver
+ *
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ */
+ public function __construct(\Magento\Framework\View\DesignInterface $viewDesign, \Magento\Framework\Cache\FrontendInterface $cache, \Magento\Framework\View\FileSystem $viewFileSystem, \Magento\Framework\Module\ModuleList $moduleList, \Magento\Framework\Module\Dir\Reader $modulesReader, \Magento\Framework\App\ScopeResolverInterface $scopeResolver, \Magento\Framework\Translate\ResourceInterface $translate, \Magento\Framework\Locale\ResolverInterface $locale, \Magento\Framework\App\State $appState, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\App\RequestInterface $request, \Magento\Framework\File\Csv $csvParser, \Magento\Framework\App\Language\Dictionary $packDictionary, \Magento\Framework\Filesystem\DriverInterface $fileDriver = null)
+ {
+ }
+ /**
+ * Initialize translation data
+ *
+ * @param string|null $area
+ * @param bool $forceReload
+ * @return $this
+ */
+ public function loadData($area = null, $forceReload = false)
+ {
+ }
+ /**
+ * Initialize configuration
+ *
+ * @param array $config
+ * @return $this
+ */
+ protected function setConfig($config)
+ {
+ }
+ /**
+ * Retrieve scope code
+ *
+ * @return string
+ */
+ protected function getScope()
+ {
+ }
+ /**
+ * Retrieve config value by key
+ *
+ * @param string $key
+ * @return mixed
+ */
+ protected function getConfig($key)
+ {
+ }
+ /**
+ * Retrieve name of the current module
+ *
+ * @return mixed
+ */
+ protected function getControllerModuleName()
+ {
+ }
+ /**
+ * Load data from module translation files
+ *
+ * @return $this
+ */
+ protected function _loadModuleTranslation()
+ {
+ }
+ /**
+ * Load data from module translation files by list of modules
+ *
+ * @param array $modules
+ * @return $this
+ */
+ protected function loadModuleTranslationByModulesList(array $modules)
+ {
+ }
+ /**
+ * Adding translation data
+ *
+ * @param array $data
+ * @return $this
+ */
+ protected function _addData($data)
+ {
+ }
+ /**
+ * Load current theme translation according to fallback
+ *
+ * @return $this
+ */
+ protected function _loadThemeTranslation()
+ {
+ }
+ /**
+ * Load translation dictionary from language packages
+ *
+ * @return void
+ */
+ protected function _loadPackTranslation()
+ {
+ }
+ /**
+ * Loading current translation from DB
+ *
+ * @return $this
+ */
+ protected function _loadDbTranslation()
+ {
+ }
+ /**
+ * Retrieve translation file for module
+ *
+ * @param string $moduleName
+ * @param string $locale
+ * @return string
+ */
+ protected function _getModuleTranslationFile($moduleName, $locale)
+ {
+ }
+ /**
+ * Retrieve translation file for theme
+ *
+ * @param string $locale
+ * @return string
+ *
+ * @deprecated 102.0.1
+ *
+ * @see \Magento\Framework\Translate::getThemeTranslationFilesList
+ */
+ protected function _getThemeTranslationFile($locale)
+ {
+ }
+ /**
+ * Retrieve data from file
+ *
+ * @param string $file
+ * @return array
+ */
+ protected function _getFileData($file)
+ {
+ }
+ /**
+ * Retrieve translation data
+ *
+ * @return array
+ */
+ public function getData()
+ {
+ }
+ /**
+ * Retrieve locale
+ *
+ * @return string
+ */
+ public function getLocale()
+ {
+ }
+ /**
+ * Set locale
+ *
+ * @param string $locale
+ * @return \Magento\Framework\TranslateInterface
+ */
+ public function setLocale($locale)
+ {
+ }
+ /**
+ * Retrieve theme code
+ *
+ * @return string
+ */
+ public function getTheme()
+ {
+ }
+ /**
+ * Retrieve cache identifier
+ *
+ * @return string
+ */
+ protected function getCacheId()
+ {
+ }
+ /**
+ * Loading data cache
+ *
+ * @return array|bool
+ */
+ protected function _loadCache()
+ {
+ }
+ /**
+ * Saving data cache
+ *
+ * @return $this
+ */
+ protected function _saveCache()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ }
+ /**
+ * Magento wrapper for Zend's Escaper class
+ */
+ class ZendEscaper extends \Laminas\Escaper\Escaper
+ {
+ }
+}
+namespace Magento\Framework\Interception {
+ /**
+ * Interception config writer interface.
+ *
+ * @api
+ */
+ interface ConfigWriterInterface
+ {
+ /**
+ * Write interception configuration for scopes.
+ *
+ * @param array $scopes
+ * @return void
+ */
+ public function write(array $scopes) : void;
+ }
+ /**
+ * Interception configuration loader interface.
+ *
+ * @api
+ */
+ interface ConfigLoaderInterface
+ {
+ /**
+ * Load interception configuration data per scope.
+ *
+ * @param string $cacheId
+ * @return array
+ */
+ public function load(string $cacheId) : array;
+ }
+ /**
+ * Plugin list configuration writer and loader for scopes.
+ */
+ class PluginListGenerator implements \Magento\Framework\Interception\ConfigWriterInterface, \Magento\Framework\Interception\ConfigLoaderInterface
+ {
+ /**
+ * @param ReaderInterface $reader
+ * @param ScopeInterface $scopeConfig
+ * @param ConfigInterface $omConfig
+ * @param RelationsInterface $relations
+ * @param DefinitionInterface $definitions
+ * @param ClassDefinitions $classDefinitions
+ * @param LoggerInterface $logger
+ * @param DirectoryList $directoryList
+ * @param array $scopePriorityScheme
+ */
+ public function __construct(\Magento\Framework\Config\ReaderInterface $reader, \Magento\Framework\Config\ScopeInterface $scopeConfig, \Magento\Framework\Interception\ObjectManager\ConfigInterface $omConfig, \Magento\Framework\ObjectManager\RelationsInterface $relations, \Magento\Framework\Interception\DefinitionInterface $definitions, \Magento\Framework\ObjectManager\DefinitionInterface $classDefinitions, \Psr\Log\LoggerInterface $logger, \Magento\Framework\App\Filesystem\DirectoryList $directoryList, array $scopePriorityScheme = ['global'])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function write(array $scopes) : void
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function load(string $cacheId) : array
+ {
+ }
+ /**
+ * Load virtual types for current scope
+ *
+ * @param array $scopePriorityScheme
+ * @param array $loadedScopes
+ * @param array|null $pluginData
+ * @param array $inherited
+ * @param array $processed
+ * @return array
+ */
+ public function loadScopedVirtualTypes($scopePriorityScheme, $loadedScopes, $pluginData, $inherited, $processed)
+ {
+ }
+ /**
+ * Collect parent types configuration for requested type
+ *
+ * @param string $type
+ * @param array $pluginData
+ * @param array $inherited
+ * @param array $processed
+ * @return array
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function inheritPlugins($type, &$pluginData, &$inherited, &$processed)
+ {
+ }
+ /**
+ * Trims starting backslash from plugin instance name
+ *
+ * @param array $plugins
+ * @return void
+ */
+ public function trimInstanceStartingBackslash(&$plugins)
+ {
+ }
+ /**
+ * Remove from list not existing plugins
+ *
+ * @param array $plugins
+ * @return void
+ */
+ public function filterPlugins(array &$plugins)
+ {
+ }
+ /**
+ * Merge configuration
+ *
+ * @param array $config
+ * @param array|null $pluginData
+ * @return array
+ */
+ public function merge(array $config, $pluginData)
+ {
+ }
+ }
+ /**
+ * Interface \Magento\Framework\Interception\DefinitionInterface
+ *
+ * @api
+ */
+ interface DefinitionInterface
+ {
+ const LISTENER_BEFORE = 1;
+ const LISTENER_AROUND = 2;
+ const LISTENER_AFTER = 4;
+ /**
+ * Retrieve list of methods
+ *
+ * @param string $type
+ * @return string[]
+ */
+ public function getMethodList($type);
+ }
+}
+namespace Magento\Framework\Interception\Definition {
+ class Runtime implements \Magento\Framework\Interception\DefinitionInterface
+ {
+ /**
+ * @var array
+ */
+ protected $_typesByPrefixes = ['befor' => self::LISTENER_BEFORE, 'aroun' => self::LISTENER_AROUND, 'after' => self::LISTENER_AFTER];
+ /**
+ * Plugin method service prefix lengths
+ *
+ * @var array
+ */
+ protected $prefixLengths = [self::LISTENER_BEFORE => 6, self::LISTENER_AROUND => 6, self::LISTENER_AFTER => 5];
+ /**
+ * Retrieve list of methods
+ *
+ * @param string $type
+ * @return string[]
+ */
+ public function getMethodList($type)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception {
+ /**
+ * Interface \Magento\Framework\Interception\PluginListInterface
+ *
+ * @api
+ */
+ interface PluginListInterface
+ {
+ /**
+ * Retrieve next plugins in chain
+ *
+ * @param string $type
+ * @param string $method
+ * @param string $code
+ * @return array
+ */
+ public function getNext($type, $method, $code = null);
+ /**
+ * Retrieve plugin instance by code
+ *
+ * @param string $type
+ * @param string $code
+ * @return mixed
+ */
+ public function getPlugin($type, $code);
+ }
+}
+namespace Magento\Framework\Config {
+ /**
+ * Config data interface.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface DataInterface
+ {
+ /**
+ * Merge config data to the object
+ *
+ * @param array $config
+ * @return void
+ */
+ public function merge(array $config);
+ /**
+ * Get config value by key
+ *
+ * @param string $key
+ * @param mixed $default
+ * @return mixed
+ */
+ public function get($key, $default = null);
+ }
+ /**
+ * Represents loaded and cached configuration data, should be used to gain access to different types
+ *
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ * @api
+ * @since 100.0.2
+ */
+ class Data implements \Magento\Framework\Config\DataInterface
+ {
+ /**
+ * Configuration reader
+ *
+ * @var ReaderInterface
+ */
+ protected $_reader;
+ /**
+ * Configuration cache
+ *
+ * @var CacheInterface
+ */
+ protected $_cache;
+ /**
+ * Cache tag
+ *
+ * @var string
+ */
+ protected $_cacheId;
+ /**
+ * @var array
+ */
+ protected $cacheTags = [];
+ /**
+ * Config data
+ *
+ * @var array
+ */
+ protected $_data = [];
+ /**
+ * Constructor
+ *
+ * @param ReaderInterface $reader
+ * @param CacheInterface $cache
+ * @param string $cacheId
+ * @param SerializerInterface|null $serializer
+ * @param array|null $cacheTags
+ */
+ public function __construct(\Magento\Framework\Config\ReaderInterface $reader, \Magento\Framework\Config\CacheInterface $cache, $cacheId, \Magento\Framework\Serialize\SerializerInterface $serializer = null, ?array $cacheTags = null)
+ {
+ }
+ /**
+ * Initialise data for configuration
+ *
+ * @return void
+ */
+ protected function initData()
+ {
+ }
+ /**
+ * Merge config data to the object
+ *
+ * @param array $config
+ * @return void
+ */
+ public function merge(array $config)
+ {
+ }
+ /**
+ * Get config value by key
+ *
+ * @param string $path
+ * @param mixed $default
+ * @return array|mixed|null
+ */
+ public function get($path = null, $default = null)
+ {
+ }
+ /**
+ * Clear cache data
+ *
+ * @return void
+ */
+ public function reset()
+ {
+ }
+ /**
+ * Disable show internals with var_dump
+ *
+ * @see https://www.php.net/manual/en/language.oop5.magic.php#object.debuginfo
+ * @return array
+ */
+ public function __debugInfo()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Config\Data {
+ /**
+ * Provides scoped configuration
+ * @api
+ * @since 100.0.2
+ */
+ class Scoped extends \Magento\Framework\Config\Data
+ {
+ /**
+ * Configuration scope resolver
+ *
+ * @var \Magento\Framework\Config\ScopeInterface
+ */
+ protected $_configScope;
+ /**
+ * Scope priority loading scheme
+ *
+ * @var string[]
+ */
+ protected $_scopePriorityScheme = [];
+ /**
+ * @var array
+ */
+ protected $_loadedScopes = [];
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\Config\ReaderInterface $reader
+ * @param \Magento\Framework\Config\ScopeInterface $configScope
+ * @param \Magento\Framework\Config\CacheInterface $cache
+ * @param string $cacheId
+ * @param SerializerInterface|null $serializer
+ */
+ public function __construct(\Magento\Framework\Config\ReaderInterface $reader, \Magento\Framework\Config\ScopeInterface $configScope, \Magento\Framework\Config\CacheInterface $cache, $cacheId, \Magento\Framework\Serialize\SerializerInterface $serializer = null)
+ {
+ }
+ /**
+ * Get config value by key
+ *
+ * @param string $path
+ * @param mixed $default
+ * @return array|mixed|null
+ */
+ public function get($path = null, $default = null)
+ {
+ }
+ /**
+ * Load data for current scope
+ *
+ * @return void
+ */
+ protected function _loadScopedData()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\PluginList {
+ /**
+ * Plugin config, provides list of plugins for a type
+ */
+ class PluginList extends \Magento\Framework\Config\Data\Scoped implements \Magento\Framework\Interception\PluginListInterface
+ {
+ /**
+ * Inherited plugin data
+ *
+ * @var array
+ */
+ protected $_inherited = [];
+ /**
+ * Inherited plugin data, preprocessed for read
+ *
+ * @var array
+ */
+ protected $_processed;
+ /**
+ * Type config
+ *
+ * @var ConfigInterface
+ */
+ protected $_omConfig;
+ /**
+ * Class relations information provider
+ *
+ * @var RelationsInterface
+ */
+ protected $_relations;
+ /**
+ * List of interception methods per plugin
+ *
+ * @var DefinitionInterface
+ */
+ protected $_definitions;
+ /**
+ * List of interceptable application classes
+ *
+ * @var ClassDefinitions
+ */
+ protected $_classDefinitions;
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * @var array
+ */
+ protected $_pluginInstances = [];
+ /**
+ * Constructor
+ *
+ * @param ReaderInterface $reader
+ * @param ScopeInterface $configScope
+ * @param CacheInterface $cache
+ * @param RelationsInterface $relations
+ * @param ConfigInterface $omConfig
+ * @param DefinitionInterface $definitions
+ * @param ObjectManagerInterface $objectManager
+ * @param ClassDefinitions $classDefinitions
+ * @param array $scopePriorityScheme
+ * @param string|null $cacheId
+ * @param SerializerInterface|null $serializer
+ * @param ConfigLoaderInterface|null $configLoader
+ * @param PluginListGenerator|null $pluginListGenerator
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ */
+ public function __construct(\Magento\Framework\Config\ReaderInterface $reader, \Magento\Framework\Config\ScopeInterface $configScope, \Magento\Framework\Config\CacheInterface $cache, \Magento\Framework\ObjectManager\RelationsInterface $relations, \Magento\Framework\Interception\ObjectManager\ConfigInterface $omConfig, \Magento\Framework\Interception\DefinitionInterface $definitions, \Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\ObjectManager\DefinitionInterface $classDefinitions, array $scopePriorityScheme = ['global'], $cacheId = 'plugins', \Magento\Framework\Serialize\SerializerInterface $serializer = null, \Magento\Framework\Interception\ConfigLoaderInterface $configLoader = null, \Magento\Framework\Interception\PluginListGenerator $pluginListGenerator = null)
+ {
+ }
+ /**
+ * Collect parent types configuration for requested type
+ *
+ * @param string $type
+ * @return array
+ */
+ protected function _inheritPlugins($type)
+ {
+ }
+ /**
+ * Sort items
+ *
+ * @param array $itemA
+ * @param array $itemB
+ * @return int
+ */
+ protected function _sort($itemA, $itemB)
+ {
+ }
+ /**
+ * Retrieve plugin Instance
+ *
+ * @param string $type
+ * @param string $code
+ * @return mixed
+ */
+ public function getPlugin($type, $code)
+ {
+ }
+ /**
+ * Retrieve next plugins in chain
+ *
+ * @param string $type
+ * @param string $method
+ * @param string $code
+ * @return array
+ */
+ public function getNext($type, $method, $code = '__self')
+ {
+ }
+ /**
+ * Load configuration for current scope
+ *
+ * @return void
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function _loadScopedData()
+ {
+ }
+ /**
+ * Whether scope code is current scope code
+ *
+ * @param string $scopeCode
+ * @return bool
+ */
+ protected function isCurrentScope($scopeCode)
+ {
+ }
+ /**
+ * Returns class definitions
+ *
+ * @return array
+ */
+ protected function getClassDefinitions()
+ {
+ }
+ /**
+ * Merge configuration
+ *
+ * @param array $config
+ * @return void
+ */
+ public function merge(array $config)
+ {
+ }
+ /**
+ * Disable show PluginList internals with var_dump
+ *
+ * @see https://www.php.net/manual/en/language.oop5.magic.php#object.debuginfo
+ * @return array
+ */
+ public function __debugInfo()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception {
+ /**
+ * Interface for any class that is intercepting another Magento class.
+ *
+ * This interface exposes the parent method of the interception class, which allows the caller to bypass
+ * the interception logic.
+ *
+ * @api
+ */
+ interface InterceptorInterface
+ {
+ /**
+ * Calls parent class method
+ *
+ * @param string $method
+ * @param array $arguments
+ * @return mixed
+ */
+ public function ___callParent($method, array $arguments);
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\PluginList {
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class PluginListTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testGetPlugin()
+ {
+ }
+ /**
+ * @param array $expectedResult
+ * @param string $type
+ * @param string $method
+ * @param string $scopeCode
+ * @param string $code
+ * @param array $scopePriorityScheme
+ * @dataProvider getPluginsDataProvider
+ */
+ public function testGetPlugins(?array $expectedResult, string $type, string $method, string $scopeCode, string $code = '__self', array $scopePriorityScheme = ['global']) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getPluginsDataProvider()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Interception\PluginList\PluginList::getNext
+ * @covers \Magento\Framework\Interception\PluginList\PluginList::_loadScopedData
+ */
+ public function testLoadScopedDataCached()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Interception\PluginList\PluginList::getNext
+ * @covers \Magento\Framework\Interception\PluginList\PluginList::_loadScopedData
+ */
+ public function testLoadScopedDataGenerated()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Config {
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class ConfigTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param boolean $expectedResult
+ * @param string $type
+ * @dataProvider hasPluginsDataProvider
+ */
+ public function testHasPluginsWhenDataIsNotCached($expectedResult, $type, $entityParents)
+ {
+ }
+ /**
+ * @param boolean $expectedResult
+ * @param string $type
+ * @dataProvider hasPluginsDataProvider
+ */
+ public function testHasPluginsWhenDataIsCached($expectedResult, $type)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function hasPluginsDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Custom\Module\Model {
+ class StartingBackslash
+ {
+ /**
+ * @return string
+ */
+ public function getName()
+ {
+ }
+ }
+ class ItemContainer
+ {
+ /**
+ * @return string
+ */
+ public function getName()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Custom\Module\Model\ItemContainer {
+ class Enhanced extends \Magento\Framework\Interception\Test\Unit\Custom\Module\Model\ItemContainer
+ {
+ /**
+ * @return string
+ */
+ public function getName()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Custom\Module\Model {
+ class Item
+ {
+ /**
+ * @return string
+ */
+ public function getName()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Custom\Module\Model\InterfaceValidator {
+ class Item
+ {
+ /**
+ * @return string
+ */
+ public function getItem()
+ {
+ }
+ }
+ class ItemWithArguments
+ {
+ /**
+ * @param string $name
+ * @return string
+ */
+ public function getItem($name = 'default')
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Custom\Module\Model\InterfaceValidator\ItemPlugin {
+ class ExtraParameters
+ {
+ /**
+ * @param Item $subject
+ * @param string $name
+ * @param string $surname
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function afterGetItem(\Magento\Framework\Interception\Test\Unit\Custom\Module\Model\InterfaceValidator\Item $subject, $name, $surname)
+ {
+ }
+ }
+ class ValidPlugin
+ {
+ /**
+ * @param ItemWithArguments $subject
+ * @param string $result
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function afterGetItem(\Magento\Framework\Interception\Test\Unit\Custom\Module\Model\InterfaceValidator\ItemWithArguments $subject, $result)
+ {
+ }
+ /**
+ * @param ItemWithArguments $subject
+ * @param $name
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function beforeGetItem(\Magento\Framework\Interception\Test\Unit\Custom\Module\Model\InterfaceValidator\ItemWithArguments $subject, $name)
+ {
+ }
+ /**
+ * @param ItemWithArguments $subject
+ * @param Closure $proceed
+ * @param string $name
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function aroundGetItem(\Magento\Framework\Interception\Test\Unit\Custom\Module\Model\InterfaceValidator\ItemWithArguments $subject, \Closure $proceed, $name)
+ {
+ }
+ }
+ class IncompatibleArgumentsType
+ {
+ /**
+ * @param ItemWithArguments $subject
+ * @param array $names
+ * @return int
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function beforeGetItem(\Magento\Framework\Interception\Test\Unit\Custom\Module\Model\InterfaceValidator\ItemWithArguments $subject, array $names)
+ {
+ }
+ }
+ class IncompatibleArgumentsCount
+ {
+ /**
+ * @param Item $subject
+ * @param string $name
+ * @param string $surname
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function beforeGetItem(\Magento\Framework\Interception\Test\Unit\Custom\Module\Model\InterfaceValidator\Item $subject, $name, $surname)
+ {
+ }
+ }
+ class IncompatibleInterface
+ {
+ /**
+ * @param $subject
+ * @param $invocationResult
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function afterGetName($subject, $invocationResult)
+ {
+ }
+ }
+ class InvalidProceed
+ {
+ /**
+ * @param Item $subject
+ * @param string $name
+ * @param string $surname
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function aroundGetItem(\Magento\Framework\Interception\Test\Unit\Custom\Module\Model\InterfaceValidator\Item $subject, $name, $surname)
+ {
+ }
+ }
+ class IncorrectSubject
+ {
+ /**
+ * @param Item $subject
+ * @return bool
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function beforeGetItem(\Magento\Framework\Interception\Test\Unit\Custom\Module\Model\Item $subject)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Custom\Module\Model\Item {
+ class Enhanced extends \Magento\Framework\Interception\Test\Unit\Custom\Module\Model\Item
+ {
+ /**
+ * @return string
+ */
+ public function getName()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Custom\Module\Model\StartingBackslash {
+ class Plugin
+ {
+ /**
+ * @return string
+ */
+ public function getName()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Custom\Module\Model\ItemPlugin {
+ class Advanced
+ {
+ /**
+ * @param $subject
+ * @param $proceed
+ * @param $argument
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function aroundGetName($subject, $proceed, $argument)
+ {
+ }
+ /**
+ * @param $subject
+ * @param $result
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function afterGetName($subject, $result)
+ {
+ }
+ }
+ class Simple
+ {
+ /**
+ * @param $subject
+ * @param $invocationResult
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function afterGetName($subject, $invocationResult)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Custom\Module\Model\ItemContainerPlugin {
+ class Simple
+ {
+ /**
+ * @param $subject
+ * @param $invocationResult
+ * @return string
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function afterGetName($subject, $invocationResult)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Code {
+ class InterfaceValidatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $argumentsReaderMock;
+ /**
+ * @var InterfaceValidator
+ */
+ protected $model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::getMethodParameters
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::getMethodType
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::getOriginMethodName
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::getParametersType
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::__construct
+ */
+ public function testValidate()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+ */
+ public function testValidateIncorrectInterface()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+ */
+ public function testValidateIncorrectSubjectType()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validateMethodsParameters
+ */
+ public function testValidateIncompatibleMethodArgumentsCount()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validateMethodsParameters
+ */
+ public function testValidateIncompatibleMethodArgumentsType()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+ */
+ public function testValidateExtraParameters()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+ */
+ public function testValidateInvalidProceed()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\Code\Generator {
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class InterceptorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Checks a test case when interceptor generates code for the specified class.
+ *
+ * @param string $className
+ * @param string $resultClassName
+ * @param string $fileName
+ * @dataProvider interceptorDataProvider
+ */
+ public function testGenerate($className, $resultClassName, $fileName)
+ {
+ }
+ /**
+ * Gets list of interceptor samples.
+ *
+ * @return array
+ */
+ public function interceptorDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Code\Generator {
+ class TSample
+ {
+ public function returnVoid() : void
+ {
+ }
+ /**
+ * @return null|string
+ */
+ public function getNullableValue() : ?string
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getValue() : string
+ {
+ }
+ /**
+ * @param string $value
+ */
+ public function setValue(string $value)
+ {
+ }
+ /**
+ * @param string ...$variadicValue
+ */
+ public function typeHintedFirstVariadicParameter(string ...$variadicValue)
+ {
+ }
+ /**
+ * @param string $value
+ * @param string ...$variadicValue
+ */
+ public function typeHintedSecondVariadicParameter(string $value, string ...$variadicValue)
+ {
+ }
+ /**
+ * @param string ...$variadicValue
+ */
+ public function byRefTypeHintedVariadic(string &...$variadicValue)
+ {
+ }
+ }
+ class Sample
+ {
+ public function getValue()
+ {
+ }
+ /**
+ * @param $value
+ */
+ public function setValue($value)
+ {
+ }
+ public function &getReference()
+ {
+ }
+ /**
+ * @param mixed ...$variadicValue
+ */
+ public function firstVariadicParameter(...$variadicValue)
+ {
+ }
+ /**
+ * @param $value
+ * @param mixed ...$variadicValue
+ */
+ public function secondVariadicParameter($value, ...$variadicValue)
+ {
+ }
+ /**
+ * @param mixed ...$variadicValue
+ */
+ public function byRefVariadic(&...$variadicValue)
+ {
+ }
+ }
+ class ReflectionIntersectionTypeSample extends \Magento\Backend\Model\Menu
+ {
+ /**
+ * @return ReflectionIntersectionTypeSample&Menu
+ */
+ public function getValue() : \Magento\Framework\Interception\Code\Generator\ReflectionIntersectionTypeSample&\Magento\Backend\Model\Menu
+ {
+ }
+ /**
+ * @param ReflectionIntersectionTypeSample&Menu $value
+ */
+ public function setValue(\Magento\Framework\Interception\Code\Generator\ReflectionIntersectionTypeSample&\Magento\Backend\Model\Menu $value)
+ {
+ }
+ }
+ class ReflectionUnionTypeSample
+ {
+ public function getValue() : int|string
+ {
+ }
+ /**
+ * @param int|string $value
+ */
+ public function setValue(int|string $value)
+ {
+ }
+ }
+ class SampleBackendMenu extends \Magento\Backend\Model\Menu
+ {
+ }
+}
+namespace Magento\Framework\Interception\Test\Unit\ObjectManager\Config {
+ class DeveloperTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testGetInstanceTypeReturnsInterceptorClass()
+ {
+ }
+ public function testGetInstanceTypeReturnsSimpleClassIfNoPluginsAreDeclared()
+ {
+ }
+ public function testGetInstanceTypeReturnsSimpleClassIfInterceptionConfigIsNotSet()
+ {
+ }
+ public function testGetOriginalInstanceTypeReturnsInterceptedClass()
+ {
+ }
+ /**
+ * Test correct instance type is returned when plugins are created for virtual type parents
+ *
+ * @return void
+ */
+ public function testGetInstanceTypeWithPluginOnVirtualTypeParent() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception {
+ /**
+ * Interface \Magento\Framework\Interception\ConfigInterface
+ * Interception config. Tells whether plugins have been added for type.
+ *
+ * @api
+ */
+ interface ConfigInterface
+ {
+ /**
+ * Check whether type has configured plugins
+ *
+ * @param string $type
+ * @return bool
+ */
+ public function hasPlugins($type);
+ /**
+ * Initialize interception config
+ *
+ * @param array $classDefinitions
+ * @return void
+ */
+ public function initialize($classDefinitions = []);
+ }
+}
+namespace Magento\Framework\Interception\Config {
+ /**
+ * Interception cache manager.
+ *
+ * Responsible for handling interaction with compiled and uncompiled interception data
+ */
+ class CacheManager
+ {
+ /**
+ * @param \Magento\Framework\Cache\FrontendInterface $cache
+ * @param \Magento\Framework\Serialize\SerializerInterface $serializer
+ * @param \Magento\Framework\App\ObjectManager\ConfigWriterInterface $configWriter
+ * @param \Magento\Framework\App\ObjectManager\ConfigLoader\Compiled $compiledLoader
+ */
+ public function __construct(\Magento\Framework\Cache\FrontendInterface $cache, \Magento\Framework\Serialize\SerializerInterface $serializer, \Magento\Framework\App\ObjectManager\ConfigWriterInterface $configWriter, \Magento\Framework\App\ObjectManager\ConfigLoader\Compiled $compiledLoader)
+ {
+ }
+ /**
+ * Load the interception config from cache
+ *
+ * @param string $key
+ * @return array|null
+ */
+ public function load(string $key) : ?array
+ {
+ }
+ /**
+ * Save config to cache backend
+ *
+ * @param string $key
+ * @param array $data
+ */
+ public function save(string $key, array $data)
+ {
+ }
+ /**
+ * Save config to filesystem
+ *
+ * @param string $key
+ * @param array $data
+ */
+ public function saveCompiled(string $key, array $data)
+ {
+ }
+ /**
+ * Purge interception cache
+ *
+ * @param string $key
+ */
+ public function clean(string $key)
+ {
+ }
+ }
+ /**
+ * Interception config.
+ *
+ * Responsible for providing list of plugins configured for instance
+ */
+ class Config implements \Magento\Framework\Interception\ConfigInterface
+ {
+ /**
+ * Type configuration
+ *
+ * @var \Magento\Framework\Interception\ObjectManager\ConfigInterface
+ */
+ protected $_omConfig;
+ /**
+ * Class relations info
+ *
+ * @var \Magento\Framework\ObjectManager\RelationsInterface
+ */
+ protected $_relations;
+ /**
+ * List of interceptable classes
+ *
+ * @var \Magento\Framework\ObjectManager\DefinitionInterface
+ */
+ protected $_classDefinitions;
+ /**
+ * Cache
+ * @deprecated 102.0.1
+ * @var \Magento\Framework\Cache\FrontendInterface
+ */
+ protected $_cache;
+ /**
+ * Cache identifier
+ *
+ * @var string
+ */
+ protected $_cacheId;
+ /**
+ * Configuration reader
+ *
+ * @var \Magento\Framework\Config\ReaderInterface
+ */
+ protected $_reader;
+ /**
+ * Inherited list of intercepted types
+ *
+ * @var array
+ */
+ protected $_intercepted = [];
+ /**
+ * List of class types that can not be pluginized
+ *
+ * @var array
+ */
+ protected $_serviceClassTypes = ['Interceptor'];
+ /**
+ * @var \Magento\Framework\Config\ScopeListInterface
+ */
+ protected $_scopeList;
+ /**
+ * Config constructor
+ *
+ * @param \Magento\Framework\Config\ReaderInterface $reader
+ * @param \Magento\Framework\Config\ScopeListInterface $scopeList
+ * @param \Magento\Framework\Cache\FrontendInterface $cache @deprecated
+ * @param \Magento\Framework\ObjectManager\RelationsInterface $relations
+ * @param \Magento\Framework\Interception\ObjectManager\ConfigInterface $omConfig
+ * @param \Magento\Framework\ObjectManager\DefinitionInterface $classDefinitions
+ * @param string $cacheId
+ * @param SerializerInterface|null $serializer @deprecated
+ * @param CacheManager $cacheManager
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function __construct(\Magento\Framework\Config\ReaderInterface $reader, \Magento\Framework\Config\ScopeListInterface $scopeList, \Magento\Framework\Cache\FrontendInterface $cache, \Magento\Framework\ObjectManager\RelationsInterface $relations, \Magento\Framework\Interception\ObjectManager\ConfigInterface $omConfig, \Magento\Framework\ObjectManager\DefinitionInterface $classDefinitions, $cacheId = 'interception', \Magento\Framework\Serialize\SerializerInterface $serializer = null, \Magento\Framework\Interception\Config\CacheManager $cacheManager = null)
+ {
+ }
+ /**
+ * Initialize interception config
+ *
+ * @param array $classDefinitions
+ * @return void
+ */
+ public function initialize($classDefinitions = [])
+ {
+ }
+ /**
+ * Process interception inheritance
+ *
+ * @param string $type
+ * @return bool
+ */
+ protected function _inheritInterception($type)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function hasPlugins($type)
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * Returns a reflection parameter's class if possible.
+ */
+ trait GetParameterClassTrait
+ {
+ /**
+ * Get class by reflection parameter
+ *
+ * @param ReflectionParameter $reflectionParameter
+ *
+ * @return ReflectionClass|null
+ * @throws ReflectionException
+ */
+ private function getParameterClass(\ReflectionParameter $reflectionParameter) : ?\ReflectionClass
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Code {
+ /**
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ class InterfaceValidator
+ {
+ use \Magento\Framework\GetParameterClassTrait;
+ public const METHOD_BEFORE = 'before';
+ public const METHOD_AROUND = 'around';
+ public const METHOD_AFTER = 'after';
+ /**
+ * Arguments reader model
+ *
+ * @var ArgumentsReader
+ */
+ protected $_argumentsReader;
+ /**
+ * List of optional packages
+ *
+ * @var array
+ */
+ public static array $optionalPackages = ['Swoole', 'OpenSwoole'];
+ /**
+ * @param ArgumentsReader $argumentsReader
+ */
+ public function __construct(\Magento\Framework\Code\Reader\ArgumentsReader $argumentsReader = null)
+ {
+ }
+ /**
+ * Validate plugin interface
+ *
+ * @param string $pluginClass
+ * @param string $interceptedType
+ *
+ * @return void
+ * @throws ValidatorException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ public function validate($pluginClass, $interceptedType)
+ {
+ }
+ /**
+ * Validate methods parameters compatibility
+ *
+ * @param array $pluginParameters
+ * @param array $originParameters
+ * @param string $class
+ * @param string $method
+ *
+ * @return void
+ * @throws ValidatorException
+ */
+ protected function validateMethodsParameters(array $pluginParameters, array $originParameters, $class, $method)
+ {
+ }
+ /**
+ * Get parameters type
+ *
+ * @param ReflectionParameter $parameter
+ *
+ * @return string
+ */
+ protected function getParametersType(\ReflectionParameter $parameter)
+ {
+ }
+ /**
+ * Get intercepted method name
+ *
+ * @param string $pluginMethodName
+ *
+ * @return string|null
+ */
+ protected function getOriginMethodName($pluginMethodName)
+ {
+ }
+ /**
+ * Get method type
+ *
+ * @param string $pluginMethodName
+ *
+ * @return null|string
+ */
+ protected function getMethodType($pluginMethodName)
+ {
+ }
+ /**
+ * Get method parameters
+ *
+ * @param \ReflectionMethod $method
+ *
+ * @return array
+ */
+ protected function getMethodParameters(\ReflectionMethod $method)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Code\Generator {
+ /**
+ * Abstract entity
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ abstract class EntityAbstract
+ {
+ use \Magento\Framework\GetParameterClassTrait;
+ /**
+ * Entity type abstract
+ */
+ public const ENTITY_TYPE = 'abstract';
+ /**
+ * Class generator object
+ *
+ * @var \Magento\Framework\Code\Generator\CodeGeneratorInterface
+ */
+ protected $_classGenerator;
+ /**
+ * @param null|string $sourceClassName
+ * @param null|string $resultClassName
+ * @param Io $ioObject
+ * @param \Magento\Framework\Code\Generator\CodeGeneratorInterface $classGenerator
+ * @param DefinedClasses $definedClasses
+ */
+ public function __construct($sourceClassName = null, $resultClassName = null, \Magento\Framework\Code\Generator\Io $ioObject = null, \Magento\Framework\Code\Generator\CodeGeneratorInterface $classGenerator = null, \Magento\Framework\Code\Generator\DefinedClasses $definedClasses = null)
+ {
+ }
+ /**
+ * Generation template method
+ *
+ * @return bool
+ */
+ public function generate()
+ {
+ }
+ /**
+ * List of occurred generation errors
+ *
+ * @return string[]
+ */
+ public function getErrors()
+ {
+ }
+ /**
+ * Get full source class name, with namespace
+ *
+ * @return string
+ */
+ public function getSourceClassName()
+ {
+ }
+ /**
+ * Get source class without namespace.
+ *
+ * @return string
+ */
+ public function getSourceClassNameWithoutNamespace()
+ {
+ }
+ /**
+ * Get fully qualified class name
+ *
+ * @param string $className
+ * @return string
+ */
+ protected function _getFullyQualifiedClassName($className)
+ {
+ }
+ /**
+ * Get result class name
+ *
+ * @return string
+ */
+ protected function _getResultClassName()
+ {
+ }
+ /**
+ * Get default result class name
+ *
+ * @param string $modelClassName
+ * @return string
+ */
+ protected function _getDefaultResultClassName($modelClassName)
+ {
+ }
+ /**
+ * Returns list of properties for class generator
+ *
+ * @return array
+ */
+ protected function _getClassProperties()
+ {
+ }
+ /**
+ * Get default constructor definition for generated class
+ *
+ * @return array
+ */
+ protected abstract function _getDefaultConstructorDefinition();
+ /**
+ * Returns list of methods for class generator
+ *
+ * @return array
+ */
+ protected abstract function _getClassMethods();
+ /**
+ * Generate code
+ *
+ * @return string
+ */
+ protected function _generateCode()
+ {
+ }
+ /**
+ * Add error message
+ *
+ * @param string $message
+ * @return $this
+ */
+ protected function _addError($message)
+ {
+ }
+ /**
+ * Validate data
+ *
+ * @return bool
+ */
+ protected function _validateData()
+ {
+ }
+ /**
+ * Get class DocBlock
+ *
+ * @return array
+ */
+ protected function _getClassDocBlock()
+ {
+ }
+ /**
+ * Get generated code
+ *
+ * @return string
+ */
+ protected function _getGeneratedCode()
+ {
+ }
+ /**
+ * Fix code style
+ *
+ * @param string $sourceCode
+ * @return string
+ */
+ protected function _fixCodeStyle($sourceCode)
+ {
+ }
+ /**
+ * Get value generator for null default value
+ *
+ * @return ValueGenerator
+ */
+ protected function _getNullDefaultValue()
+ {
+ }
+ /**
+ * Retrieve method parameter info
+ *
+ * @param \ReflectionParameter $parameter
+ * @return array
+ * @throws \ReflectionException
+ */
+ protected function _getMethodParameterInfo(\ReflectionParameter $parameter)
+ {
+ }
+ /**
+ * Reinit generator
+ *
+ * @param string $sourceClassName
+ * @param string $resultClassName
+ * @return void
+ */
+ public function init($sourceClassName, $resultClassName)
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * Returns the return type of reflection method
+ */
+ trait GetReflectionMethodReturnTypeValueTrait
+ {
+ /**
+ * Get return type
+ *
+ * @param \ReflectionMethod $method
+ * @return string|null
+ */
+ private function getReturnTypeValue(\ReflectionMethod $method) : ?string
+ {
+ }
+ /**
+ * Get return type values for Intersection|Union types
+ *
+ * @param \ReflectionIntersectionType|\ReflectionUnionType $returnType
+ * @param \ReflectionMethod $method
+ * @return string|null
+ */
+ private function getReturnTypeValues(\ReflectionIntersectionType|\ReflectionUnionType $returnType, \ReflectionMethod $method) : ?string
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\Code\Generator {
+ class Interceptor extends \Magento\Framework\Code\Generator\EntityAbstract
+ {
+ use \Magento\Framework\GetReflectionMethodReturnTypeValueTrait;
+ public const ENTITY_TYPE = 'interceptor';
+ /**
+ * Returns default result class name
+ *
+ * @param string $modelClassName
+ * @return string
+ */
+ protected function _getDefaultResultClassName($modelClassName)
+ {
+ }
+ /**
+ * Returns list of properties for class generator
+ *
+ * @return array
+ */
+ protected function _getClassProperties()
+ {
+ }
+ /**
+ * Get default constructor definition for generated class
+ *
+ * @return array
+ */
+ protected function _getDefaultConstructorDefinition()
+ {
+ }
+ /**
+ * Returns list of methods for class generator
+ *
+ * @return array
+ */
+ protected function _getClassMethods()
+ {
+ }
+ /**
+ * Whether method is intercepted
+ *
+ * @param \ReflectionMethod $method
+ * @return bool
+ */
+ protected function isInterceptedMethod(\ReflectionMethod $method)
+ {
+ }
+ /**
+ * Retrieve method info
+ *
+ * @param \ReflectionMethod $method
+ * @return array
+ */
+ protected function _getMethodInfo(\ReflectionMethod $method)
+ {
+ }
+ /**
+ * Return parameters list
+ *
+ * @param array $parameters
+ * @return string
+ */
+ protected function _getParameterList(array $parameters)
+ {
+ }
+ /**
+ * Generate resulting class source code
+ *
+ * @return string
+ */
+ protected function _generateCode()
+ {
+ }
+ /**
+ * Validates data
+ *
+ * @return bool
+ */
+ protected function _validateData()
+ {
+ }
+ }
+}
+namespace Magento\Framework\ObjectManager {
+ /**
+ * Interface \Magento\Framework\ObjectManager\ConfigInterface
+ *
+ * @api
+ */
+ interface ConfigInterface
+ {
+ /**
+ * Set class relations
+ *
+ * @param RelationsInterface $relations
+ *
+ * @return void
+ */
+ public function setRelations(\Magento\Framework\ObjectManager\RelationsInterface $relations);
+ /**
+ * Set configuration cache instance
+ *
+ * @param ConfigCacheInterface $cache
+ *
+ * @return void
+ */
+ public function setCache(\Magento\Framework\ObjectManager\ConfigCacheInterface $cache);
+ /**
+ * Retrieve list of arguments per type
+ *
+ * @param string $type
+ * @return array|null
+ */
+ public function getArguments($type);
+ /**
+ * Check whether type is shared
+ *
+ * @param string $type
+ * @return bool
+ */
+ public function isShared($type);
+ /**
+ * Retrieve instance type
+ *
+ * @param string $instanceName
+ * @return mixed
+ */
+ public function getInstanceType($instanceName);
+ /**
+ * Retrieve preference for type
+ *
+ * @param string $type
+ * @return string
+ * @throws \LogicException
+ */
+ public function getPreference($type);
+ /**
+ * Returns list of virtual types
+ *
+ * @return array
+ */
+ public function getVirtualTypes();
+ /**
+ * Extend configuration
+ *
+ * @param array $configuration
+ * @return void
+ */
+ public function extend(array $configuration);
+ /**
+ * Returns list on preferences
+ *
+ * @return array
+ */
+ public function getPreferences();
+ }
+}
+namespace Magento\Framework\Interception\ObjectManager {
+ /**
+ * Interface \Magento\Framework\Interception\ObjectManager\ConfigInterface
+ *
+ * @api
+ */
+ interface ConfigInterface extends \Magento\Framework\ObjectManager\ConfigInterface
+ {
+ /**
+ * Set Interception config
+ *
+ * @param \Magento\Framework\Interception\ConfigInterface $interceptionConfig
+ * @return void
+ */
+ public function setInterceptionConfig(\Magento\Framework\Interception\ConfigInterface $interceptionConfig);
+ /**
+ * Retrieve instance type without interception processing
+ *
+ * @param string $instanceName
+ * @return string
+ */
+ public function getOriginalInstanceType($instanceName);
+ }
+}
+namespace Magento\Framework\ObjectManager\Config {
+ class Config implements \Magento\Framework\ObjectManager\ConfigInterface
+ {
+ /**
+ * Config cache
+ *
+ * @var ConfigCacheInterface
+ */
+ protected $_cache;
+ /**
+ * Class definitions
+ *
+ * @var DefinitionInterface
+ */
+ protected $_definitions;
+ /**
+ *
+ * @var string
+ */
+ protected $_currentCacheKey;
+ /**
+ * Interface preferences
+ *
+ * @var array
+ */
+ protected $_preferences = [];
+ /**
+ *
+ * @var array
+ */
+ protected $_virtualTypes = [];
+ /**
+ * Instance arguments
+ *
+ * @var array
+ */
+ protected $_arguments = [];
+ /**
+ * Type shareability
+ *
+ * @var array
+ */
+ protected $_nonShared = [];
+ /**
+ * List of relations
+ *
+ * @var RelationsInterface
+ */
+ protected $_relations;
+ /**
+ * List of merged arguments
+ *
+ * @var array
+ */
+ protected $_mergedArguments;
+ /**
+ * @param RelationsInterface|null $relations
+ * @param DefinitionInterface|null $definitions
+ * @param SortItemsHelper|null $sortItemsHelper
+ */
+ public function __construct(\Magento\Framework\ObjectManager\RelationsInterface $relations = null, \Magento\Framework\ObjectManager\DefinitionInterface $definitions = null, \Magento\Framework\ObjectManager\Helper\SortItems $sortItemsHelper = null)
+ {
+ }
+ /**
+ * Set class relations
+ *
+ * @param RelationsInterface $relations
+ * @return void
+ */
+ public function setRelations(\Magento\Framework\ObjectManager\RelationsInterface $relations)
+ {
+ }
+ /**
+ * Set cache instance
+ *
+ * @param ConfigCacheInterface $cache
+ * @return void
+ */
+ public function setCache(\Magento\Framework\ObjectManager\ConfigCacheInterface $cache)
+ {
+ }
+ /**
+ * Retrieve list of arguments per type
+ *
+ * @param string $type
+ * @return array
+ */
+ public function getArguments($type)
+ {
+ }
+ /**
+ * Check whether type is shared
+ *
+ * @param string $type
+ * @return bool
+ */
+ public function isShared($type)
+ {
+ }
+ /**
+ * Retrieve instance type
+ *
+ * @param string $instanceName
+ * @return mixed
+ */
+ public function getInstanceType($instanceName)
+ {
+ }
+ /**
+ * Retrieve preference for type
+ *
+ * @param string $type
+ * @return string
+ * @throws \LogicException
+ */
+ public function getPreference($type)
+ {
+ }
+ /**
+ * Collect parent types configuration for requested type
+ *
+ * @param string $type
+ * @return array
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function _collectConfiguration($type) : array
+ {
+ }
+ /**
+ * Merge configuration
+ *
+ * @param array $configuration
+ * @return void
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function _mergeConfiguration(array $configuration)
+ {
+ }
+ /**
+ * Extend configuration
+ *
+ * @param array $configuration
+ * @return void
+ */
+ public function extend(array $configuration)
+ {
+ }
+ /**
+ * Returns list of virtual types
+ *
+ * @return array
+ */
+ public function getVirtualTypes()
+ {
+ }
+ /**
+ * Returns list on preferences
+ *
+ * @return array
+ */
+ public function getPreferences()
+ {
+ }
+ /**
+ * Disable show internals with var_dump
+ *
+ * @see https://www.php.net/manual/en/language.oop5.magic.php#object.debuginfo
+ * @return array
+ */
+ public function __debugInfo()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\ObjectManager\Config {
+ class Developer extends \Magento\Framework\ObjectManager\Config\Config implements \Magento\Framework\Interception\ObjectManager\ConfigInterface
+ {
+ /**
+ * @param RelationsInterface $relations
+ * @param DefinitionInterface $definitions
+ * @param InterceptableValidator $interceptableValidator
+ */
+ public function __construct(\Magento\Framework\ObjectManager\RelationsInterface $relations = null, \Magento\Framework\ObjectManager\DefinitionInterface $definitions = null, \Magento\Framework\ObjectManager\InterceptableValidator $interceptableValidator = null)
+ {
+ }
+ /**
+ * @var \Magento\Framework\Interception\ConfigInterface
+ */
+ protected $interceptionConfig;
+ /**
+ * Set Interception config
+ *
+ * @param \Magento\Framework\Interception\ConfigInterface $interceptionConfig
+ * @return void
+ */
+ public function setInterceptionConfig(\Magento\Framework\Interception\ConfigInterface $interceptionConfig)
+ {
+ }
+ /**
+ * Retrieve instance type with interception processing
+ *
+ * @param string $instanceName
+ * @return string
+ */
+ public function getInstanceType($instanceName)
+ {
+ }
+ /**
+ * Retrieve instance type without interception processing
+ *
+ * @param string $instanceName
+ * @return string
+ */
+ public function getOriginalInstanceType($instanceName)
+ {
+ }
+ }
+}
+namespace Magento\Framework\ObjectManager\Config {
+ /**
+ * Provides object manager configuration when in compiled mode
+ */
+ class Compiled implements \Magento\Framework\ObjectManager\ConfigInterface
+ {
+ /**
+ * @param array $data
+ */
+ public function __construct($data)
+ {
+ }
+ /**
+ * Set class relations
+ *
+ * @param RelationsInterface $relations
+ *
+ * @return void
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ * phpcs:disable Magento2.CodeAnalysis.EmptyBlock
+ */
+ public function setRelations(\Magento\Framework\ObjectManager\RelationsInterface $relations)
+ {
+ }
+ /**
+ * Set configuration cache instance
+ *
+ * @param ConfigCacheInterface $cache
+ *
+ * @return void
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function setCache(\Magento\Framework\ObjectManager\ConfigCacheInterface $cache)
+ {
+ }
+ // phpcs:enable Magento2.CodeAnalysis.EmptyBlock
+ /**
+ * Retrieve list of arguments per type
+ *
+ * @param string $type
+ * @return array
+ */
+ public function getArguments($type)
+ {
+ }
+ /**
+ * Check whether type is shared
+ *
+ * @param string $type
+ * @return bool
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function isShared($type)
+ {
+ }
+ /**
+ * Retrieve instance type
+ *
+ * @param string $instanceName
+ * @return mixed
+ */
+ public function getInstanceType($instanceName)
+ {
+ }
+ /**
+ * Retrieve preference for type
+ *
+ * @param string $type
+ * @return string
+ * @throws \LogicException
+ */
+ public function getPreference($type)
+ {
+ }
+ /**
+ * Extend configuration
+ *
+ * @param array $configuration
+ * @return void
+ */
+ public function extend(array $configuration)
+ {
+ }
+ /**
+ * Retrieve all virtual types
+ *
+ * @return string
+ */
+ public function getVirtualTypes()
+ {
+ }
+ /**
+ * Returns list on preferences
+ *
+ * @return array
+ */
+ public function getPreferences()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception\ObjectManager\Config {
+ class Compiled extends \Magento\Framework\ObjectManager\Config\Compiled implements \Magento\Framework\Interception\ObjectManager\ConfigInterface
+ {
+ /**
+ * @var \Magento\Framework\Interception\ConfigInterface
+ */
+ protected $interceptionConfig;
+ /**
+ * Set Interception config
+ *
+ * @param \Magento\Framework\Interception\ConfigInterface $interceptionConfig
+ * @return void
+ */
+ public function setInterceptionConfig(\Magento\Framework\Interception\ConfigInterface $interceptionConfig)
+ {
+ }
+ /**
+ * Retrieve instance type without interception processing
+ *
+ * @param string $instanceName
+ * @return string
+ */
+ public function getOriginalInstanceType($instanceName)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Interception {
+ /**
+ * Interceptor trait that contains the common logic for all interceptor classes.
+ *
+ * A trait is used because our interceptor classes need to extend the class that they are intercepting.
+ *
+ * Any class using this trait is required to implement \Magento\Framework\Interception\InterceptorInterface
+ *
+ * @see \Magento\Framework\Interception\InterceptorInterface
+ */
+ trait Interceptor
+ {
+ /**
+ * List of plugins
+ *
+ * @var PluginListInterface
+ */
+ private $pluginList;
+ /**
+ * Subject type name
+ *
+ * @var string
+ */
+ private $subjectType;
+ /**
+ * Initialize the Interceptor
+ *
+ * @return void
+ */
+ public function ___init()
+ {
+ }
+ /**
+ * Calls parent class method
+ *
+ * @param string $method
+ * @param array $arguments
+ * @return mixed
+ */
+ public function ___callParent($method, array $arguments)
+ {
+ }
+ /**
+ * Calls parent class sleep if defined, otherwise provides own implementation
+ *
+ * @return array
+ */
+ public function __sleep()
+ {
+ }
+ /**
+ * Causes Interceptor to be initialized
+ *
+ * @return void
+ */
+ public function __wakeup()
+ {
+ }
+ /**
+ * Calls plugins for a given method.
+ *
+ * @param string $method
+ * @param array $arguments
+ * @param array $pluginInfo
+ * @return mixed|null
+ */
+ protected function ___callPlugins($method, array $arguments, array $pluginInfo)
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * @api
+ */
+ class EventFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * @param array $arguments
+ * @return Event
+ */
+ public function create($arguments = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Console {
+ /**
+ * Contains a list of Console commands
+ * @api
+ * @since 100.0.2
+ */
+ interface CommandListInterface
+ {
+ /**
+ * Gets list of command instances
+ *
+ * @return \Symfony\Component\Console\Command\Command[]
+ */
+ public function getCommands();
+ }
+ /**
+ * Magento 2 CLI Application.
+ *
+ * This is the hood for all command line tools supported by Magento.
+ *
+ * @api
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class Cli extends \Symfony\Component\Console\Application
+ {
+ /**
+ * Name of input option.
+ */
+ public const INPUT_KEY_BOOTSTRAP = 'bootstrap';
+ /**#@+
+ * Cli exit codes.
+ */
+ public const RETURN_SUCCESS = 0;
+ public const RETURN_FAILURE = 1;
+ /**
+ * @param string $name the application name
+ * @param string $version the application version
+ */
+ public function __construct($name = 'UNKNOWN', $version = 'UNKNOWN')
+ {
+ }
+ /**
+ * @inheritdoc
+ *
+ * @throws \Exception The exception in case of unexpected error
+ */
+ public function doRun(\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function getDefaultCommands() : array
+ {
+ }
+ /**
+ * Gets application commands.
+ *
+ * @return array a list of available application commands
+ */
+ protected function getApplicationCommands()
+ {
+ }
+ /**
+ * Retrieves vendor commands.
+ *
+ * @param ObjectManagerInterface $objectManager the object manager
+ *
+ * @return array an array with external commands
+ */
+ protected function getVendorCommands($objectManager)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Console\Test\Unit {
+ /**
+ * Test for Magento\Framework\Console\Cli class.
+ */
+ class CliTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Make sure exception message is displayed and trace is logged.
+ */
+ public function testDoRunExceptionLogging()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Console\Test\Unit\QuestionPerformer {
+ class YesNoTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * {@inheritdoc}
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $answer
+ * @param bool $expectedResult
+ * @dataProvider executeDataProvider
+ */
+ public function testExecute($answer, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function executeDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Console\Test\Unit\Exception {
+ class GenerationDirectoryAccessExceptionTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testConstructor()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Console\QuestionPerformer {
+ /**
+ * Asks a questions to the user.
+ */
+ class YesNo
+ {
+ /**
+ * @param QuestionHelper $questionHelper Provides helpers to interact with the user
+ * @param QuestionFactory $questionFactory The factory for creating Question objects
+ */
+ public function __construct(\Symfony\Component\Console\Helper\QuestionHelper $questionHelper, \Symfony\Component\Console\Question\QuestionFactory $questionFactory)
+ {
+ }
+ /**
+ * Asks a question to the user. The question is generates from given array of messages.
+ *
+ * @param string[] $messages The array of messages for creating a question
+ * @param InputInterface $input An InputInterface instance
+ * @param OutputInterface $output An OutputInterface instance
+ * @return bool
+ */
+ public function execute(array $messages, \Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Console {
+ /**
+ * Class CommandList has a list of commands, which can be extended via DI configuration.
+ */
+ class CommandList implements \Magento\Framework\Console\CommandListInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $commands;
+ /**
+ * Constructor
+ *
+ * @param array $commands
+ */
+ public function __construct(array $commands = [])
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getCommands()
+ {
+ }
+ }
+ /**
+ * Locator for Console commands
+ */
+ class CommandLocator
+ {
+ /**
+ * @param string $commandListClass
+ * @return void
+ */
+ public static function register($commandListClass)
+ {
+ }
+ /**
+ * @return string[]
+ */
+ public static function getCommands()
+ {
+ }
+ }
+ /**
+ * Check generated/code read and write access
+ */
+ class GenerationDirectoryAccess
+ {
+ /**
+ * @param ServiceManager $serviceManager
+ */
+ public function __construct(\Laminas\ServiceManager\ServiceManager $serviceManager)
+ {
+ }
+ /**
+ * Check write permissions to generation folders
+ *
+ * @return bool
+ */
+ public function check()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Exception {
+ /**
+ * Magento filesystem exception
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class FileSystemException extends \Magento\Framework\Exception\LocalizedException
+ {
+ }
+}
+namespace Magento\Framework\Console\Exception {
+ /**
+ * The default exception for missing write permissions on compilation generated folder.
+ */
+ class GenerationDirectoryAccessException extends \Magento\Framework\Exception\FileSystemException
+ {
+ /**
+ * @inheritdoc
+ */
+ public function __construct(\Magento\Framework\Phrase $phrase = null, \Exception $cause = null, $code = 0)
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * Factory class for \Magento\Framework\Validator
+ *
+ * @api
+ */
+ class ValidatorFactory
+ {
+ const DEFAULT_INSTANCE_NAME = \Magento\Framework\Validator::class;
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager = null;
+ /**
+ * Instance name to create
+ *
+ * @var string
+ */
+ protected $_instanceName = null;
+ /**
+ * Factory constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = self::DEFAULT_INSTANCE_NAME)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @param string $instanceName
+ * @return \Magento\Framework\Validator
+ */
+ public function create(array $data = [], $instanceName = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Topology {
+ /**
+ * Exchange binding installer.
+ *
+ * @api
+ */
+ interface BindingInstallerInterface
+ {
+ /**
+ * Install exchange bindings.
+ *
+ * @param AMQPChannel $channel
+ * @param BindingInterface $binding
+ * @param string $exchangeName
+ * @return void
+ */
+ public function install(\PhpAmqpLib\Channel\AMQPChannel $channel, \Magento\Framework\MessageQueue\Topology\Config\ExchangeConfigItem\BindingInterface $binding, $exchangeName);
+ }
+ /**
+ * @deprecated 103.0.0
+ * see: https://github.com/php-amqplib/php-amqplib/issues/405
+ */
+ trait ArgumentProcessor
+ {
+ /**
+ * Process arguments
+ *
+ * @param array $arguments
+ * @return array
+ */
+ public function processArguments($arguments) : array
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Topology\BindingInstallerType {
+ /**
+ * {@inheritdoc}
+ */
+ class Exchange implements \Magento\Framework\Amqp\Topology\BindingInstallerInterface
+ {
+ use \Magento\Framework\Amqp\Topology\ArgumentProcessor;
+ /**
+ * {@inheritdoc}
+ */
+ public function install(\PhpAmqpLib\Channel\AMQPChannel $channel, \Magento\Framework\MessageQueue\Topology\Config\ExchangeConfigItem\BindingInterface $binding, $exchangeName)
+ {
+ }
+ }
+ /**
+ * {@inheritdoc}
+ */
+ class Queue implements \Magento\Framework\Amqp\Topology\BindingInstallerInterface
+ {
+ use \Magento\Framework\Amqp\Topology\ArgumentProcessor;
+ /**
+ * {@inheritdoc}
+ */
+ public function install(\PhpAmqpLib\Channel\AMQPChannel $channel, \Magento\Framework\MessageQueue\Topology\Config\ExchangeConfigItem\BindingInterface $binding, $exchangeName)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Topology {
+ /**
+ * Queue installer.
+ */
+ class QueueInstaller
+ {
+ use \Magento\Framework\Amqp\Topology\ArgumentProcessor;
+ /**
+ * Install queue.
+ *
+ * @param \PhpAmqpLib\Channel\AMQPChannel $channel
+ * @param QueueConfigItemInterface $queue
+ * @return void
+ */
+ public function install(\PhpAmqpLib\Channel\AMQPChannel $channel, \Magento\Framework\MessageQueue\Topology\Config\QueueConfigItemInterface $queue)
+ {
+ }
+ }
+ /**
+ * {@inheritdoc}
+ */
+ class BindingInstaller implements \Magento\Framework\Amqp\Topology\BindingInstallerInterface
+ {
+ /**
+ * Initialize dependencies.
+ *
+ * @param BindingInstallerInterface[] $installers
+ */
+ public function __construct(array $installers)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function install(\PhpAmqpLib\Channel\AMQPChannel $channel, \Magento\Framework\MessageQueue\Topology\Config\ExchangeConfigItem\BindingInterface $binding, $exchangeName)
+ {
+ }
+ }
+ /**
+ * Exchange installer.
+ */
+ class ExchangeInstaller
+ {
+ use \Magento\Framework\Amqp\Topology\ArgumentProcessor;
+ /**
+ * Initialize dependencies.
+ *
+ * @param BindingInstallerInterface $bindingInstaller
+ */
+ public function __construct(\Magento\Framework\Amqp\Topology\BindingInstallerInterface $bindingInstaller)
+ {
+ }
+ /**
+ * Install exchange.
+ *
+ * @param \PhpAmqpLib\Channel\AMQPChannel $channel
+ * @param ExchangeConfigItemInterface $exchange
+ * @return void
+ */
+ public function install(\PhpAmqpLib\Channel\AMQPChannel $channel, \Magento\Framework\MessageQueue\Topology\Config\ExchangeConfigItemInterface $exchange)
+ {
+ }
+ }
+}
+namespace Magento\Framework\MessageQueue {
+ /**
+ * Interface message Exchange
+ *
+ * @api
+ * @since 103.0.0
+ * @since 100.0.2
+ */
+ interface ExchangeInterface
+ {
+ /**
+ * Send message
+ *
+ * @param string $topic
+ * @param EnvelopeInterface $envelope
+ * @return mixed
+ * @since 103.0.0
+ */
+ public function enqueue($topic, \Magento\Framework\MessageQueue\EnvelopeInterface $envelope);
+ }
+}
+namespace Magento\Framework\Amqp {
+ /**
+ * Class message exchange.
+ *
+ * @api
+ * @since 103.0.0
+ */
+ class Exchange implements \Magento\Framework\MessageQueue\ExchangeInterface
+ {
+ const RPC_CONNECTION_TIMEOUT = 30;
+ /**
+ * Initialize dependencies.
+ *
+ * @param Config $amqpConfig
+ * @param PublisherConfig $publisherConfig
+ * @param ResponseQueueNameBuilder $responseQueueNameBuilder
+ * @param CommunicationConfigInterface $communicationConfig
+ * @param int $rpcConnectionTimeout
+ */
+ public function __construct(\Magento\Framework\Amqp\Config $amqpConfig, \Magento\Framework\MessageQueue\Publisher\ConfigInterface $publisherConfig, \Magento\Framework\MessageQueue\Rpc\ResponseQueueNameBuilder $responseQueueNameBuilder, \Magento\Framework\Communication\ConfigInterface $communicationConfig, $rpcConnectionTimeout = self::RPC_CONNECTION_TIMEOUT)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ * @since 103.0.0
+ */
+ public function enqueue($topic, \Magento\Framework\MessageQueue\EnvelopeInterface $envelope)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Connection {
+ /**
+ * Create connection based on options.
+ */
+ class Factory
+ {
+ /**
+ * Create connection according to given options.
+ *
+ * @param FactoryOptions $options
+ * @return AbstractConnection
+ */
+ public function create(\Magento\Framework\Amqp\Connection\FactoryOptions $options) : \PhpAmqpLib\Connection\AbstractConnection
+ {
+ }
+ }
+ /**
+ * Options a connection will be created according to.
+ */
+ class FactoryOptions
+ {
+ /**
+ * @return string
+ */
+ public function getHost() : string
+ {
+ }
+ /**
+ * @param string $host
+ *
+ * @return void
+ */
+ public function setHost(string $host)
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getPort() : string
+ {
+ }
+ /**
+ * @param string $port
+ *
+ * @return void
+ */
+ public function setPort(string $port)
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getUsername() : string
+ {
+ }
+ /**
+ * @param string $username
+ *
+ * @return void
+ */
+ public function setUsername(string $username)
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getPassword() : string
+ {
+ }
+ /**
+ * @param string $password
+ *
+ * @return void
+ */
+ public function setPassword(string $password)
+ {
+ }
+ /**
+ * @return string|null
+ */
+ public function getVirtualHost()
+ {
+ }
+ /**
+ * @param string|null $virtualHost
+ *
+ * @return void
+ */
+ public function setVirtualHost(string $virtualHost = null)
+ {
+ }
+ /**
+ * @return bool
+ */
+ public function isSslEnabled() : bool
+ {
+ }
+ /**
+ * @param bool $sslEnabled
+ *
+ * @return void
+ */
+ public function setSslEnabled(bool $sslEnabled)
+ {
+ }
+ /**
+ * @return array|null
+ */
+ public function getSslOptions()
+ {
+ }
+ /**
+ * @param array|null $sslOptions
+ *
+ * @return void
+ */
+ public function setSslOptions(array $sslOptions = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\MessageQueue {
+ /**
+ * Interface for interaction with message queue.
+ *
+ * @api
+ * @since 103.0.0
+ * @since 100.0.2
+ */
+ interface QueueInterface
+ {
+ /**
+ * Get message from queue
+ *
+ * @return EnvelopeInterface
+ * @since 103.0.0
+ */
+ public function dequeue();
+ /**
+ * Acknowledge message delivery
+ *
+ * @param EnvelopeInterface $envelope
+ * @return void
+ * @since 103.0.0
+ */
+ public function acknowledge(\Magento\Framework\MessageQueue\EnvelopeInterface $envelope);
+ /**
+ * Wait for messages and dispatch them
+ *
+ * @param callable|array $callback
+ * @return void
+ * @since 103.0.0
+ */
+ public function subscribe($callback);
+ /**
+ * Reject message
+ *
+ * @param EnvelopeInterface $envelope
+ * @param bool $requeue
+ * @param string $rejectionMessage
+ * @return void
+ * @since 103.0.0
+ */
+ public function reject(\Magento\Framework\MessageQueue\EnvelopeInterface $envelope, $requeue = true, $rejectionMessage = null);
+ /**
+ * Push message to queue directly, without using exchange
+ *
+ * @param EnvelopeInterface $envelope
+ * @return void
+ * @since 103.0.0
+ */
+ public function push(\Magento\Framework\MessageQueue\EnvelopeInterface $envelope);
+ }
+}
+namespace Magento\Framework\Amqp {
+ /**
+ * @api
+ * @since 103.0.0
+ */
+ class Queue implements \Magento\Framework\MessageQueue\QueueInterface
+ {
+ /**
+ * Initialize dependencies.
+ *
+ * @param Config $amqpConfig
+ * @param EnvelopeFactory $envelopeFactory
+ * @param string $queueName
+ * @param LoggerInterface $logger
+ * @param int $prefetchCount
+ */
+ public function __construct(\Magento\Framework\Amqp\Config $amqpConfig, \Magento\Framework\MessageQueue\EnvelopeFactory $envelopeFactory, $queueName, \Psr\Log\LoggerInterface $logger, $prefetchCount = 100)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 103.0.0
+ */
+ public function dequeue()
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 103.0.0
+ */
+ public function acknowledge(\Magento\Framework\MessageQueue\EnvelopeInterface $envelope)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 103.0.0
+ */
+ public function subscribe($callback)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 103.0.0
+ */
+ public function reject(\Magento\Framework\MessageQueue\EnvelopeInterface $envelope, $requeue = true, $rejectionMessage = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 103.0.0
+ */
+ public function push(\Magento\Framework\MessageQueue\EnvelopeInterface $envelope)
+ {
+ }
+ }
+ /**
+ * Class Topology creates topology for Amqp messaging
+ */
+ class TopologyInstaller
+ {
+ /**
+ * @var \Psr\Log\LoggerInterface
+ */
+ protected $logger;
+ /**
+ * Initialize dependencies.
+ *
+ * @param ConfigInterface $topologyConfig
+ * @param ExchangeInstaller $exchangeInstaller
+ * @param ConfigPool $configPool
+ * @param QueueInstaller $queueInstaller
+ * @param ConnectionTypeResolver $connectionTypeResolver
+ * @param \Psr\Log\LoggerInterface $logger
+ */
+ public function __construct(\Magento\Framework\MessageQueue\Topology\ConfigInterface $topologyConfig, \Magento\Framework\Amqp\Topology\ExchangeInstaller $exchangeInstaller, \Magento\Framework\Amqp\ConfigPool $configPool, \Magento\Framework\Amqp\Topology\QueueInstaller $queueInstaller, \Magento\Framework\Amqp\ConnectionTypeResolver $connectionTypeResolver, \Psr\Log\LoggerInterface $logger)
+ {
+ }
+ /**
+ * Install Amqp Exchanges, Queues and bind them
+ *
+ * @return void
+ */
+ public function install()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Test\Unit {
+ class ConfigPoolTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testGetConnection()
+ {
+ }
+ public function testCloseConnections() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Test\Unit\Topology {
+ class ExchangeInstallerTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testInstall()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Test\Unit\Topology\BindingInstallerType {
+ class ExchangeTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testInstall()
+ {
+ }
+ }
+ class QueueTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testInstall()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Test\Unit\Topology {
+ class QueueInstallerTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testInstall()
+ {
+ }
+ }
+ class BindingInstallerTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testInstall()
+ {
+ }
+ public function testInstallInvalidType()
+ {
+ }
+ }
+ class ArgumentProcessorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @return void
+ */
+ public function testProcessArgumentsWhenAnyArgumentIsIncorrect() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testProcessArgumentsWhenAllArgumentAreCorrect() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ protected function setUp() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Test\Unit\Connection {
+ /**
+ * Tests \Magento\Framework\Amqp\Connection\Factory.
+ */
+ class FactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param bool $sslEnabled
+ * @param string $connectionClass
+ * @return void
+ * @dataProvider connectionDataProvider
+ */
+ public function testSSLConnection($sslEnabled, $connectionClass)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function connectionDataProvider()
+ {
+ }
+ protected function tearDown() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Test\Unit {
+ class QueueTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test verifies that prefetch value is used to specify how many messages
+ * are being sent to the consumer at the same time.
+ */
+ public function testSubscribe()
+ {
+ }
+ }
+ class ConnectionTypeResolverTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGetConnectionType()
+ {
+ }
+ }
+ class ConfigTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testGetNullConfig()
+ {
+ }
+ public function testGetEmptyConfig()
+ {
+ }
+ public function testGetStandardConfig()
+ {
+ }
+ public function testGetCustomConfig()
+ {
+ }
+ /**
+ * @param array $config
+ * @param array $expected
+ * @return void
+ * @dataProvider configDataProvider
+ */
+ public function testCreateConnection(array $config, array $expected) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function configDataProvider() : array
+ {
+ }
+ public function testGetChannel() : void
+ {
+ }
+ public function testGetChannelWithoutConnection() : void
+ {
+ }
+ public function testGetChannelWithDisconnectedConnection() : void
+ {
+ }
+ }
+ /**
+ * Unit tests for @see \Magento\Framework\Amqp\TopologyInstaller
+ */
+ class TopologyInstallerTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Initialize topology installer.
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Make sure that topology creation errors in log contain actual error message.
+ */
+ public function testInstallException()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp\Test\Unit\Bulk {
+ /**
+ * Unit test for Exchange model.
+ */
+ class ExchangeTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Set up.
+ *
+ * @return void
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test for enqueue method.
+ *
+ * @return void
+ */
+ public function testEnqueue()
+ {
+ }
+ /**
+ * Test for enqueue method with synchronous topic.
+ *
+ * @return void
+ */
+ public function testEnqueueWithSynchronousTopic()
+ {
+ }
+ }
+}
+namespace Magento\Framework\MessageQueue {
+ /**
+ * Factory class for @see \Magento\Framework\MessageQueue\ExchangeInterface
+ *
+ * @api
+ * @since 103.0.0
+ */
+ interface ExchangeFactoryInterface
+ {
+ /**
+ * Create exchange instance.
+ *
+ * @param string $connectionName
+ * @param array $data
+ * @return ExchangeInterface
+ * @since 103.0.0
+ */
+ public function create($connectionName, array $data = []);
+ }
+}
+namespace Magento\Framework\Amqp {
+ /**
+ * Factory class for @see \Magento\Framework\Amqp\Exchange
+ *
+ * @api
+ * @since 103.0.0
+ */
+ class ExchangeFactory implements \Magento\Framework\MessageQueue\ExchangeFactoryInterface
+ {
+ /**
+ * Initialize dependencies.
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param ConfigPool $configPool
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Amqp\ConfigPool $configPool, $instanceName = \Magento\Framework\Amqp\Exchange::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ * @since 103.0.0
+ */
+ public function create($connectionName, array $data = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\MessageQueue {
+ /**
+ * Factory class for @see \Magento\Framework\MessageQueue\QueueInterface
+ *
+ * @api
+ * @since 103.0.0
+ */
+ interface QueueFactoryInterface
+ {
+ /**
+ * Create queue instance.
+ *
+ * @param string $queueName
+ * @param string $connectionName
+ * @return QueueInterface
+ * @since 103.0.0
+ */
+ public function create($queueName, $connectionName);
+ }
+}
+namespace Magento\Framework\Amqp {
+ /**
+ * Factory class for @see \Magento\Framework\Amqp\Queue
+ *
+ * @api
+ * @since 103.0.0
+ */
+ class QueueFactory implements \Magento\Framework\MessageQueue\QueueFactoryInterface
+ {
+ /**
+ * Initialize dependencies.
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param ConfigPool $configPool
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Amqp\ConfigPool $configPool, $instanceName = \Magento\Framework\Amqp\Queue::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ * @since 103.0.0
+ */
+ public function create($queueName, $connectionName)
+ {
+ }
+ }
+}
+namespace Magento\Framework\MessageQueue {
+ /**
+ * Message Queue connection type resolver.
+ * @api
+ */
+ interface ConnectionTypeResolverInterface
+ {
+ /**
+ * Get connection type by connection name.
+ *
+ * @param string $connectionName
+ * @return string|null
+ */
+ public function getConnectionType($connectionName);
+ }
+}
+namespace Magento\Framework\Amqp {
+ /**
+ * Amqp connection type resolver.
+ *
+ * @api
+ * @since 103.0.0
+ */
+ class ConnectionTypeResolver implements \Magento\Framework\MessageQueue\ConnectionTypeResolverInterface
+ {
+ /**
+ * Initialize dependencies.
+ *
+ * @param DeploymentConfig $deploymentConfig
+ */
+ public function __construct(\Magento\Framework\App\DeploymentConfig $deploymentConfig)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 103.0.0
+ */
+ public function getConnectionType($connectionName)
+ {
+ }
+ }
+ /**
+ * AMQP connections pool.
+ */
+ class ConfigPool
+ {
+ /**
+ * Initialize dependencies.
+ *
+ * @param ConfigFactory $configFactory
+ */
+ public function __construct(\Magento\Framework\Amqp\ConfigFactory $configFactory)
+ {
+ }
+ /**
+ * Get connection by name.
+ *
+ * @param string $connectionName
+ * @return Config
+ */
+ public function get($connectionName)
+ {
+ }
+ /**
+ * Close all opened connections.
+ *
+ * @return void
+ */
+ public function closeConnections() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\MessageQueue\Bulk {
+ /**
+ * Interface for bulk exchange.
+ *
+ * @api
+ * @since 103.0.0
+ */
+ interface ExchangeInterface
+ {
+ /**
+ * Send messages in bulk to the queue.
+ *
+ * @param string $topic
+ * @param \Magento\Framework\MessageQueue\EnvelopeInterface[] $envelopes
+ * @return mixed
+ * @since 103.0.0
+ */
+ public function enqueue($topic, array $envelopes);
+ }
+}
+namespace Magento\Framework\Amqp\Bulk {
+ /**
+ * Used to send messages in bulk in AMQP queue.
+ */
+ class Exchange implements \Magento\Framework\MessageQueue\Bulk\ExchangeInterface
+ {
+ /**
+ * Initialize dependencies.
+ *
+ * @param \Magento\Framework\Amqp\Config $amqpConfig
+ * @param PublisherConfig $publisherConfig
+ * @param CommunicationConfigInterface $communicationConfig
+ * @param \Magento\Framework\Amqp\Exchange $exchange
+ */
+ public function __construct(\Magento\Framework\Amqp\Config $amqpConfig, \Magento\Framework\MessageQueue\Publisher\ConfigInterface $publisherConfig, \Magento\Framework\Communication\ConfigInterface $communicationConfig, \Magento\Framework\Amqp\Exchange $exchange)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function enqueue($topic, array $envelopes)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Amqp {
+ /**
+ * Reads the Amqp config in the deployed environment configuration
+ *
+ * @api
+ * @since 103.0.0
+ */
+ class Config
+ {
+ /**
+ * Queue config key
+ */
+ public const QUEUE_CONFIG = 'queue';
+ /**
+ * Amqp config key
+ */
+ public const AMQP_CONFIG = 'amqp';
+ public const HOST = 'host';
+ public const PORT = 'port';
+ public const USERNAME = 'user';
+ public const PASSWORD = 'password';
+ public const VIRTUALHOST = 'virtualhost';
+ public const SSL = 'ssl';
+ public const SSL_OPTIONS = 'ssl_options';
+ /**
+ * Initialize dependencies.
+ *
+ * Example environment config:
+ *
+ * 'queue' =>
+ * [
+ * 'amqp' => [
+ * 'host' => 'localhost',
+ * 'port' => 5672,
+ * 'username' => 'guest',
+ * 'password' => 'guest',
+ * 'virtual_host' => '/',
+ * 'ssl' => false,
+ * 'ssl_options' => [],
+ * ],
+ * ],
+ *
+ *
+ * @param DeploymentConfig $config
+ * @param string $connectionName
+ * @param ConnectionFactory|null $connectionFactory
+ */
+ public function __construct(\Magento\Framework\App\DeploymentConfig $config, $connectionName = 'amqp', \Magento\Framework\Amqp\Connection\Factory $connectionFactory = null)
+ {
+ }
+ /**
+ * Destructor
+ *
+ * @return void
+ * @since 103.0.0
+ */
+ public function __destruct()
+ {
+ }
+ /**
+ * Returns the configuration set for the key.
+ *
+ * @param string $key
+ * @return string
+ * @throws \LogicException
+ * @since 103.0.0
+ */
+ public function getValue($key)
+ {
+ }
+ /**
+ * Return Amqp channel
+ *
+ * @return AMQPChannel
+ * @throws \LogicException
+ * @since 103.0.0
+ */
+ public function getChannel()
+ {
+ }
+ }
+ /**
+ * Factory class for @see Config
+ *
+ * @api
+ */
+ class ConfigFactory
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager = null;
+ /**
+ * Instance name to create
+ *
+ * @var string
+ */
+ protected $_instanceName = null;
+ /**
+ * Factory constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Amqp\Config::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return Config
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\RequireJs\Test\Unit {
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class ConfigTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testGetConfig()
+ {
+ }
+ public function testGetMinResolverCode()
+ {
+ }
+ public function testGetConfigFileRelativePath()
+ {
+ }
+ public function testGetMixinsFileRelativePath()
+ {
+ }
+ public function testGetMinResolverRelativePath()
+ {
+ }
+ public function testGetBaseConfig()
+ {
+ }
+ }
+}
+namespace Magento\Framework\View\File {
+ /**
+ * Interface of locating view files in the file system
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface CollectorInterface
+ {
+ /**
+ * Retrieve instances of view files
+ *
+ * File path supports the following glob patterns which are translated into regular expressions:
+ * 1. ? -> [^\]
+ * 2. * -> [^\]*
+ * 3. [...], [!...] -> [...], [^...]
+ * 4. {..,..,...} -> (?:..|..|...)
+ *
+ * @param ThemeInterface $theme Theme that defines the design context
+ * @param string $filePath
+ * @return \Magento\Framework\View\File[]
+ */
+ public function getFiles(\Magento\Framework\View\Design\ThemeInterface $theme, $filePath);
+ }
+}
+namespace Magento\Framework\RequireJs\Config\File\Collector {
+ /**
+ * Source of RequireJs config files basing on list of directories they may be located in
+ */
+ class Aggregated implements \Magento\Framework\View\File\CollectorInterface
+ {
+ /**
+ * Base files
+ *
+ * @var \Magento\Framework\View\File\CollectorInterface
+ */
+ protected $baseFiles;
+ /**
+ * Theme files
+ *
+ * @var \Magento\Framework\View\File\CollectorInterface
+ */
+ protected $themeFiles;
+ /**
+ * Theme modular files
+ *
+ * @var \Magento\Framework\View\File\CollectorInterface
+ */
+ protected $themeModularFiles;
+ /**
+ * @var \Magento\Framework\Filesystem\Directory\ReadInterface
+ */
+ protected $libDirectory;
+ /**
+ * @var \Magento\Framework\View\File\Factory
+ */
+ protected $fileFactory;
+ /**
+ * @param \Magento\Framework\Filesystem $filesystem
+ * @param \Magento\Framework\View\File\Factory $fileFactory
+ * @param CollectorInterface $baseFiles
+ * @param CollectorInterface $themeFiles
+ * @param CollectorInterface $themeModularFiles
+ */
+ public function __construct(\Magento\Framework\Filesystem $filesystem, \Magento\Framework\View\File\Factory $fileFactory, \Magento\Framework\View\File\CollectorInterface $baseFiles, \Magento\Framework\View\File\CollectorInterface $themeFiles, \Magento\Framework\View\File\CollectorInterface $themeModularFiles)
+ {
+ }
+ /**
+ * Get layout files from modules, theme with ancestors and library
+ *
+ * @param ThemeInterface $theme
+ * @param string $filePath
+ * @throws \InvalidArgumentException
+ * @return \Magento\Framework\View\File[]
+ */
+ public function getFiles(\Magento\Framework\View\Design\ThemeInterface $theme, $filePath)
+ {
+ }
+ }
+}
+namespace Magento\Framework\RequireJs {
+ /**
+ * Provider of RequireJs config information
+ */
+ class Config
+ {
+ /**
+ * Name of sub-directory where generated RequireJs config is placed
+ *
+ * @deprecated since 2.2.0 RequireJS Configuration file is moved into package directory
+ */
+ const DIR_NAME = '_requirejs';
+ /**
+ * File name of RequireJs config
+ */
+ const CONFIG_FILE_NAME = 'requirejs-config.js';
+ /**
+ * File name of RequireJs mixins
+ */
+ const MIXINS_FILE_NAME = 'mage/requirejs/mixins.js';
+ /**
+ * File name of RequireJs
+ */
+ const REQUIRE_JS_FILE_NAME = 'requirejs/require.js';
+ /**
+ * File name of StaticJs
+ */
+ const STATIC_FILE_NAME = 'mage/requirejs/static.js';
+ /**
+ * File name of minified files resolver
+ */
+ const MIN_RESOLVER_FILENAME = 'requirejs-min-resolver.js';
+ /**
+ * File name of RequireJs mixins
+ */
+ const MAP_FILE_NAME = 'requirejs-map.js';
+ /**
+ * File name of BaseUrlInterceptorJs
+ */
+ const URL_RESOLVER_FILE_NAME = 'mage/requirejs/baseUrlResolver.js';
+ /**
+ * File name of StaticJs
+ */
+ const BUNDLE_JS_DIR = 'js/bundle';
+ /**
+ * Template for combined RequireJs config file
+ */
+ const FULL_CONFIG_TEMPLATE = << 'db_field_name1', 'title' => 'Field 1 should be unique')
+ * array('field' => 'db_field_name2', 'title' => 'Field 2 should be unique')
+ * array(
+ * 'field' => array('db_field_name3', 'db_field_name3'),
+ * 'title' => 'Field 3 and Field 4 combination should be unique'
+ * )
+ * )
+ * or string 'my_field_name' - will be autoconverted to
+ * array( array( 'field' => 'my_field_name', 'title' => 'my_field_name' ) )
+ *
+ * @var array|null
+ */
+ protected $_uniqueFields = null;
+ /**
+ * Serializable fields declaration
+ * Structure: array(
+ * => array(
+ * ,
+ * ,
+ * // optional parameter
+ * ),
+ * )
+ *
+ * @var array
+ */
+ protected $_serializableFields = [];
+ /**
+ * @var TransactionManagerInterface
+ */
+ protected $transactionManager;
+ /**
+ * @var ObjectRelationProcessor
+ */
+ protected $objectRelationProcessor;
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\Model\ResourceModel\Db\Context $context
+ * @param string $connectionName
+ */
+ public function __construct(\Magento\Framework\Model\ResourceModel\Db\Context $context, $connectionName = null)
+ {
+ }
+ /**
+ * Provide variables to serialize
+ *
+ * @return array
+ */
+ public function __sleep()
+ {
+ }
+ /**
+ * Restore global dependencies
+ *
+ * @return void
+ */
+ public function __wakeup()
+ {
+ }
+ /**
+ * Standard resource model initialization
+ *
+ * @param string $mainTable
+ * @param string $idFieldName
+ * @return void
+ */
+ protected function _init($mainTable, $idFieldName)
+ {
+ }
+ /**
+ * Initialize connections and tables for this resource model
+ * If one or both arguments are string, will be used as prefix
+ * If $tables is null and $connections is string, $tables will be the same
+ *
+ * @param string|array $connections
+ * @param string|array|null $tables
+ * @return $this
+ */
+ protected function _setResource($connections, $tables = null)
+ {
+ }
+ /**
+ * Main table setter.
+ *
+ * Set main entity table name and primary key field name.
+ * If field name is omitted {table_name}_id will be used.
+ *
+ * @param string $mainTable
+ * @param string|null $idFieldName
+ * @return $this
+ */
+ protected function _setMainTable($mainTable, $idFieldName = null)
+ {
+ }
+ /**
+ * Get primary key field name
+ *
+ * @throws LocalizedException
+ * @return string
+ */
+ public function getIdFieldName()
+ {
+ }
+ /**
+ * Main table getter.
+ *
+ * Returns main table name - extracted from "module/table" style and
+ * validated by db adapter.
+ *
+ * @throws LocalizedException
+ * @return string
+ */
+ public function getMainTable()
+ {
+ }
+ /**
+ * Get real table name for db table, validated by db adapter
+ *
+ * @param string $tableName
+ * @return string
+ */
+ public function getTable($tableName)
+ {
+ }
+ /**
+ * Get connection by resource name
+ *
+ * @param string $resourceName
+ * @return \Magento\Framework\DB\Adapter\AdapterInterface|false
+ */
+ protected function _getConnection($resourceName)
+ {
+ }
+ /**
+ * Get connection
+ *
+ * @return \Magento\Framework\DB\Adapter\AdapterInterface|false
+ */
+ public function getConnection()
+ {
+ }
+ /**
+ * Load an object
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @param mixed $value
+ * @param string $field field to load by (defaults to model id)
+ * @return $this
+ */
+ public function load(\Magento\Framework\Model\AbstractModel $object, $value, $field = null)
+ {
+ }
+ /**
+ * Retrieve select object for load object data
+ *
+ * @param string $field
+ * @param mixed $value
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return \Magento\Framework\DB\Select
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function _getLoadSelect($field, $value, $object)
+ {
+ }
+ /**
+ * Save object object data
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return $this
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @throws \Exception
+ * @throws AlreadyExistsException
+ */
+ public function save(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Delete the object
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return $this
+ * @throws \Exception
+ */
+ public function delete(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Add unique field restriction
+ *
+ * @param array|string $field
+ * @return $this
+ */
+ public function addUniqueField($field)
+ {
+ }
+ /**
+ * Reset unique fields restrictions
+ *
+ * @return $this
+ */
+ public function resetUniqueField()
+ {
+ }
+ /**
+ * Unserialize serializeable object fields
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ public function unserializeFields(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Initialize unique fields
+ *
+ * @return $this
+ */
+ protected function _initUniqueFields()
+ {
+ }
+ /**
+ * Get configuration of all unique fields
+ *
+ * @return array
+ */
+ public function getUniqueFields()
+ {
+ }
+ /**
+ * Prepare data for save
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return array
+ * @throws LocalizedException
+ */
+ protected function _prepareDataForSave(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Check that model data fields that can be saved has really changed comparing with origData.
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return bool
+ * @throws LocalizedException
+ */
+ public function hasDataChanged($object)
+ {
+ }
+ /**
+ * Prepare value for save
+ *
+ * @param mixed $value
+ * @param string $type
+ * @return mixed
+ */
+ protected function _prepareValueForSave($value, $type)
+ {
+ }
+ /**
+ * Check for unique values existence
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return $this
+ * @throws AlreadyExistsException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ protected function _checkUnique(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Perform actions after object load
+ *
+ * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $object
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function _afterLoad(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Perform actions before object save
+ *
+ * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $object
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Perform actions after object save
+ *
+ * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $object
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function _afterSave(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Perform actions before object delete
+ *
+ * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $object
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function _beforeDelete(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Perform actions after object delete
+ *
+ * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $object
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function _afterDelete(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Serialize serializable fields of the object
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ protected function _serializeFields(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Retrieve table checksum
+ *
+ * @param string|array $table
+ * @return int|array|false
+ */
+ public function getChecksum($table)
+ {
+ }
+ /**
+ * Get the array of data fields that was changed or added
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return array
+ * @throws LocalizedException
+ */
+ protected function prepareDataForUpdate($object)
+ {
+ }
+ /**
+ * Check if object is new
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return bool
+ */
+ protected function isObjectNotNew(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Save New Object
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @throws LocalizedException
+ * @return void
+ */
+ protected function saveNewObject(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Update existing object
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @throws LocalizedException
+ * @return void
+ */
+ protected function updateObject(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Sequences of after save call
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return void
+ */
+ protected function processAfterSaves(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Check if object was modified
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return bool
+ */
+ protected function isModified(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Process object which was modified
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function processNotModifiedSave(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ /**
+ * Perform actions after entity load
+ *
+ * @param \Magento\Framework\DataObject $object
+ * @return void
+ */
+ public function afterLoad(\Magento\Framework\DataObject $object)
+ {
+ }
+ /**
+ * Perform actions before entity save
+ *
+ * @param \Magento\Framework\DataObject $object
+ * @return void
+ * @since 100.1.0
+ */
+ public function beforeSave(\Magento\Framework\DataObject $object)
+ {
+ }
+ /**
+ * Perform actions after entity save
+ *
+ * @param \Magento\Framework\DataObject $object
+ * @return void
+ * @since 100.1.0
+ */
+ public function afterSave(\Magento\Framework\DataObject $object)
+ {
+ }
+ /**
+ * Perform actions before entity delete
+ *
+ * @param \Magento\Framework\DataObject $object
+ * @return void
+ * @since 100.1.0
+ */
+ public function beforeDelete(\Magento\Framework\DataObject $object)
+ {
+ }
+ /**
+ * Perform actions after entity delete
+ *
+ * @param \Magento\Framework\DataObject $object
+ * @return void
+ * @since 100.1.0
+ */
+ public function afterDelete(\Magento\Framework\DataObject $object)
+ {
+ }
+ /**
+ * Serialize serializable fields of the object
+ *
+ * @param \Magento\Framework\Model\AbstractModel $object
+ * @return \Magento\Framework\Model\AbstractModel|void
+ * @since 100.1.0
+ */
+ public function serializeFields(\Magento\Framework\Model\AbstractModel $object)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Flag {
+ /**
+ * Flag Resource model
+ */
+ class FlagResource extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
+ {
+ /**
+ * Define main table
+ *
+ * @return void
+ */
+ protected function _construct()
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ interface AuthorizationInterface
+ {
+ /**
+ * Check current user permission on resource and privilege
+ *
+ * @param string $resource
+ * @param string $privilege
+ * @return boolean
+ */
+ public function isAllowed($resource, $privilege = null);
+ }
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ interface CurrencyInterface
+ {
+ /**
+ * Returns a localized currency string
+ *
+ * @param int|float $value OPTIONAL Currency value
+ * @param array $options OPTIONAL options to set temporary
+ * @throws CurrencyException When the value is not a number
+ * @return string
+ */
+ public function toCurrency($value = null, array $options = []);
+ /**
+ * Set the formatting options.
+ *
+ * Sets the formatting options of the localized currency string
+ * If no parameter is passed, the standard setting of the
+ * actual set locale will be used
+ *
+ * @param array $options (Optional) Options to set
+ * @return CurrencyInterface
+ */
+ public function setFormat(array $options = []);
+ /**
+ * Returns the actual or details of other currency symbols, when no symbol is available it returns the shortname.
+ *
+ * @param string $currency OPTIONAL Currency name
+ * @param string $locale OPTIONAL Locale to display informations
+ * @return string
+ */
+ public function getSymbol($currency = null, $locale = null);
+ /**
+ * Returns the actual or details of other currency shortnames
+ *
+ * @param string $currency OPTIONAL Currency's name
+ * @param string $locale OPTIONAL The locale
+ * @return string
+ */
+ public function getShortName($currency = null, $locale = null);
+ /**
+ * Returns the actual or details of other currency names
+ *
+ * @param string $currency OPTIONAL Currency's short name
+ * @param string $locale OPTIONAL The locale
+ * @return string
+ */
+ public function getName($currency = null, $locale = null);
+ /**
+ * Returns a list of regions where this currency is or was known
+ *
+ * @param string $currency OPTIONAL Currency's short name
+ * @throws CurrencyException When no currency was defined
+ * @return array List of regions
+ */
+ public function getRegionList($currency = null);
+ /**
+ * Return currency list.
+ *
+ * Returns a list of currencies which are used in this region
+ * a region name should be 2 charachters only (f.e. EG, DE, US)
+ * If no region is given, the actual region is used
+ *
+ * @param string $region OPTIONAL Region to return the currencies for
+ * @return array List of currencies
+ */
+ public function getCurrencyList($region = null);
+ /**
+ * Returns the actual currency name
+ *
+ * @return string
+ */
+ public function toString();
+ /**
+ * Returns the set cache
+ *
+ * @return Zend_Cache_Core The set cache
+ */
+ public static function getCache();
+ /**
+ * Sets a cache for \Magento\Framework\Currency
+ *
+ * @param Zend_Cache_Core $cache Cache to set
+ * @return void
+ */
+ public static function setCache(\Zend_Cache_Core $cache);
+ /**
+ * Returns true when a cache is set
+ *
+ * @return boolean
+ */
+ public static function hasCache();
+ /**
+ * Removes any set cache
+ *
+ * @return void
+ */
+ public static function removeCache();
+ /**
+ * Clears all set cache data
+ *
+ * @param string $tag Tag to clear when the default tag name is not used
+ * @return void
+ */
+ public static function clearCache($tag = null);
+ /**
+ * Sets a new locale for data retrievement
+ * Example: 'de_XX' will be set to 'de' because 'de_XX' does not exist
+ * 'xx_YY' will be set to 'root' because 'xx' does not exist
+ *
+ * @param string $locale OPTIONAL Locale for parsing input
+ * @throws CurrencyException When the given locale does not exist
+ * @return $this
+ */
+ public function setLocale($locale = null);
+ /**
+ * Returns the actual set locale
+ *
+ * @return string
+ */
+ public function getLocale();
+ /**
+ * Returns the value
+ *
+ * @return float
+ */
+ public function getValue();
+ /**
+ * Adds a currency
+ *
+ * @param float|int|CurrencyInterface $value Add this value to currency
+ * @param string|CurrencyInterface $currency The currency to add
+ * @return CurrencyInterface
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function setValue($value, $currency = null);
+ /**
+ * Adds a currency
+ *
+ * @param float|int|CurrencyInterface $value Add this value to currency
+ * @param string|CurrencyInterface $currency The currency to add
+ * @return CurrencyInterface
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function add($value, $currency = null);
+ /**
+ * Substracts a currency
+ *
+ * @param float|int|CurrencyInterface $value Substracts this value from currency
+ * @param string|CurrencyInterface $currency The currency to substract
+ * @return CurrencyInterface
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function sub($value, $currency = null);
+ /**
+ * Divides a currency
+ *
+ * @param float|int|CurrencyInterface $value Divides this value from currency
+ * @param string|CurrencyInterface $currency The currency to divide
+ * @return CurrencyInterface
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function div($value, $currency = null);
+ /**
+ * Multiplies a currency
+ *
+ * @param float|int|CurrencyInterface $value Multiplies this value from currency
+ * @param string|CurrencyInterface $currency The currency to multiply
+ * @return CurrencyInterface
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function mul($value, $currency = null);
+ /**
+ * Calculates the modulo from a currency
+ *
+ * @param float|int|CurrencyInterface $value Calculate modulo from this value
+ * @param string|CurrencyInterface $currency The currency to calculate the modulo
+ * @return CurrencyInterface
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function mod($value, $currency = null);
+ /**
+ * Compares two currencies
+ *
+ * @param float|int|CurrencyInterface $value Compares the currency with this value
+ * @param string|CurrencyInterface $currency The currency to compare this value from
+ * @return CurrencyInterface
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function compare($value, $currency = null);
+ /**
+ * Returns true when the two currencies are equal
+ *
+ * @param float|int|CurrencyInterface $value Compares the currency with this value
+ * @param string|CurrencyInterface $currency The currency to compare this value from
+ * @return boolean
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function equals($value, $currency = null);
+ /**
+ * Returns true when the currency is more than the given value
+ *
+ * @param float|int|CurrencyInterface $value Compares the currency with this value
+ * @param string|CurrencyInterface $currency The currency to compare this value from
+ * @return boolean
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function isMore($value, $currency = null);
+ /**
+ * Returns true when the currency is less than the given value
+ *
+ * @param float|int|CurrencyInterface $value Compares the currency with this value
+ * @param string|CurrencyInterface $currency The currency to compare this value from
+ * @return boolean
+ * @deprecated This approach works incorrect, because Zend_Service no longer exists.
+ * @see no alternatives
+ */
+ public function isLess($value, $currency = null);
+ }
+}
+namespace Magento\Framework\Shell {
+ /**
+ * Shell command renderer
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface CommandRendererInterface
+ {
+ /**
+ * Render command with arguments
+ *
+ * @param string $command
+ * @param array $arguments
+ * @return string
+ */
+ public function render($command, array $arguments = []);
+ }
+ class CommandRenderer implements \Magento\Framework\Shell\CommandRendererInterface
+ {
+ /**
+ * Render command with arguments
+ *
+ * @param string $command
+ * @param array $arguments
+ * @return string
+ */
+ public function render($command, array $arguments = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Shell\Test\Unit {
+ class CommandRendererTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @param $expectedCommand
+ * @param $actualCommand
+ * @param $testArguments
+ * @dataProvider commandsDataProvider
+ */
+ public function testRender($expectedCommand, $actualCommand, $testArguments)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function commandsDataProvider()
+ {
+ }
+ }
+ class ComplexParameterTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGetFromArray()
+ {
+ }
+ /**
+ * @param string $str
+ * @param array $expected
+ * @dataProvider getFromStringDataProvider
+ */
+ public function testGetFromString($str, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getFromStringDataProvider()
+ {
+ }
+ public function testPattern()
+ {
+ }
+ public function testMergeFromArgv()
+ {
+ }
+ }
+ class CommandRendererBackgroundTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Test data for command
+ *
+ * @var string
+ */
+ protected $testCommand = 'php -r test.php';
+ /**
+ * @var OsInfo|MockObject
+ */
+ protected $osInfo;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @dataProvider commandPerOsTypeDataProvider
+ * @param bool $isWindows
+ * @param string $expectedResults
+ */
+ public function testRender($isWindows, $expectedResults)
+ {
+ }
+ /**
+ * Data provider for each os type
+ *
+ * @return array
+ */
+ public function commandPerOsTypeDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Shell {
+ /**
+ * Shell driver encapsulates command execution and arguments escaping
+ */
+ class Driver
+ {
+ /**
+ * @param CommandRendererInterface $commandRenderer
+ */
+ public function __construct(\Magento\Framework\Shell\CommandRendererInterface $commandRenderer)
+ {
+ }
+ /**
+ * Execute a command through the command line, passing properly escaped arguments, and return its output
+ *
+ * @param string $command Command with optional argument markers '%s'
+ * @param string[] $arguments Argument values to substitute markers with
+ * @return Response
+ * @throws LocalizedException
+ */
+ public function execute($command, $arguments)
+ {
+ }
+ }
+ /**
+ * Encapsulates output of shell command
+ */
+ class Response extends \Magento\Framework\DataObject
+ {
+ /**
+ * Get output
+ *
+ * @return string
+ * @codeCoverageIgnore
+ */
+ public function getOutput()
+ {
+ }
+ /**
+ * Get exit code
+ *
+ * @return int
+ * @codeCoverageIgnore
+ */
+ public function getExitCode()
+ {
+ }
+ /**
+ * Get escaped command
+ *
+ * @return string
+ * @codeCoverageIgnore
+ */
+ public function getEscapedCommand()
+ {
+ }
+ }
+ /**
+ * A parser for complex parameters in command-line arguments
+ *
+ * Transforms parameter formatted as a URL query string into an array
+ */
+ class ComplexParameter
+ {
+ /**
+ * Default regex pattern for searching the parameter
+ */
+ public const DEFAULT_PATTERN = '/^\\-\\-%s=(.+)$/';
+ /**
+ * Constructor
+ *
+ * @param string $name
+ * @param string $pattern
+ */
+ public function __construct($name, $pattern = self::DEFAULT_PATTERN)
+ {
+ }
+ /**
+ * Searches and parses the value from an array of arguments
+ *
+ * @param string[] $input
+ * @return array
+ */
+ public function getFromArray($input)
+ {
+ }
+ /**
+ * Parses the value from a specified argument string
+ *
+ * @param string $string
+ * @return array
+ */
+ public function getFromString($string)
+ {
+ }
+ /**
+ * Searches the value parameter in an "argv" array and merges it recursively into specified array
+ *
+ * @param array $server
+ * @param array $into
+ * @return array
+ */
+ public function mergeFromArgv($server, array $into = [])
+ {
+ }
+ }
+ class CommandRendererBackground extends \Magento\Framework\Shell\CommandRenderer
+ {
+ /**
+ * @var \Magento\Framework\OsInfo
+ */
+ protected $osInfo;
+ /**
+ * @param OsInfo $osInfo
+ */
+ public function __construct(\Magento\Framework\OsInfo $osInfo)
+ {
+ }
+ /**
+ * Render command with arguments
+ *
+ * @param string $command
+ * @param array $arguments
+ * @return string
+ */
+ public function render($command, array $arguments = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ // phpcs:disable Magento2.Annotation
+ /**
+ * URL
+ *
+ * Properties:
+ *
+ * - request
+ *
+ * - relative_url: true, false
+ * - type: 'link', 'skin', 'js', 'media'
+ * - scope: instanceof \Magento\Framework\Url\ScopeInterface
+ * - secure: true, false
+ *
+ * - scheme: 'http', 'https'
+ * - user: 'user'
+ * - password: 'password'
+ * - host: 'localhost'
+ * - port: 80, 443
+ * - base_path: '/dev/magento/'
+ * - base_script: 'index.php'
+ *
+ * - scopeview_path: 'scopeview/'
+ * - route_path: 'module/controller/action/param1/value1/param2/value2'
+ * - route_name: 'module'
+ * - controller_name: 'controller'
+ * - action_name: 'action'
+ * - route_params: array('param1'=>'value1', 'param2'=>'value2')
+ *
+ * - query: (?)'param1=value1¶m2=value2'
+ * - query_array: array('param1'=>'value1', 'param2'=>'value2')
+ * - fragment: (#)'fragment-anchor'
+ *
+ * @codingStandardsIgnoreStart
+ * URL structure:
+ *
+ * https://user:password@host:443/base_path/[base_script][scopeview_path]route_name/controller_name/action_name/param1/value1?query_param=query_value#fragment
+ * \__________A___________/\____________________________________B_____________________________________/
+ * \__________________C___________________/ \__________________D_________________/ \_____E_____/
+ * \_____________F______________/ \___________________________G______________________/
+ * \___________________________________________________H____________________________________________________/
+ * @codingStandardsIgnoreEnd
+ *
+ * - A: authority
+ * - B: path
+ * - C: absolute_base_url
+ * - D: action_path
+ * - E: route_params
+ * - F: host_url
+ * - G: route_path
+ * - H: route_url
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @SuppressWarnings(PHPMD.TooManyFields)
+ * @SuppressWarnings(PHPMD.CookieAndSessionMisuse)
+ */
+ class Url extends \Magento\Framework\DataObject implements \Magento\Framework\UrlInterface, \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * Configuration data cache
+ *
+ * @var array
+ */
+ protected static $_configDataCache;
+ /**
+ * Reserved Route parameter keys
+ *
+ * @var array
+ */
+ protected $_reservedRouteParams = ['_scope', '_type', '_secure', '_forced_secure', '_use_rewrite', '_nosid', '_absolute', '_current', '_direct', '_fragment', '_escape', '_query', '_scope_to_url'];
+ /**
+ * @var string
+ */
+ protected $_scopeType;
+ /**
+ * Request instance
+ *
+ * @var \Magento\Framework\App\RequestInterface
+ */
+ protected $_request;
+ /**
+ * Use Session ID for generate URL
+ *
+ * @var bool
+ */
+ protected $_useSession = false;
+ /**
+ * Url security info list
+ *
+ * @var \Magento\Framework\Url\SecurityInfoInterface
+ */
+ protected $_urlSecurityInfo;
+ /**
+ * @var \Magento\Framework\Session\Generic
+ */
+ protected $_session;
+ /**
+ * @var \Magento\Framework\Session\SidResolverInterface
+ */
+ protected $_sidResolver;
+ /**
+ * Constructor
+ *
+ * @var \Magento\Framework\App\Route\ConfigInterface
+ */
+ protected $_routeConfig;
+ /**
+ * @var \Magento\Framework\Url\ScopeResolverInterface
+ */
+ protected $_scopeResolver;
+ /**
+ * @var \Magento\Framework\Url\QueryParamsResolverInterface
+ */
+ protected $_queryParamsResolver;
+ /**
+ * @var \Magento\Framework\App\Config\ScopeConfigInterface
+ */
+ protected $_scopeConfig;
+ /**
+ * @var \Magento\Framework\Url\RouteParamsPreprocessorInterface
+ */
+ protected $routeParamsPreprocessor;
+ /**
+ * @param \Magento\Framework\App\Route\ConfigInterface $routeConfig
+ * @param \Magento\Framework\App\RequestInterface $request
+ * @param \Magento\Framework\Url\SecurityInfoInterface $urlSecurityInfo
+ * @param \Magento\Framework\Url\ScopeResolverInterface $scopeResolver
+ * @param \Magento\Framework\Session\Generic $session
+ * @param \Magento\Framework\Session\SidResolverInterface $sidResolver
+ * @param \Magento\Framework\Url\RouteParamsResolverFactory $routeParamsResolverFactory
+ * @param \Magento\Framework\Url\QueryParamsResolverInterface $queryParamsResolver
+ * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
+ * @param \Magento\Framework\Url\RouteParamsPreprocessorInterface $routeParamsPreprocessor
+ * @param string $scopeType
+ * @param array $data
+ * @param HostChecker|null $hostChecker
+ * @param Json|null $serializer
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ */
+ public function __construct(\Magento\Framework\App\Route\ConfigInterface $routeConfig, \Magento\Framework\App\RequestInterface $request, \Magento\Framework\Url\SecurityInfoInterface $urlSecurityInfo, \Magento\Framework\Url\ScopeResolverInterface $scopeResolver, \Magento\Framework\Session\Generic $session, \Magento\Framework\Session\SidResolverInterface $sidResolver, \Magento\Framework\Url\RouteParamsResolverFactory $routeParamsResolverFactory, \Magento\Framework\Url\QueryParamsResolverInterface $queryParamsResolver, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Framework\Url\RouteParamsPreprocessorInterface $routeParamsPreprocessor, $scopeType, array $data = [], \Magento\Framework\Url\HostChecker $hostChecker = null, \Magento\Framework\Serialize\Serializer\Json $serializer = null)
+ {
+ }
+ /**
+ * Initialize object data from retrieved url
+ *
+ * @param string $url
+ * @return \Magento\Framework\UrlInterface
+ */
+ protected function _parseUrl($url)
+ {
+ }
+ /**
+ * Set use session rule
+ *
+ * @param bool $useSession
+ * @return \Magento\Framework\UrlInterface
+ */
+ public function setUseSession($useSession)
+ {
+ }
+ /**
+ * Retrieve use session rule
+ *
+ * @return bool
+ * @SuppressWarnings(PHPMD.BooleanGetMethodName)
+ */
+ public function getUseSession()
+ {
+ }
+ /**
+ * Retrieve configuration data
+ *
+ * @param string $key
+ * @param string|null $prefix
+ * @return string
+ */
+ public function getConfigData($key, $prefix = null)
+ {
+ }
+ /**
+ * Get cache id for config path
+ *
+ * @param string $path
+ * @return string
+ */
+ protected function _getConfigCacheId($path)
+ {
+ }
+ /**
+ * Get config data by path
+ *
+ * @param string $path
+ * @return null|string
+ */
+ protected function _getConfig($path)
+ {
+ }
+ /**
+ * Set request
+ *
+ * @param \Magento\Framework\App\RequestInterface $request
+ * @return \Magento\Framework\UrlInterface
+ */
+ public function setRequest(\Magento\Framework\App\RequestInterface $request)
+ {
+ }
+ /**
+ * Zend request object
+ *
+ * @return \Magento\Framework\App\RequestInterface
+ */
+ protected function _getRequest()
+ {
+ }
+ /**
+ * Retrieve URL type
+ *
+ * @return string
+ */
+ protected function _getType()
+ {
+ }
+ /**
+ * Retrieve is secure mode URL
+ *
+ * @return bool
+ */
+ protected function _isSecure()
+ {
+ }
+ /**
+ * Set scope entity
+ *
+ * @param mixed $params
+ * @return \Magento\Framework\UrlInterface
+ */
+ public function setScope($params)
+ {
+ }
+ /**
+ * Get current scope for the url instance
+ *
+ * @return \Magento\Framework\Url\ScopeInterface
+ */
+ protected function _getScope()
+ {
+ }
+ /**
+ * Retrieve Base URL
+ *
+ * @param array $params
+ * @return string
+ */
+ public function getBaseUrl($params = [])
+ {
+ }
+ /**
+ * Set Route Parameters
+ *
+ * @param string $data
+ * @return \Magento\Framework\UrlInterface
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ protected function _setRoutePath($data)
+ {
+ }
+ /**
+ * Retrieve action path
+ *
+ * @return string
+ */
+ protected function _getActionPath()
+ {
+ }
+ /**
+ * Retrieve route path
+ *
+ * @param array $routeParams
+ * @return string
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function _getRoutePath($routeParams = [])
+ {
+ }
+ /**
+ * Set route name
+ *
+ * @param string $data
+ * @return \Magento\Framework\UrlInterface
+ */
+ protected function _setRouteName($data)
+ {
+ }
+ /**
+ * Retrieve route front name
+ *
+ * @return string
+ */
+ protected function _getRouteFrontName()
+ {
+ }
+ /**
+ * Retrieve route name
+ *
+ * @param mixed $default
+ * @return string|null
+ */
+ protected function _getRouteName($default = null)
+ {
+ }
+ /**
+ * Set Controller Name
+ *
+ * Reset action name and route path if has change
+ *
+ * @param string $data
+ * @return \Magento\Framework\UrlInterface
+ */
+ protected function _setControllerName($data)
+ {
+ }
+ /**
+ * Retrieve controller name
+ *
+ * @param mixed $default
+ * @return string|null
+ */
+ protected function _getControllerName($default = null)
+ {
+ }
+ /**
+ * Set Action name, reseated route path if action name has change
+ *
+ * @param string $data
+ * @return \Magento\Framework\UrlInterface
+ */
+ protected function _setActionName($data)
+ {
+ }
+ /**
+ * Retrieve action name
+ *
+ * @param mixed $default
+ * @return string|null
+ */
+ protected function _getActionName($default = null)
+ {
+ }
+ /**
+ * Set route params
+ *
+ * @param array $data
+ * @param boolean $unsetOldParams
+ * @return \Magento\Framework\UrlInterface
+ */
+ protected function _setRouteParams(array $data, $unsetOldParams = true)
+ {
+ }
+ /**
+ * Retrieve route params
+ *
+ * @return array
+ */
+ protected function _getRouteParams()
+ {
+ }
+ /**
+ * Retrieve route URL
+ *
+ * @param string $routePath
+ * @param array $routeParams
+ * @return string
+ */
+ public function getRouteUrl($routePath = null, $routeParams = null)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function addSessionParam()
+ {
+ }
+ /**
+ * Set URL query param(s)
+ *
+ * @param mixed $data
+ * @return \Magento\Framework\UrlInterface
+ */
+ protected function _setQuery($data)
+ {
+ }
+ /**
+ * Get query params part of url
+ *
+ * @param bool $escape "&" escape flag
+ * @return string
+ */
+ protected function _getQuery($escape = false)
+ {
+ }
+ /**
+ * Add query Params as array
+ *
+ * @param array $data
+ * @return \Magento\Framework\UrlInterface
+ */
+ public function addQueryParams(array $data)
+ {
+ }
+ /**
+ * Set query param
+ *
+ * @param string $key
+ * @param mixed $data
+ * @return \Magento\Framework\UrlInterface
+ */
+ public function setQueryParam($key, $data)
+ {
+ }
+ /**
+ * Retrieve URL fragment
+ *
+ * @return string|null
+ */
+ protected function _getFragment()
+ {
+ }
+ /**
+ * Build and cache url by requested path and parameters
+ *
+ * @param string|null $routePath
+ * @param array|null $routeParams
+ * @return string
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function getUrl($routePath = null, $routeParams = null)
+ {
+ }
+ /**
+ * Check and add session id to URL
+ *
+ * @param string $url
+ *
+ * @return \Magento\Framework\UrlInterface
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function _prepareSessionUrl($url)
+ {
+ }
+ /**
+ * Rebuild URL to handle the case when session ID was changed
+ *
+ * @param string $url
+ * @return string
+ */
+ public function getRebuiltUrl($url)
+ {
+ }
+ /**
+ * Escape (enclosure) URL string
+ *
+ * @param string $value
+ * @return string
+ * @deprecated 101.0.0
+ * @see \Magento\Framework\Escaper::escapeUrl
+ */
+ public function escape($value)
+ {
+ }
+ /**
+ * Build url by direct url and parameters
+ *
+ * @param string $url
+ * @param array $params
+ * @return string
+ */
+ public function getDirectUrl($url, $params = [])
+ {
+ }
+ /**
+ * Replace Session ID value in URL
+ *
+ * @param string $html
+ * @return string
+ */
+ public function sessionUrlVar($html)
+ {
+ }
+ /**
+ * Check and return use SID for URL
+ *
+ * @param bool $secure
+ * @return bool
+ */
+ public function useSessionIdForUrl($secure = false)
+ {
+ }
+ /**
+ * Check if users originated URL is one of the domain URLs assigned to scopes
+ *
+ * @return boolean
+ */
+ public function isOwnOriginUrl()
+ {
+ }
+ /**
+ * Return frontend redirect URL without SID
+ *
+ * @param string $url
+ *
+ * @return string
+ */
+ public function getRedirectUrl($url)
+ {
+ }
+ /**
+ * Retrieve current url
+ *
+ * @return string
+ */
+ public function getCurrentUrl()
+ {
+ }
+ /**
+ * Get Route Params Resolver
+ *
+ * @return Url\RouteParamsResolverInterface
+ */
+ protected function getRouteParamsResolver()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ }
+ /**
+ * Phrase (for replacing Data Value with Object)
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Phrase implements \JsonSerializable
+ {
+ /**
+ * Set default Phrase renderer
+ *
+ * @param RendererInterface $renderer
+ * @return void
+ */
+ public static function setRenderer(\Magento\Framework\Phrase\RendererInterface $renderer)
+ {
+ }
+ /**
+ * Get default Phrase renderer
+ *
+ * @return RendererInterface
+ */
+ public static function getRenderer()
+ {
+ }
+ /**
+ * Phrase construct
+ *
+ * @param string $text
+ * @param array $arguments
+ */
+ public function __construct($text, array $arguments = [])
+ {
+ }
+ /**
+ * Get phrase base text
+ *
+ * @return string
+ */
+ public function getText()
+ {
+ }
+ /**
+ * Get phrase message arguments
+ *
+ * @return array
+ */
+ public function getArguments()
+ {
+ }
+ /**
+ * Render phrase
+ *
+ * @return string
+ */
+ public function render()
+ {
+ }
+ /**
+ * Defers rendering to the last possible moment (when converted to string)
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ }
+ /**
+ * Specify data which should be serialized to JSON
+ *
+ * @return string
+ */
+ #[\ReturnTypeWillChange]
+ public function jsonSerialize()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api {
+ /**
+ * Factory class for instantiation of extension attributes objects.
+ */
+ class ExtensionAttributesFactory
+ {
+ const EXTENSIBLE_INTERFACE_NAME = \Magento\Framework\Api\ExtensibleDataInterface::class;
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Factory constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create extension attributes object, custom for each extensible class.
+ *
+ * @param string $extensibleClassName
+ * @param array $data
+ * @return \Magento\Framework\Api\ExtensionAttributesInterface
+ */
+ public function create($extensibleClassName, $data = [])
+ {
+ }
+ /**
+ * Identify concrete extensible interface name based on the class name.
+ *
+ * @param string $extensibleClassName
+ * @return string
+ */
+ public function getExtensibleInterfaceName($extensibleClassName)
+ {
+ }
+ }
+ /**
+ * Base Builder interface for simple data Objects
+ *
+ * @api
+ */
+ interface SimpleBuilderInterface
+ {
+ /**
+ * Builds the Data Object
+ *
+ * @return AbstractSimpleObject
+ */
+ public function create();
+ /**
+ * Return data Object data.
+ *
+ * @return array
+ */
+ public function getData();
+ }
+ /**
+ * Interface for entities which can be extended with extension attributes.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ExtensibleDataInterface
+ {
+ /**
+ * Key for extension attributes object
+ */
+ const EXTENSION_ATTRIBUTES_KEY = 'extension_attributes';
+ }
+ /**
+ * Interface for entities which can be extended with custom attributes.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface CustomAttributesDataInterface extends \Magento\Framework\Api\ExtensibleDataInterface
+ {
+ /**
+ * Array key for custom attributes
+ */
+ const CUSTOM_ATTRIBUTES = 'custom_attributes';
+ /**
+ * Get an attribute value.
+ *
+ * @param string $attributeCode
+ * @return \Magento\Framework\Api\AttributeInterface|null
+ */
+ public function getCustomAttribute($attributeCode);
+ /**
+ * Set an attribute value for a given attribute code
+ *
+ * @param string $attributeCode
+ * @param mixed $attributeValue
+ * @return $this
+ */
+ public function setCustomAttribute($attributeCode, $attributeValue);
+ /**
+ * Retrieve custom attributes values.
+ *
+ * @return \Magento\Framework\Api\AttributeInterface[]|null
+ */
+ public function getCustomAttributes();
+ /**
+ * Set array of custom attributes
+ *
+ * @param \Magento\Framework\Api\AttributeInterface[] $attributes
+ * @return $this
+ * @throws \LogicException
+ */
+ public function setCustomAttributes(array $attributes);
+ }
+ class ObjectFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create data object
+ *
+ * @param string $className
+ * @param array $arguments
+ * @return object
+ */
+ public function create($className, array $arguments)
+ {
+ }
+ /**
+ * Get data object
+ *
+ * @param string $className
+ * @return object
+ */
+ public function get($className)
+ {
+ }
+ }
+ /**
+ * Image content validation interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ImageContentValidatorInterface
+ {
+ /**
+ * Check if gallery entry content is valid
+ *
+ * @param ImageContentInterface $imageContent
+ * @return bool
+ * @throws InputException
+ */
+ public function isValid(\Magento\Framework\Api\Data\ImageContentInterface $imageContent);
+ }
+ /**
+ * Class for Image content validation
+ */
+ class ImageContentValidator implements \Magento\Framework\Api\ImageContentValidatorInterface
+ {
+ /**
+ * @param array $allowedMimeTypes
+ */
+ public function __construct(array $allowedMimeTypes = [])
+ {
+ }
+ /**
+ * Check if gallery entry content is valid
+ *
+ * @param ImageContentInterface $imageContent
+ * @return bool
+ * @throws InputException
+ */
+ public function isValid(\Magento\Framework\Api\Data\ImageContentInterface $imageContent)
+ {
+ }
+ /**
+ * Check if given mime type is valid
+ *
+ * @param string $mimeType
+ * @return bool
+ */
+ protected function isMimeTypeValid($mimeType)
+ {
+ }
+ /**
+ * Check if given filename is valid
+ *
+ * @param string $name
+ * @return bool
+ */
+ protected function isNameValid($name)
+ {
+ }
+ }
+ /**
+ * Base Class for simple data Objects
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ *
+ * @api
+ */
+ abstract class AbstractSimpleObject
+ {
+ /**
+ * @var array
+ */
+ protected $_data;
+ /**
+ * Initialize internal storage
+ *
+ * @param array $data
+ */
+ public function __construct(array $data = [])
+ {
+ }
+ /**
+ * Retrieves a value from the data array if set, or null otherwise.
+ *
+ * @param string $key
+ * @return mixed|null
+ */
+ protected function _get($key)
+ {
+ }
+ /**
+ * Set value for the given key
+ *
+ * @param string $key
+ * @param mixed $value
+ * @return $this
+ */
+ public function setData($key, $value)
+ {
+ }
+ /**
+ * Return Data Object data in array format.
+ *
+ * @return array
+ */
+ public function __toArray()
+ {
+ }
+ }
+ /**
+ * Base Class for extensible data Objects
+ *
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ * phpcs:disable Magento2.Classes.AbstractApi
+ * @api
+ * @deprecated 103.0.0
+ * @see \Magento\Framework\Model\AbstractExtensibleModel
+ * @since 100.0.2
+ */
+ abstract class AbstractExtensibleObject extends \Magento\Framework\Api\AbstractSimpleObject implements \Magento\Framework\Api\CustomAttributesDataInterface
+ {
+ /**
+ * Array key for custom attributes
+ */
+ const CUSTOM_ATTRIBUTES_KEY = 'custom_attributes';
+ /**
+ * @var \Magento\Framework\Api\ExtensionAttributesFactory
+ */
+ protected $extensionFactory;
+ /**
+ * @var AttributeValueFactory
+ */
+ protected $attributeValueFactory;
+ /**
+ * @var string[]
+ */
+ protected $customAttributesCodes;
+ /**
+ * Initialize internal storage
+ *
+ * @param \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory
+ * @param AttributeValueFactory $attributeValueFactory
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory, \Magento\Framework\Api\AttributeValueFactory $attributeValueFactory, $data = [])
+ {
+ }
+ /**
+ * Get an attribute value.
+ *
+ * @param string $attributeCode
+ * @return \Magento\Framework\Api\AttributeInterface|null null if the attribute has not been set
+ */
+ public function getCustomAttribute($attributeCode)
+ {
+ }
+ /**
+ * Retrieve custom attributes values.
+ *
+ * @return \Magento\Framework\Api\AttributeInterface[]|null
+ */
+ public function getCustomAttributes()
+ {
+ }
+ /**
+ * Set array of custom attributes
+ *
+ * @param \Magento\Framework\Api\AttributeInterface[] $attributes
+ * @return $this
+ * @throws \LogicException
+ */
+ public function setCustomAttributes(array $attributes)
+ {
+ }
+ /**
+ * Set an attribute value for a given attribute code
+ *
+ * @param string $attributeCode
+ * @param mixed $attributeValue
+ * @return $this
+ */
+ public function setCustomAttribute($attributeCode, $attributeValue)
+ {
+ }
+ /**
+ * Get a list of custom attribute codes.
+ *
+ * By default, entity can be extended only using extension attributes functionality.
+ *
+ * @return string[]
+ */
+ protected function getCustomAttributesCodes()
+ {
+ }
+ /**
+ * Receive a list of EAV attributes using provided metadata service.
+ *
+ * Can be used in child classes, which represent EAV entities.
+ *
+ * @param \Magento\Framework\Api\MetadataServiceInterface $metadataService
+ * @return string[]
+ */
+ protected function getEavAttributesCodes(\Magento\Framework\Api\MetadataServiceInterface $metadataService)
+ {
+ }
+ /**
+ * Retrieve existing extension attributes object or create a new one.
+ *
+ * @return \Magento\Framework\Api\ExtensionAttributesInterface
+ */
+ protected function _getExtensionAttributes()
+ {
+ }
+ /**
+ * Set an extension attributes object.
+ *
+ * @param \Magento\Framework\Api\ExtensionAttributesInterface $extensionAttributes
+ * @return $this
+ */
+ protected function _setExtensionAttributes(\Magento\Framework\Api\ExtensionAttributesInterface $extensionAttributes)
+ {
+ }
+ }
+ /**
+ * Interface for custom attribute value.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface AttributeInterface
+ {
+ /**#@+
+ * Constant used as key into $_data
+ */
+ const ATTRIBUTE_CODE = 'attribute_code';
+ const VALUE = 'value';
+ /**#@-*/
+ /**
+ * Get attribute code
+ *
+ * @return string
+ */
+ public function getAttributeCode();
+ /**
+ * Set attribute code
+ *
+ * @param string $attributeCode
+ * @return $this
+ */
+ public function setAttributeCode($attributeCode);
+ /**
+ * Get attribute value
+ *
+ * @return mixed
+ */
+ public function getValue();
+ /**
+ * Set attribute value
+ *
+ * @param mixed $value
+ * @return $this
+ */
+ public function setValue($value);
+ }
+ /**
+ * Custom Attribute Data object
+ */
+ class AttributeValue extends \Magento\Framework\Api\AbstractSimpleObject implements \Magento\Framework\Api\AttributeInterface
+ {
+ /**
+ * Get attribute code
+ *
+ * @return string
+ */
+ public function getAttributeCode()
+ {
+ }
+ /**
+ * Get attribute value
+ *
+ * @return mixed
+ */
+ public function getValue()
+ {
+ }
+ /**
+ * Set attribute code
+ *
+ * @param string $attributeCode
+ * @return $this
+ */
+ public function setAttributeCode($attributeCode)
+ {
+ }
+ /**
+ * Set attribute value
+ *
+ * @param mixed $value
+ * @return $this
+ */
+ public function setValue($value)
+ {
+ }
+ }
+ /**
+ * Base Builder Class for simple data Objects
+ * @deprecated 103.0.0 Every builder should have own implementation of \Magento\Framework\Api\SimpleBuilderInterface
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ */
+ abstract class AbstractSimpleObjectBuilder implements \Magento\Framework\Api\SimpleBuilderInterface, \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * @var array
+ */
+ protected $data;
+ /**
+ * @var ObjectFactory
+ */
+ protected $objectFactory;
+ /**
+ * @param ObjectFactory $objectFactory
+ */
+ public function __construct(\Magento\Framework\Api\ObjectFactory $objectFactory)
+ {
+ }
+ /**
+ * Builds the Data Object
+ *
+ * @return AbstractSimpleObject
+ */
+ public function create()
+ {
+ }
+ /**
+ * Overwrite data in Object.
+ *
+ * @param string $key
+ * @param mixed $value
+ *
+ * @return $this
+ */
+ protected function _set($key, $value)
+ {
+ }
+ /**
+ * Return the Data type class name
+ *
+ * @return string
+ */
+ protected function _getDataObjectType()
+ {
+ }
+ /**
+ * Return data Object data.
+ *
+ * @return array
+ */
+ public function getData()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ }
+ /**
+ * Builder for SearchCriteria Service Data Object
+ *
+ * @api
+ */
+ class SearchCriteriaBuilder extends \Magento\Framework\Api\AbstractSimpleObjectBuilder
+ {
+ /**
+ * @var FilterGroupBuilder
+ */
+ protected $_filterGroupBuilder;
+ /**
+ * @var \Magento\Framework\Api\FilterBuilder
+ */
+ protected $filterBuilder;
+ /**
+ * @param ObjectFactory $objectFactory
+ * @param FilterGroupBuilder $filterGroupBuilder
+ * @param FilterBuilder $filterBuilder
+ */
+ public function __construct(\Magento\Framework\Api\ObjectFactory $objectFactory, \Magento\Framework\Api\Search\FilterGroupBuilder $filterGroupBuilder, \Magento\Framework\Api\FilterBuilder $filterBuilder)
+ {
+ }
+ /**
+ * Builds the SearchCriteria Data Object
+ *
+ * @return SearchCriteria
+ */
+ public function create()
+ {
+ }
+ /**
+ * Create a filter group based on the filter array provided and add to the filter groups
+ *
+ * @param \Magento\Framework\Api\Filter[] $filter
+ * @return $this
+ */
+ public function addFilters(array $filter)
+ {
+ }
+ /**
+ * Add search filter
+ *
+ * @param string $field
+ * @param mixed $value
+ * @param string $conditionType
+ * @return $this
+ */
+ public function addFilter($field, $value, $conditionType = 'eq')
+ {
+ }
+ /**
+ * Set filter groups
+ *
+ * @param \Magento\Framework\Api\Search\FilterGroup[] $filterGroups
+ * @return $this
+ */
+ public function setFilterGroups(array $filterGroups)
+ {
+ }
+ /**
+ * Add sort order
+ *
+ * @param SortOrder $sortOrder
+ * @return $this
+ */
+ public function addSortOrder($sortOrder)
+ {
+ }
+ /**
+ * Set sort orders
+ *
+ * @param SortOrder[] $sortOrders
+ * @return $this
+ */
+ public function setSortOrders(array $sortOrders)
+ {
+ }
+ /**
+ * Set page size
+ *
+ * @param int $pageSize
+ * @return $this
+ */
+ public function setPageSize($pageSize)
+ {
+ }
+ /**
+ * Set current page
+ *
+ * @param int $currentPage
+ * @return $this
+ */
+ public function setCurrentPage($currentPage)
+ {
+ }
+ }
+ /**
+ * Search results interface.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface SearchResultsInterface
+ {
+ /**
+ * Get items list.
+ *
+ * @return \Magento\Framework\Api\ExtensibleDataInterface[]
+ */
+ public function getItems();
+ /**
+ * Set items list.
+ *
+ * @param \Magento\Framework\Api\ExtensibleDataInterface[] $items
+ * @return $this
+ */
+ public function setItems(array $items);
+ /**
+ * Get search criteria.
+ *
+ * @return \Magento\Framework\Api\SearchCriteriaInterface
+ */
+ public function getSearchCriteria();
+ /**
+ * Set search criteria.
+ *
+ * @param \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria
+ * @return $this
+ */
+ public function setSearchCriteria(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria);
+ /**
+ * Get total count.
+ *
+ * @return int
+ */
+ public function getTotalCount();
+ /**
+ * Set total count.
+ *
+ * @param int $totalCount
+ * @return $this
+ */
+ public function setTotalCount($totalCount);
+ }
+ /**
+ * SearchResults Service Data Object used for the search service requests
+ *
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ */
+ class SearchResults extends \Magento\Framework\Api\AbstractSimpleObject implements \Magento\Framework\Api\SearchResultsInterface
+ {
+ const KEY_ITEMS = 'items';
+ const KEY_SEARCH_CRITERIA = 'search_criteria';
+ const KEY_TOTAL_COUNT = 'total_count';
+ /**
+ * Get items
+ *
+ * @return \Magento\Framework\Api\AbstractExtensibleObject[]
+ */
+ public function getItems()
+ {
+ }
+ /**
+ * Set items
+ *
+ * @param \Magento\Framework\Api\AbstractExtensibleObject[] $items
+ * @return $this
+ */
+ public function setItems(array $items)
+ {
+ }
+ /**
+ * Get search criteria
+ *
+ * @return \Magento\Framework\Api\SearchCriteria
+ */
+ public function getSearchCriteria()
+ {
+ }
+ /**
+ * Set search criteria
+ *
+ * @param SearchCriteriaInterface $searchCriteria
+ * @return $this
+ */
+ public function setSearchCriteria(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria)
+ {
+ }
+ /**
+ * Get total count
+ *
+ * @return int
+ */
+ public function getTotalCount()
+ {
+ }
+ /**
+ * Set total count
+ *
+ * @param int $count
+ * @return $this
+ */
+ public function setTotalCount($count)
+ {
+ }
+ }
+ /**
+ * Groups two or more filters together using 'OR' or 'AND' strategy
+ */
+ class CombinedFilterGroup extends \Magento\Framework\Api\AbstractSimpleObject
+ {
+ /**
+ * Constants defined for keys of data array
+ */
+ const FILTERS = 'filters';
+ const COMBINATION_MODE = 'combination_mode';
+ /**
+ * Possible aggregation strategies for filters
+ */
+ const COMBINED_WITH_AND = 'AND';
+ const COMBINED_WITH_OR = 'OR';
+ /**
+ * Returns a list of filters in this group
+ *
+ * @return \Magento\Framework\Api\Filter[]|null
+ */
+ public function getFilters()
+ {
+ }
+ /**
+ * Set filters
+ *
+ * @param \Magento\Framework\Api\Filter[] $filters
+ * @return $this
+ * @codeCoverageIgnore
+ */
+ public function setFilters(array $filters = null) : self
+ {
+ }
+ /**
+ * @return mixed|null
+ */
+ public function getCombinationMode()
+ {
+ }
+ /**
+ * @param string $mode
+ * @return $this
+ * @throws InputException
+ */
+ public function setCombinationMode(string $mode) : self
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Data {
+ /**
+ * Video Content data interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface VideoContentInterface extends \Magento\Framework\Api\ExtensibleDataInterface
+ {
+ const TYPE = 'media_type';
+ const PROVIDER = 'video_provider';
+ const URL = 'video_url';
+ const TITLE = 'video_title';
+ const DESCRIPTION = 'video_description';
+ const METADATA = 'video_metadata';
+ /**
+ * Retrieve MIME type
+ *
+ * @return string
+ */
+ public function getMediaType();
+ /**
+ * Set MIME type
+ *
+ * @param string $mimeType
+ * @return $this
+ */
+ public function setMediaType($mimeType);
+ /**
+ * Get provider
+ *
+ * @return string
+ */
+ public function getVideoProvider();
+ /**
+ * Set provider
+ *
+ * @param string $data
+ * @return $this
+ */
+ public function setVideoProvider($data);
+ /**
+ * Get video URL
+ *
+ * @return string
+ */
+ public function getVideoUrl();
+ /**
+ * Set video URL
+ *
+ * @param string $data
+ * @return $this
+ */
+ public function setVideoUrl($data);
+ /**
+ * Get Title
+ *
+ * @return string
+ */
+ public function getVideoTitle();
+ /**
+ * Set Title
+ *
+ * @param string $data
+ * @return $this
+ */
+ public function setVideoTitle($data);
+ /**
+ * Get video Description
+ *
+ * @return string
+ */
+ public function getVideoDescription();
+ /**
+ * Set video Description
+ *
+ * @param string $data
+ * @return $this
+ */
+ public function setVideoDescription($data);
+ /**
+ * Get Metadata
+ *
+ * @return string
+ */
+ public function getVideoMetadata();
+ /**
+ * Set Metadata
+ *
+ * @param string $data
+ * @return $this
+ */
+ public function setVideoMetadata($data);
+ }
+ /**
+ * Image Content data interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ImageContentInterface
+ {
+ const BASE64_ENCODED_DATA = 'base64_encoded_data';
+ const TYPE = 'type';
+ const NAME = 'name';
+ /**
+ * Retrieve media data (base64 encoded content)
+ *
+ * @return string
+ */
+ public function getBase64EncodedData();
+ /**
+ * Set media data (base64 encoded content)
+ *
+ * @param string $data
+ * @return $this
+ */
+ public function setBase64EncodedData($data);
+ /**
+ * Retrieve MIME type
+ *
+ * @return string
+ */
+ public function getType();
+ /**
+ * Set MIME type
+ *
+ * @param string $mimeType
+ * @return $this
+ */
+ public function setType($mimeType);
+ /**
+ * Retrieve image name
+ *
+ * @return string
+ */
+ public function getName();
+ /**
+ * Set image name
+ *
+ * @param string $name
+ * @return $this
+ */
+ public function setName($name);
+ }
+}
+namespace Magento\Framework\Api {
+ /**
+ * Interface Attribute Type Resolver
+ *
+ * @api
+ */
+ interface AttributeTypeResolverInterface
+ {
+ /**
+ * Resolve attribute type
+ *
+ * @param string $attributeCode
+ * @param object $value
+ * @param string $context
+ * @return string
+ */
+ public function resolveObjectType($attributeCode, $value, $context);
+ }
+ /**
+ * Provides metadata about an attribute.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface MetadataObjectInterface
+ {
+ /**
+ * Retrieve code of the attribute.
+ *
+ * @return string
+ */
+ public function getAttributeCode();
+ /**
+ * Set code of the attribute.
+ *
+ * @param string $attributeCode
+ * @return $this
+ */
+ public function setAttributeCode($attributeCode);
+ }
+}
+namespace Magento\Framework\Api\Test\Unit {
+ class StubAbstractSimpleObjectBuilder extends \Magento\Framework\Api\AbstractSimpleObjectBuilder
+ {
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\Api {
+ /**
+ * Unit test class for \Magento\Framework\Api\ImageProcessor
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class ImageProcessorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ImageProcessor
+ */
+ protected $imageProcessor;
+ /**
+ * @var ObjectManager
+ */
+ protected $objectManager;
+ /**
+ * @var Filesystem|MockObject
+ */
+ protected $fileSystemMock;
+ /**
+ * @var ImageContentValidatorInterface|MockObject
+ */
+ protected $contentValidatorMock;
+ /**
+ * @var DataObjectHelper|MockObject
+ */
+ protected $dataObjectHelperMock;
+ /**
+ * @var LoggerInterface|MockObject
+ */
+ protected $loggerMock;
+ /**
+ * @var Uploader|MockObject
+ */
+ protected $uploaderMock;
+ /**
+ * @var WriteInterface|MockObject
+ */
+ protected $directoryWriteMock;
+ protected function setUp() : void
+ {
+ }
+ public function testSaveWithNoImageData()
+ {
+ }
+ public function testSaveInputException()
+ {
+ }
+ public function testSaveWithNoPreviousData()
+ {
+ }
+ public function testSaveWithPreviousData()
+ {
+ }
+ public function testSaveWithoutFileExtension()
+ {
+ }
+ }
+ /**
+ * Unit test class for \Magento\Framework\Api\ImageContentValidator
+ */
+ class ImageContentValidatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ImageContentValidator
+ */
+ protected $imageContentValidator;
+ /**
+ * @var ObjectManager
+ */
+ protected $objectManager;
+ protected function setUp() : void
+ {
+ }
+ public function testIsValidEmptyContent()
+ {
+ }
+ public function testIsValidEmptyProperties()
+ {
+ }
+ public function testIsValidInvalidMIMEType()
+ {
+ }
+ public function testIsValidInvalidName()
+ {
+ }
+ public function testIsValid()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\Data {
+ class AttributeValueTest extends \PHPUnit\Framework\TestCase
+ {
+ const ATTRIBUTE_CODE = 'ATTRIBUTE_CODE';
+ const STRING_VALUE = 'VALUE';
+ const INTEGER_VALUE = 1;
+ const FLOAT_VALUE = 1.0;
+ const BOOLEAN_VALUE = true;
+ public function testConstructorAndGettersWithString()
+ {
+ }
+ public function testConstructorAndGettersWithInteger()
+ {
+ }
+ public function testConstructorAndGettersWithFloat()
+ {
+ }
+ public function testConstructorAndGettersWithBoolean()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\ExtensionAttribute\Config {
+ class XsdTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var string
+ */
+ protected $_schemaFile;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $fixtureXml
+ * @param array $expectedErrors
+ * @dataProvider exemplarXmlDataProvider
+ */
+ public function testExemplarXml($fixtureXml, array $expectedErrors)
+ {
+ }
+ /**
+ * @return array
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ */
+ public function exemplarXmlDataProvider()
+ {
+ }
+ }
+ /**
+ * Test for \Magento\Framework\Api\ExtensionAttribute\Config\SchemaLocator
+ */
+ class SchemaLocatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var SchemaLocator
+ */
+ protected $model;
+ /** @var UrnResolver */
+ protected $urnResolver;
+ protected function setUp() : void
+ {
+ }
+ public function testGetSchema()
+ {
+ }
+ public function testGetPerFileSchema()
+ {
+ }
+ }
+ class ConverterTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Converter
+ */
+ protected $_converter;
+ /**
+ * Initialize parameters
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test invalid data
+ */
+ public function testInvalidData()
+ {
+ }
+ /**
+ * Test empty data
+ */
+ public function testConvertNoElements()
+ {
+ }
+ /**
+ * Test converting valid data object config
+ */
+ public function testConvert()
+ {
+ }
+ /**
+ * Test converting valid data object config
+ */
+ public function testConvertWithJoinDirectives()
+ {
+ }
+ }
+ class ReaderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Reader
+ */
+ protected $_reader;
+ /**
+ * Prepare parameters
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test creating object
+ */
+ public function testInstanceof()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\SearchCriteria\CollectionProcessor {
+ class PaginationProcessorTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testProcess()
+ {
+ }
+ }
+ class JoinProcessorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ */
+ public function testProcess()
+ {
+ }
+ public function testProcessWithException()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\SearchCriteria\CollectionProcessor\ConditionProcessor {
+ class CustomConditionProviderTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testPositiveHasProcessorForField()
+ {
+ }
+ public function testNegativeHasProcessorForField()
+ {
+ }
+ public function testPositiveGetProcessorByField()
+ {
+ }
+ public function testNegativeGetProcessorByFieldExceptionFieldIsAbsent()
+ {
+ }
+ public function testNegativeGetProcessorByFieldExceptionWrongClass()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\SearchCriteria\CollectionProcessor {
+ class FilterProcessorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ */
+ public function testProcess()
+ {
+ }
+ public function testProcessWithException()
+ {
+ }
+ }
+ class SortingProcessorTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testProcess()
+ {
+ }
+ public function testProcessWithDefaults()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\SearchCriteria {
+ class CollectionProcessorTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testProcess()
+ {
+ }
+ public function testProcessWithException()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Test\Unit {
+ class ExtensibleDataObjectConverterTest extends \PHPUnit\Framework\TestCase
+ {
+ /** @var ExtensibleDataObjectConverter */
+ protected $converter;
+ /** @var DataObjectProcessor|MockObject */
+ protected $processor;
+ /** @var ExtensibleDataInterface|MockObject */
+ protected $dataObject;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test toNestedArray() method without custom attributes.
+ */
+ public function testToNestedArray()
+ {
+ }
+ /**
+ * Test toNestedArray() method with custom attributes and with skipped custom attribute.
+ */
+ public function testToNestedArrayCustom()
+ {
+ }
+ }
+ class AbstractSimpleObjectBuilderTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testCreate()
+ {
+ }
+ }
+ /**
+ * @covers \Magento\Framework\Api\SortOrder
+ */
+ class SortOrderTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testItReturnsNullIfNoOrderIsSet()
+ {
+ }
+ /**
+ * @dataProvider sortOrderDirectionProvider
+ */
+ public function testItReturnsTheCorrectValuesIfSortOrderIsSet($sortOrder)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function sortOrderDirectionProvider()
+ {
+ }
+ /**
+ * @param mixed $invalidDirection
+ * @dataProvider invalidSortDirectionProvider
+ */
+ public function testItThrowsAnExceptionIfAnInvalidSortOrderIsSet($invalidDirection)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function invalidSortDirectionProvider()
+ {
+ }
+ public function testTheSortDirectionCanBeSpecifiedCaseInsensitive()
+ {
+ }
+ public function testItValidatesADirectionAssignedDuringInstantiation()
+ {
+ }
+ public function testValidateField()
+ {
+ }
+ }
+ /**
+ * Class Stub for testing AbstractSimpleObjectBuilder class
+ */
+ class StubAbstractSimpleObject extends \Magento\Framework\Api\AbstractSimpleObject
+ {
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\StubAbstractSimpleObjectBuilder {
+ class InterceptorTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testCreate()
+ {
+ }
+ }
+ class Interceptor extends \Magento\Framework\Api\Test\Unit\StubAbstractSimpleObjectBuilder
+ {
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\Code\Generator {
+ class ExtensionAttributesInterfaceGeneratorTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGenerate()
+ {
+ }
+ public function testValidateException()
+ {
+ }
+ }
+ /**
+ * Class BuilderTest
+ */
+ abstract class EntityChildTestAbstract extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Io|MockObject
+ */
+ protected $ioObjectMock;
+ /**
+ * @var EntityAbstract
+ */
+ protected $generator;
+ /**
+ * @var ClassGenerator|MockObject
+ */
+ protected $classGenerator;
+ /** @var MockObject|DefinedClasses */
+ protected $definedClassesMock;
+ /**
+ * @return mixed
+ */
+ protected abstract function getSourceClassName();
+ /**
+ * @return mixed
+ */
+ protected abstract function getResultClassName();
+ /**
+ * @return mixed
+ */
+ protected abstract function getGeneratorClassName();
+ /**
+ * @return mixed
+ */
+ protected abstract function getOutputFileName();
+ protected function setUp() : void
+ {
+ }
+ /**
+ * generate repository name
+ */
+ public function testGenerate()
+ {
+ }
+ protected function mockDefinedClassesCall()
+ {
+ }
+ }
+ /**
+ * Interface for ExtensibleSample
+ */
+ interface ExtensibleSampleInterface extends \Magento\Framework\Api\ExtensibleDataInterface
+ {
+ /**
+ * @return array
+ */
+ public function getItems();
+ /**
+ * @return string
+ */
+ public function getName();
+ /**
+ * @return int
+ */
+ public function getCount();
+ /**
+ * @return int
+ */
+ public function getCreatedAt();
+ }
+}
+namespace Magento\Framework\Model {
+ /**
+ * Abstract model class
+ *
+ * phpcs:disable Magento2.Classes.AbstractApi
+ * @api
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ * @SuppressWarnings(PHPMD.ExcessiveClassLength)
+ * @SuppressWarnings(PHPMD.TooManyFields)
+ * @since 100.0.2
+ */
+ abstract class AbstractModel extends \Magento\Framework\DataObject
+ {
+ /**
+ * Prefix of model events names
+ *
+ * @var string
+ */
+ protected $_eventPrefix = 'core_abstract';
+ /**
+ * Parameter name in event
+ *
+ * In observe method you can use $observer->getEvent()->getObject() in this case
+ *
+ * @var string
+ */
+ protected $_eventObject = 'object';
+ /**
+ * Name of object id field
+ *
+ * @var string
+ */
+ protected $_idFieldName = 'id';
+ /**
+ * Data changes flag (true after setData|unsetData call)
+ * @var bool
+ */
+ protected $_hasDataChanges = false;
+ /**
+ * Original data that was loaded
+ *
+ * @var array
+ */
+ protected $_origData;
+ /**
+ * Object delete flag
+ *
+ * @var bool
+ */
+ protected $_isDeleted = false;
+ /**
+ * Resource model instance
+ *
+ * @var \Magento\Framework\Model\ResourceModel\Db\AbstractDb
+ */
+ protected $_resource;
+ /**
+ * @var \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection
+ */
+ protected $_resourceCollection;
+ /**
+ * Name of the resource model
+ *
+ * @var string
+ */
+ protected $_resourceName;
+ /**
+ * Name of the resource collection model
+ *
+ * @var string
+ */
+ protected $_collectionName;
+ /**
+ * Model cache tag for clear cache in after save and after delete
+ *
+ * When you use true - all cache will be clean
+ *
+ * @var string|array|bool
+ */
+ protected $_cacheTag = false;
+ /**
+ * Flag which can stop data saving after before save
+ * Can be used for next sequence: we check data in _beforeSave, if data are
+ * not valid - we can set this flag to false value and save process will be stopped
+ *
+ * @var bool
+ */
+ protected $_dataSaveAllowed = true;
+ /**
+ * Flag which allow detect object state: is it new object (without id) or existing one (with id)
+ *
+ * @var bool
+ */
+ protected $_isObjectNew = null;
+ /**
+ * Validator for checking the model state before saving it
+ *
+ * @var ValidatorInterface|bool|null
+ */
+ protected $_validatorBeforeSave = null;
+ /**
+ * Application Event Dispatcher
+ *
+ * @var \Magento\Framework\Event\ManagerInterface
+ */
+ protected $_eventManager;
+ /**
+ * Application Cache Manager
+ *
+ * @var \Magento\Framework\App\CacheInterface
+ */
+ protected $_cacheManager;
+ /**
+ * @var \Magento\Framework\Registry
+ */
+ protected $_registry;
+ /**
+ * @var \Psr\Log\LoggerInterface
+ */
+ protected $_logger;
+ /**
+ * @var \Magento\Framework\App\State
+ */
+ protected $_appState;
+ /**
+ * @var \Magento\Framework\Model\ActionValidator\RemoveAction
+ */
+ protected $_actionValidator;
+ /**
+ * Array to store object's original data
+ *
+ * @var array
+ */
+ protected $storedData = [];
+ /**
+ * @param \Magento\Framework\Model\Context $context
+ * @param \Magento\Framework\Registry $registry
+ * @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
+ * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, array $data = [])
+ {
+ }
+ /**
+ * Model construct that should be used for object initialization
+ *
+ * @return void
+ */
+ protected function _construct()
+ {
+ }
+ /**
+ * Standard model initialization
+ *
+ * @param string $resourceModel
+ * @return void
+ */
+ protected function _init($resourceModel)
+ {
+ }
+ /**
+ * Remove unneeded properties from serialization
+ *
+ * @return string[]
+ */
+ public function __sleep()
+ {
+ }
+ /**
+ * Init not serializable fields
+ *
+ * @return void
+ */
+ public function __wakeup()
+ {
+ }
+ /**
+ * Id field name setter
+ *
+ * @param string $name
+ * @return $this
+ */
+ public function setIdFieldName($name)
+ {
+ }
+ /**
+ * Id field name getter
+ *
+ * @return string
+ */
+ public function getIdFieldName()
+ {
+ }
+ /**
+ * Identifier getter
+ *
+ * @return mixed
+ */
+ public function getId()
+ {
+ }
+ /**
+ * Identifier setter
+ *
+ * @param mixed $value
+ * @return $this
+ */
+ public function setId($value)
+ {
+ }
+ /**
+ * Set _isDeleted flag value (if $isDeleted parameter is defined) and return current flag value
+ *
+ * @param boolean $isDeleted
+ * @return bool
+ */
+ public function isDeleted($isDeleted = null)
+ {
+ }
+ /**
+ * Check if initial object data was changed.
+ *
+ * Initial data is coming to object constructor.
+ * Flag value should be set up to true after any external data changes
+ *
+ * @return bool
+ */
+ public function hasDataChanges()
+ {
+ }
+ /**
+ * Overwrite data in the object.
+ *
+ * The $key parameter can be string or array.
+ * If $key is string, the attribute value will be overwritten by $value
+ *
+ * If $key is an array, it will overwrite all the data in the object.
+ *
+ * @param string|array $key
+ * @param mixed $value
+ * @return $this
+ */
+ public function setData($key, $value = null)
+ {
+ }
+ /**
+ * Unset data from the object.
+ *
+ * @param null|string|array $key
+ * @return $this
+ */
+ public function unsetData($key = null)
+ {
+ }
+ /**
+ * Clears data changes status
+ *
+ * @param bool $value
+ * @return $this
+ */
+ public function setDataChanges($value)
+ {
+ }
+ /**
+ * Get object original data
+ *
+ * @param string $key
+ * @return mixed
+ */
+ public function getOrigData($key = null)
+ {
+ }
+ /**
+ * Initialize object original data
+ *
+ * @FIXME changing original data can't be available as public interface
+ *
+ * @param string $key
+ * @param mixed $data
+ * @return $this
+ */
+ public function setOrigData($key = null, $data = null)
+ {
+ }
+ /**
+ * Compare object data with original data
+ *
+ * @param string $field
+ * @return bool
+ */
+ public function dataHasChangedFor($field)
+ {
+ }
+ /**
+ * Set resource names
+ *
+ * If collection name is omitted, resource name will be used with _collection appended
+ *
+ * @param string $resourceName
+ * @param string|null $collectionName
+ * @return void
+ */
+ protected function _setResourceModel($resourceName, $collectionName = null)
+ {
+ }
+ /**
+ * Get resource instance
+ *
+ * @throws \Magento\Framework\Exception\LocalizedException
+ * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb
+ * @deprecated 101.0.0 because resource models should be used directly
+ * @see we don't recommend this approach anymore
+ */
+ protected function _getResource()
+ {
+ }
+ /**
+ * Retrieve model resource name
+ *
+ * @return string
+ */
+ public function getResourceName()
+ {
+ }
+ /**
+ * Get collection instance
+ *
+ * @TODO MAGETWO-23541: Incorrect dependencies between Model\AbstractModel and Data\Collection\Db from Framework
+ * @throws \Magento\Framework\Exception\LocalizedException
+ * @return \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection
+ * @deprecated 101.0.0 because collections should be used directly via factory
+ * @see we don't recommend this approach anymore
+ */
+ public function getResourceCollection()
+ {
+ }
+ /**
+ * Retrieve collection instance
+ *
+ * @TODO MAGETWO-23541: Incorrect dependencies between Model\AbstractModel and Data\Collection\Db from Framework
+ * @return \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection
+ * @deprecated 101.0.0 because collections should be used directly via factory
+ * @see we don't recommend this approach anymore
+ */
+ public function getCollection()
+ {
+ }
+ /**
+ * Load object data
+ *
+ * @param integer $modelId
+ * @param null|string $field
+ * @return $this
+ * @deprecated 100.1.0 because entities must not be responsible for their own loading.
+ * Service contracts should persist entities. Use resource model "load" or collections to implement
+ * service contract model loading operations.
+ * @see we don't recommend this approach anymore
+ */
+ public function load($modelId, $field = null)
+ {
+ }
+ /**
+ * Get array of objects transferred to default events processing
+ *
+ * @return array
+ */
+ protected function _getEventData()
+ {
+ }
+ /**
+ * Processing object before load data
+ *
+ * @param int $modelId
+ * @param null|string $field
+ * @return $this
+ */
+ protected function _beforeLoad($modelId, $field = null)
+ {
+ }
+ /**
+ * Processing object after load data
+ *
+ * @return $this
+ */
+ protected function _afterLoad()
+ {
+ }
+ /**
+ * Process operation before object load
+ *
+ * @param string $identifier
+ * @param string|null $field
+ * @return void
+ * @since 101.0.0
+ */
+ public function beforeLoad($identifier, $field = null)
+ {
+ }
+ /**
+ * Object after load processing. Implemented as public interface for supporting objects after load in collections
+ *
+ * @return $this
+ */
+ public function afterLoad()
+ {
+ }
+ /**
+ * Check whether model has changed data.
+ * Can be overloaded in child classes to perform advanced check whether model needs to be saved
+ * e.g. using resourceModel->hasDataChanged() or any other technique
+ *
+ * @return boolean
+ */
+ protected function _hasModelChanged()
+ {
+ }
+ /**
+ * Check if save is allowed
+ *
+ * @return bool
+ */
+ public function isSaveAllowed()
+ {
+ }
+ /**
+ * Set flag property _hasDataChanges
+ *
+ * @param bool $flag
+ * @return void
+ */
+ public function setHasDataChanges($flag)
+ {
+ }
+ /**
+ * Save object data
+ *
+ * @return $this
+ * @throws \Exception
+ *
+ * @deprecated 100.1.0 because entities must not be responsible for their own persistence.
+ * Service contracts should persist entities. Use resource model "save" to implement
+ * service contract persistence operations.
+ * @see we don't recommend this approach anymore
+ */
+ public function save()
+ {
+ }
+ /**
+ * Callback function which called after transaction commit in resource model
+ *
+ * @return $this
+ */
+ public function afterCommitCallback()
+ {
+ }
+ /**
+ * Check object state (true - if it is object without id on object just created)
+ * This method can help detect if object just created in _afterSave method
+ * problem is what in after save object has id and we can't detect what object was
+ * created in this transaction
+ *
+ * @param bool|null $flag
+ * @return bool
+ */
+ public function isObjectNew($flag = null)
+ {
+ }
+ /**
+ * Processing object before save data
+ *
+ * @return $this
+ */
+ public function beforeSave()
+ {
+ }
+ /**
+ * Validate model before saving it
+ *
+ * @return $this
+ * @throws \Magento\Framework\Validator\Exception
+ */
+ public function validateBeforeSave()
+ {
+ }
+ /**
+ * Returns validator, which contains all rules to validate this model.
+ *
+ * Returns FALSE, if no validation rules exist.
+ *
+ * @return ValidatorInterface|false
+ */
+ protected function _getValidatorBeforeSave()
+ {
+ }
+ /**
+ * Creates validator for the model with all validation rules in it.
+ *
+ * Returns FALSE, if no validation rules exist.
+ *
+ * @return ValidatorInterface|bool
+ * @throws LocalizedException
+ */
+ protected function _createValidatorBeforeSave()
+ {
+ }
+ /**
+ * Template method to return validate rules for the entity
+ *
+ * @return ValidatorInterface|null
+ */
+ protected function _getValidationRulesBeforeSave()
+ {
+ }
+ /**
+ * Get list of cache tags applied to model object.
+ *
+ * Return false if cache tags are not supported by model
+ *
+ * @return array|false
+ */
+ public function getCacheTags()
+ {
+ }
+ /**
+ * Remove model object related cache
+ *
+ * @return $this
+ */
+ public function cleanModelCache()
+ {
+ }
+ /**
+ * Processing object after save data
+ *
+ * @return $this
+ */
+ public function afterSave()
+ {
+ }
+ /**
+ * Delete object from database
+ *
+ * @return $this
+ * @throws \Exception
+ * @deprecated 100.1.0 because entities must not be responsible for their own deletion.
+ * Service contracts should delete entities. Use resource model "delete" method to implement
+ * service contract persistence operations.
+ * @see we don't recommend this approach anymore
+ */
+ public function delete()
+ {
+ }
+ /**
+ * Processing object before delete data
+ *
+ * @return $this
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function beforeDelete()
+ {
+ }
+ /**
+ * Processing object after delete data
+ *
+ * @return $this
+ */
+ public function afterDelete()
+ {
+ }
+ /**
+ * Processing manipulation after main transaction commit
+ *
+ * @return $this
+ */
+ public function afterDeleteCommit()
+ {
+ }
+ /**
+ * Retrieve model resource
+ *
+ * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb
+ * @deprecated 101.0.0 because resource models should be used directly
+ * @see we don't recommend this approach anymore
+ */
+ public function getResource()
+ {
+ }
+ /**
+ * Retrieve entity id
+ *
+ * @return mixed
+ */
+ public function getEntityId()
+ {
+ }
+ /**
+ * Set entity id
+ *
+ * @param int $entityId
+ * @return $this
+ */
+ public function setEntityId($entityId)
+ {
+ }
+ /**
+ * Clearing object for correct deleting by garbage collector
+ *
+ * @return $this
+ */
+ public function clearInstance()
+ {
+ }
+ /**
+ * Clearing cyclic references
+ *
+ * @return $this
+ */
+ protected function _clearReferences()
+ {
+ }
+ /**
+ * Clearing object's data
+ *
+ * @return $this
+ */
+ protected function _clearData()
+ {
+ }
+ /**
+ * Model StoredData getter
+ *
+ * @return array
+ */
+ public function getStoredData()
+ {
+ }
+ /**
+ * Returns _eventPrefix
+ *
+ * @return string
+ */
+ public function getEventPrefix()
+ {
+ }
+ }
+ /**
+ * Abstract model with custom attributes support.
+ *
+ * This class defines basic data structure of how custom attributes are stored in an ExtensibleModel.
+ * Implementations may choose to process custom attributes as their persistence requires them to.
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ * phpcs:disable Magento2.Classes.AbstractApi
+ * @api
+ * @since 100.0.2
+ */
+ abstract class AbstractExtensibleModel extends \Magento\Framework\Model\AbstractModel implements \Magento\Framework\Api\CustomAttributesDataInterface
+ {
+ /**
+ * @var ExtensionAttributesFactory
+ */
+ protected $extensionAttributesFactory;
+ /**
+ * @var \Magento\Framework\Api\ExtensionAttributesInterface
+ */
+ protected $extensionAttributes;
+ /**
+ * @var AttributeValueFactory
+ */
+ protected $customAttributeFactory;
+ /**
+ * @var string[]
+ */
+ protected $customAttributesCodes = null;
+ /**
+ * @var bool
+ */
+ protected $customAttributesChanged = false;
+ /**
+ * @param \Magento\Framework\Model\Context $context
+ * @param \Magento\Framework\Registry $registry
+ * @param ExtensionAttributesFactory $extensionFactory
+ * @param AttributeValueFactory $customAttributeFactory
+ * @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
+ * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory, \Magento\Framework\Api\AttributeValueFactory $customAttributeFactory, \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, array $data = [])
+ {
+ }
+ /**
+ * Verify custom attributes set on $data and unset if not a valid custom attribute
+ *
+ * @param array $data
+ * @return array processed data
+ */
+ protected function filterCustomAttributes($data)
+ {
+ }
+ /**
+ * Initialize customAttributes based on existing data
+ */
+ protected function initializeCustomAttributes()
+ {
+ }
+ /**
+ * Retrieve custom attributes values.
+ *
+ * @return \Magento\Framework\Api\AttributeInterface[]|null
+ */
+ public function getCustomAttributes()
+ {
+ }
+ /**
+ * Get an attribute value.
+ *
+ * @param string $attributeCode
+ * @return \Magento\Framework\Api\AttributeInterface|null null if the attribute has not been set
+ */
+ public function getCustomAttribute($attributeCode)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function setCustomAttributes(array $attributes)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function setCustomAttribute($attributeCode, $attributeValue)
+ {
+ }
+ /**
+ * {@inheritdoc} Added custom attributes support.
+ *
+ * @param string|array $key
+ * @param mixed $value
+ * @return $this
+ */
+ public function setData($key, $value = null)
+ {
+ }
+ /**
+ * {@inheritdoc} Unset customAttributesChanged flag
+ *
+ * @param null|string|array $key
+ * @return $this
+ */
+ public function unsetData($key = null)
+ {
+ }
+ /**
+ * Convert custom values if necessary
+ *
+ * @param array $customAttributes
+ * @return void
+ */
+ protected function convertCustomAttributeValues(array &$customAttributes)
+ {
+ }
+ /**
+ * Object data getter
+ *
+ * If $key is not defined will return all the data as an array.
+ * Otherwise it will return value of the element specified by $key.
+ * It is possible to use keys like a/b/c for access nested array data
+ *
+ * If $index is specified it will assume that attribute data is an array
+ * and retrieve corresponding member. If data is the string - it will be explode
+ * by new line character and converted to array.
+ *
+ * In addition to parent implementation custom attributes support is added.
+ *
+ * @param string $key
+ * @param string|int $index
+ * @return mixed
+ */
+ public function getData($key = '', $index = null)
+ {
+ }
+ /**
+ * Get a list of custom attribute codes.
+ *
+ * By default, entity can be extended only using extension attributes functionality.
+ *
+ * @return string[]
+ */
+ protected function getCustomAttributesCodes()
+ {
+ }
+ /**
+ * Receive a list of EAV attributes using provided metadata service.
+ *
+ * Can be used in child classes, which represent EAV entities.
+ *
+ * @param \Magento\Framework\Api\MetadataServiceInterface $metadataService
+ * @return string[]
+ */
+ protected function getEavAttributesCodes(\Magento\Framework\Api\MetadataServiceInterface $metadataService)
+ {
+ }
+ /**
+ * Identifier setter
+ *
+ * @param mixed $value
+ * @return $this
+ */
+ public function setId($value)
+ {
+ }
+ /**
+ * Set an extension attributes object.
+ *
+ * @param \Magento\Framework\Api\ExtensionAttributesInterface $extensionAttributes
+ * @return $this
+ */
+ protected function _setExtensionAttributes(\Magento\Framework\Api\ExtensionAttributesInterface $extensionAttributes)
+ {
+ }
+ /**
+ * Retrieve existing extension attributes object or create a new one.
+ *
+ * @return \Magento\Framework\Api\ExtensionAttributesInterface
+ */
+ protected function _getExtensionAttributes()
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 100.0.11
+ */
+ public function __sleep()
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 100.0.11
+ */
+ public function __wakeup()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\Code\Generator {
+ class ExtensibleSample extends \Magento\Framework\Model\AbstractExtensibleModel implements \Magento\Framework\Api\Test\Unit\Code\Generator\ExtensibleSampleInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public function getItems()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getCount()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getCreatedAt()
+ {
+ }
+ }
+ /**
+ * Class Sample for Proxy and Factory generation
+ */
+ class Sample
+ {
+ /**
+ * @var array
+ */
+ protected $messages = [];
+ /**
+ * @return array
+ */
+ public function getMessages()
+ {
+ }
+ }
+ class GenerateMapperTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $ioObjectMock;
+ /**
+ * Prepare test env
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Create mock for class \Magento\Framework\Code\Generator\Io
+ */
+ public function testGenerate()
+ {
+ }
+ }
+ class ExtensionAttributesGeneratorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Config|MockObject
+ */
+ protected $configMock;
+ /**
+ * @var TypeProcessor|MockObject
+ */
+ protected $typeProcessorMock;
+ /**
+ * @var ExtensionAttributesGenerator|MockObject
+ */
+ protected $model;
+ protected function setUp() : void
+ {
+ }
+ public function testGenerate()
+ {
+ }
+ public function testGenerateEmptyExtension()
+ {
+ }
+ public function testValidateException()
+ {
+ }
+ /**
+ * Check if generated code matches provided expected result.
+ *
+ * @param string $expectedResult
+ * @return void
+ */
+ protected function validateGeneratedCode($expectedResult)
+ {
+ }
+ }
+ class GenerateSearchResultsTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $ioObjectMock;
+ /**
+ * Create mock for class \Magento\Framework\Code\Generator\Io
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Generate SearchResult class
+ */
+ public function testGenerate()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Test\Unit {
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class DataObjectHelperTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var DataObjectHelper
+ */
+ protected $dataObjectHelper;
+ /**
+ * @var ObjectManager
+ */
+ protected $objectManager;
+ /**
+ * @var ObjectFactory|MockObject
+ */
+ protected $objectFactoryMock;
+ /**
+ * @var TypeProcessor
+ */
+ protected $typeProcessor;
+ /**
+ * @var DataObjectProcessor|MockObject
+ */
+ protected $objectProcessorMock;
+ /**
+ * @var AttributeValueFactory|MockObject
+ */
+ protected $attributeValueFactoryMock;
+ /**
+ * @var MethodsMap|MockObject
+ */
+ protected $methodsMapProcessor;
+ /**
+ * @var JoinProcessor|MockObject
+ */
+ protected $joinProcessorMock;
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testPopulateWithArrayWithSimpleAttributes() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testPopulateWithArrayWithCustomAttribute() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testPopulateWithArrayWithCustomAttributes() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testPopulateWithArrayWithOrderPaymentAttributes() : void
+ {
+ }
+ /**
+ * @param array $data1
+ * @param array $data2
+ *
+ * @return void
+ * @dataProvider dataProviderForTestMergeDataObjects
+ */
+ public function testMergeDataObjects($data1, $data2) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function dataProviderForTestMergeDataObjects() : array
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Test\Unit\Search {
+ class SearchResultTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Set up
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test getItems
+ */
+ public function testGetItems()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api {
+ /**
+ * Builder for Filter Service Data Object.
+ *
+ * @api
+ * @method Filter create()
+ * @since 100.0.2
+ */
+ class FilterBuilder extends \Magento\Framework\Api\AbstractSimpleObjectBuilder
+ {
+ /**
+ * Set field
+ *
+ * @param string $field
+ * @return $this
+ */
+ public function setField($field)
+ {
+ }
+ /**
+ * Set value
+ *
+ * @param string|array $value
+ * @return $this
+ */
+ public function setValue($value)
+ {
+ }
+ /**
+ * Set condition type
+ *
+ * @param string $conditionType
+ * @return $this
+ */
+ public function setConditionType($conditionType)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\ExtensionAttribute {
+ /**
+ * Join processor helper class
+ */
+ class JoinProcessorHelper
+ {
+ /**
+ * Initialize dependencies.
+ *
+ * @param Config $config
+ * @param JoinDataInterfaceFactory $joinDataInterfaceFactory
+ */
+ public function __construct(\Magento\Framework\Api\ExtensionAttribute\Config $config, \Magento\Framework\Api\ExtensionAttribute\JoinDataInterfaceFactory $joinDataInterfaceFactory)
+ {
+ }
+ /**
+ * Generate a list of select fields with mapping of client facing attribute names to field names used in SQL select.
+ *
+ * @param string $attributeCode
+ * @param array $selectFields
+ * @return array
+ */
+ public function getSelectFieldsMap($attributeCode, $selectFields)
+ {
+ }
+ /**
+ * Generate reference table alias.
+ *
+ * @param string $attributeCode
+ * @return string
+ */
+ public function getReferenceTableAlias($attributeCode)
+ {
+ }
+ /**
+ * Returns config data values
+ *
+ * @return array|mixed|null
+ */
+ public function getConfigData()
+ {
+ }
+ /**
+ * JoinDataInterface getter
+ *
+ * @return JoinDataInterface
+ */
+ public function getJoinDataInterface()
+ {
+ }
+ }
+ /**
+ * Join processor allows to join extension attributes during collections loading.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface JoinProcessorInterface
+ {
+ /**
+ * Processes extension attributes join instructions to add necessary joins to the collection of extensible entities.
+ *
+ * @param DbCollection $collection
+ * @param string|null $extensibleEntityClass
+ * @return void
+ * @throws \LogicException
+ */
+ public function process(\Magento\Framework\Data\Collection\AbstractDb $collection, $extensibleEntityClass = null);
+ /**
+ * Extract extension attributes into separate extension object.
+ *
+ * Complex extension attributes will be populated using flat data loaded.
+ * Data items used for extension object population are unset from the $data.
+ *
+ * @param string $extensibleEntityClass
+ * @param array $data
+ * @return array
+ * @throws \LogicException
+ */
+ public function extractExtensionAttributes($extensibleEntityClass, array $data);
+ }
+ /**
+ * Join processor allows to join extension attributes during collections loading.
+ */
+ class JoinProcessor implements \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Initialize dependencies.
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param TypeProcessor $typeProcessor
+ * @param ExtensionAttributesFactory $extensionAttributesFactory
+ * @param JoinProcessorHelper $joinProcessorHelper
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Reflection\TypeProcessor $typeProcessor, \Magento\Framework\Api\ExtensionAttributesFactory $extensionAttributesFactory, \Magento\Framework\Api\ExtensionAttribute\JoinProcessorHelper $joinProcessorHelper)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function process(\Magento\Framework\Data\Collection\AbstractDb $collection, $extensibleEntityClass = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function extractExtensionAttributes($extensibleEntityClass, array $data)
+ {
+ }
+ }
+ /**
+ * Interface of data holder for extension attribute joins.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface JoinDataInterface
+ {
+ const SELECT_FIELD_EXTERNAL_ALIAS = 'external_alias';
+ const SELECT_FIELD_INTERNAL_ALIAS = 'internal_alias';
+ const SELECT_FIELD_WITH_DB_PREFIX = 'with_db_prefix';
+ const SELECT_FIELD_SETTER = 'setter';
+ /**
+ * Get attribute code.
+ *
+ * @return string
+ */
+ public function getAttributeCode();
+ /**
+ * Set attribute code.
+ *
+ * @param string $attributeCode
+ * @return $this
+ */
+ public function setAttributeCode($attributeCode);
+ /**
+ * Get reference table name.
+ *
+ * @return string
+ */
+ public function getReferenceTable();
+ /**
+ * Set reference table name.
+ *
+ * @param string $referenceTable
+ * @return $this
+ */
+ public function setReferenceTable($referenceTable);
+ /**
+ * Get reference table alias.
+ *
+ * @return string
+ */
+ public function getReferenceTableAlias();
+ /**
+ * Set reference table alias.
+ *
+ * @param string $referenceTableAlias
+ * @return $this
+ */
+ public function setReferenceTableAlias($referenceTableAlias);
+ /**
+ * Get reference field.
+ *
+ * @return string
+ */
+ public function getReferenceField();
+ /**
+ * Set reference field.
+ *
+ * @param string $referenceField
+ * @return $this
+ */
+ public function setReferenceField($referenceField);
+ /**
+ * Get join field.
+ *
+ * @return string
+ */
+ public function getJoinField();
+ /**
+ * Set join field.
+ *
+ * @param string $joinField
+ * @return $this
+ */
+ public function setJoinField($joinField);
+ /**
+ * Get select fields.
+ *
+ * @return array
+ */
+ public function getSelectFields();
+ /**
+ * Set select field.
+ *
+ * @param array $selectFields
+ * @return $this
+ */
+ public function setSelectFields(array $selectFields);
+ }
+ /**
+ * Factory class for @see
+ * \Magento\Framework\Api\ExtensionAttribute\JoinDataInterface
+ *
+ * @api
+ */
+ class JoinDataInterfaceFactory
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager = null;
+ /**
+ * Instance name to create
+ *
+ * @var string
+ */
+ protected $_instanceName = null;
+ /**
+ * Factory constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Api\ExtensionAttribute\JoinDataInterface::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return \Magento\Framework\Api\ExtensionAttribute\JoinData
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Config {
+ /**
+ * Config schema locator interface.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface SchemaLocatorInterface
+ {
+ /**
+ * Get path to merged config schema
+ *
+ * @return string|null
+ */
+ public function getSchema();
+ /**
+ * Get path to per file validation schema
+ *
+ * @return string|null
+ */
+ public function getPerFileSchema();
+ }
+}
+namespace Magento\Framework\Api\ExtensionAttribute\Config {
+ class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface
+ {
+ /**
+ * @var \Magento\Framework\Config\Dom\UrnResolver
+ */
+ protected $urnResolver;
+ /**
+ */
+ public function __construct(\Magento\Framework\Config\Dom\UrnResolver $urnResolver)
+ {
+ }
+ /**
+ * Get path to merged config schema
+ *
+ * @return string
+ */
+ public function getSchema()
+ {
+ }
+ /**
+ * Get path to pre file validation schema
+ *
+ * @return string
+ */
+ public function getPerFileSchema()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Config {
+ /**
+ * Config reader interface.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ReaderInterface
+ {
+ /**
+ * Read configuration scope
+ *
+ * @param string|null $scope
+ * @return array
+ */
+ public function read($scope = null);
+ }
+}
+namespace Magento\Framework\Config\Reader {
+ /**
+ * Filesystem configuration loader. Loads configuration from XML files, split by scopes
+ *
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ * @api
+ * @since 100.0.2
+ */
+ class Filesystem implements \Magento\Framework\Config\ReaderInterface
+ {
+ /**
+ * File locator
+ *
+ * @var \Magento\Framework\Config\FileResolverInterface
+ */
+ protected $_fileResolver;
+ /**
+ * Config converter
+ *
+ * @var \Magento\Framework\Config\ConverterInterface
+ */
+ protected $_converter;
+ /**
+ * The name of file that stores configuration
+ *
+ * @var string
+ */
+ protected $_fileName;
+ /**
+ * Path to corresponding XSD file with validation rules for merged config
+ *
+ * @var string
+ */
+ protected $_schema;
+ /**
+ * Path to corresponding XSD file with validation rules for separate config files
+ *
+ * @var string
+ */
+ protected $_perFileSchema;
+ /**
+ * List of id attributes for merge
+ *
+ * @var array
+ */
+ protected $_idAttributes = [];
+ /**
+ * Class of dom configuration document used for merge
+ *
+ * @var string
+ */
+ protected $_domDocumentClass;
+ /**
+ * @var \Magento\Framework\Config\ValidationStateInterface
+ */
+ protected $validationState;
+ /**
+ * @var string
+ * @since 100.0.3
+ */
+ protected $_defaultScope;
+ /**
+ * @var string
+ * @since 100.0.3
+ */
+ protected $_schemaFile;
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\Config\FileResolverInterface $fileResolver
+ * @param \Magento\Framework\Config\ConverterInterface $converter
+ * @param \Magento\Framework\Config\SchemaLocatorInterface $schemaLocator
+ * @param \Magento\Framework\Config\ValidationStateInterface $validationState
+ * @param string $fileName
+ * @param array $idAttributes
+ * @param string $domDocumentClass
+ * @param string $defaultScope
+ */
+ public function __construct(\Magento\Framework\Config\FileResolverInterface $fileResolver, \Magento\Framework\Config\ConverterInterface $converter, \Magento\Framework\Config\SchemaLocatorInterface $schemaLocator, \Magento\Framework\Config\ValidationStateInterface $validationState, $fileName, $idAttributes = [], $domDocumentClass = \Magento\Framework\Config\Dom::class, $defaultScope = 'global')
+ {
+ }
+ /**
+ * Load configuration scope
+ *
+ * @param string|null $scope
+ * @return array
+ */
+ public function read($scope = null)
+ {
+ }
+ /**
+ * Read configuration files
+ *
+ * @param array $fileList
+ * @return array
+ * @throws \Magento\Framework\Exception\LocalizedException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function _readFiles($fileList)
+ {
+ }
+ /**
+ * Return newly created instance of a config merger
+ *
+ * @param string $mergerClass
+ * @param string $initialContents
+ * @return \Magento\Framework\Config\Dom
+ * @throws \UnexpectedValueException
+ */
+ protected function _createConfigMerger($mergerClass, $initialContents)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\ExtensionAttribute\Config {
+ class Reader extends \Magento\Framework\Config\Reader\Filesystem
+ {
+ /**
+ * List of id attributes for merge
+ *
+ * @var array
+ */
+ protected $_idAttributes = ['/config/extension_attributes' => 'for', '/config/extension_attributes/attribute' => 'code'];
+ /**
+ * @param \Magento\Framework\Config\FileResolverInterface $fileResolver
+ * @param \Magento\Framework\Api\ExtensionAttribute\Config\Converter $converter
+ * @param \Magento\Framework\Api\ExtensionAttribute\Config\SchemaLocator $schemaLocator
+ * @param \Magento\Framework\Config\ValidationStateInterface $validationState
+ * @param string $fileName
+ * @param array $idAttributes
+ * @param string $domDocumentClass
+ * @param string $defaultScope
+ */
+ public function __construct(\Magento\Framework\Config\FileResolverInterface $fileResolver, \Magento\Framework\Api\ExtensionAttribute\Config\Converter $converter, \Magento\Framework\Api\ExtensionAttribute\Config\SchemaLocator $schemaLocator, \Magento\Framework\Config\ValidationStateInterface $validationState, $fileName = 'extension_attributes.xml', $idAttributes = [], $domDocumentClass = \Magento\Framework\Config\Dom::class, $defaultScope = 'global')
+ {
+ }
+ }
+}
+namespace Magento\Framework\Config {
+ /**
+ * Config DOM-to-array converter interface.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ConverterInterface
+ {
+ /**
+ * Convert config
+ *
+ * @param \DOMDocument $source
+ * @return array
+ */
+ public function convert($source);
+ }
+}
+namespace Magento\Framework\Api\ExtensionAttribute\Config {
+ class Converter implements \Magento\Framework\Config\ConverterInterface
+ {
+ const RESOURCE_PERMISSIONS = "resourceRefs";
+ const DATA_TYPE = "type";
+ const JOIN_DIRECTIVE = "join";
+ const JOIN_REFERENCE_TABLE = "join_reference_table";
+ const JOIN_REFERENCE_FIELD = "join_reference_field";
+ const JOIN_ON_FIELD = "join_on_field";
+ const JOIN_FIELDS = "fields";
+ const JOIN_FIELD = "field";
+ const JOIN_FIELD_COLUMN = "column";
+ /**
+ * Convert dom node tree to array
+ *
+ * @param \DOMDocument $source
+ * @return array
+ */
+ public function convert($source)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\ExtensionAttribute {
+ /**
+ * Data holder for extension attribute joins.
+ *
+ * @api
+ * @codeCoverageIgnore
+ */
+ class JoinData implements \Magento\Framework\Api\ExtensionAttribute\JoinDataInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public function getAttributeCode()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setAttributeCode($attributeCode)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getReferenceTable()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setReferenceTable($referenceTable)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getReferenceTableAlias()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setReferenceTableAlias($referenceTableAlias)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getReferenceField()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setReferenceField($referenceField)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getJoinField()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setJoinField($joinField)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getSelectFields()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setSelectFields(array $selectFields)
+ {
+ }
+ }
+ /**
+ * Extension attributes config
+ */
+ class Config extends \Magento\Framework\Config\Data
+ {
+ /**
+ * Cache identifier
+ */
+ const CACHE_ID = 'extension_attributes_config';
+ /**
+ * Constructor
+ *
+ * @param Reader $reader
+ * @param CacheInterface $cache
+ * @param string $cacheId|null
+ * @param SerializerInterface|null $serializer
+ */
+ public function __construct(\Magento\Framework\Api\ExtensionAttribute\Config\Reader $reader, \Magento\Framework\Config\CacheInterface $cache, $cacheId = self::CACHE_ID, \Magento\Framework\Serialize\SerializerInterface $serializer = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\SearchCriteria {
+ /**
+ * @api
+ * @since 101.0.0
+ */
+ interface CollectionProcessorInterface
+ {
+ /**
+ * Apply Search Criteria to Collection
+ *
+ * @param SearchCriteriaInterface $searchCriteria
+ * @param AbstractDb $collection
+ * @throws \InvalidArgumentException
+ * @return void
+ * @since 101.0.0
+ */
+ public function process(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, \Magento\Framework\Data\Collection\AbstractDb $collection);
+ }
+ class CollectionProcessor implements \Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface
+ {
+ /**
+ * @param CollectionProcessorInterface[] $processors
+ */
+ public function __construct(array $processors)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function process(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, \Magento\Framework\Data\Collection\AbstractDb $collection)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\SearchCriteria\CollectionProcessor {
+ /**
+ * Search criteria join processor
+ */
+ class JoinProcessor implements \Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface
+ {
+ /**
+ * @param CustomJoinInterface[] $customJoins
+ * @param array $fieldMapping
+ */
+ public function __construct(array $customJoins = [], array $fieldMapping = [])
+ {
+ }
+ /**
+ * Apply Search Criteria Filters to collection only if we need this
+ *
+ * @param SearchCriteriaInterface $searchCriteria
+ * @param AbstractDb $collection
+ * @return void
+ */
+ public function process(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, \Magento\Framework\Data\Collection\AbstractDb $collection)
+ {
+ }
+ }
+ /**
+ * Collection processor that adds filters to collection based on passed search criteria
+ *
+ * Difference between FilterProcessor is that AdvancedFilterProcessor gives ability
+ * to add filters using different combination strategies
+ *
+ * For example you can add such filters:
+ *
+ * Select * FROM some_table
+ * WHERE
+ * field_1 = 10
+ * AND (
+ * field_2 in (1,2,3)
+ * OR
+ * field_3 like '%banana%'
+ * )
+ */
+ class AdvancedFilterProcessor implements \Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface
+ {
+ /**
+ * @param CustomConditionInterface $defaultConditionProcessor
+ * @param ConditionManager $conditionManager
+ * @param CustomConditionProviderInterface $customConditionProvider
+ */
+ public function __construct(\Magento\Framework\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\CustomConditionInterface $defaultConditionProcessor, \Magento\Framework\Search\Adapter\Mysql\ConditionManager $conditionManager, \Magento\Framework\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\CustomConditionProviderInterface $customConditionProvider)
+ {
+ }
+ /**
+ * Apply Search Criteria Filters to collection
+ *
+ * @param SearchCriteriaInterface $searchCriteria
+ * @param AbstractDb $collection
+ * @return void
+ */
+ public function process(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, \Magento\Framework\Data\Collection\AbstractDb $collection)
+ {
+ }
+ }
+ class FilterProcessor implements \Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface
+ {
+ /**
+ * @param CustomFilterInterface[] $customFilters
+ * @param array $fieldMapping
+ */
+ public function __construct(array $customFilters = [], array $fieldMapping = [])
+ {
+ }
+ /**
+ * Apply Search Criteria Filters to collection
+ *
+ * @param SearchCriteriaInterface $searchCriteria
+ * @param AbstractDb $collection
+ * @return void
+ */
+ public function process(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, \Magento\Framework\Data\Collection\AbstractDb $collection)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor {
+ /**
+ * @api
+ * @since 101.0.0
+ */
+ interface CustomFilterInterface
+ {
+ /**
+ * Apply Custom Filter to Collection
+ *
+ * @param Filter $filter
+ * @param AbstractDb $collection
+ * @return bool Whether the filter was applied
+ * @since 101.0.0
+ */
+ public function apply(\Magento\Framework\Api\Filter $filter, \Magento\Framework\Data\Collection\AbstractDb $collection);
+ }
+}
+namespace Magento\Framework\Api\SearchCriteria\CollectionProcessor\JoinProcessor {
+ /**
+ * @api
+ * @since 101.0.0
+ */
+ interface CustomJoinInterface
+ {
+ /**
+ * Make custom joins to collection
+ *
+ * @param AbstractDb $collection
+ * @return bool
+ * @since 101.0.0
+ */
+ public function apply(\Magento\Framework\Data\Collection\AbstractDb $collection);
+ }
+}
+namespace Magento\Framework\Api\SearchCriteria\CollectionProcessor\ConditionProcessor {
+ /**
+ * Implement it to build SQL conditions from Magento\Framework\Api\Filter
+ *
+ * Multiple conditions can be combined into groups with AND or OR combination
+ * and applied to select queries as WHERE parts to filter entity collections
+ *
+ * For example:
+ * Select *
+ * FROM `catalog_product_entity`
+ * WHERE
+ * CustomCondition_1
+ * AND
+ * (CustomCondition_2 OR CustomCondition_3)
+ *
+ * @api
+ */
+ interface CustomConditionInterface
+ {
+ /**
+ * @param Filter $filter
+ * @return string
+ */
+ public function build(\Magento\Framework\Api\Filter $filter) : string;
+ }
+ /**
+ * Provides collections of custom condition processors (CustomConditionInterface)
+ *
+ * Used to store processors as mapping attributeName => CustomConditionInterface
+ * You can use di.xml to configure with any custom conditions you need
+ *
+ * @api
+ */
+ interface CustomConditionProviderInterface
+ {
+ /**
+ * Get custom processor by field name
+ *
+ * @param string $fieldName
+ * @return CustomConditionInterface
+ * @throws InputException
+ */
+ public function getProcessorByField(string $fieldName) : \Magento\Framework\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\CustomConditionInterface;
+ /**
+ * Check if collection has custom processor for given field name
+ *
+ * @param string $fieldName
+ * @return bool
+ */
+ public function hasProcessorForField(string $fieldName) : bool;
+ }
+ /**
+ * Collection of all custom condition processors
+ */
+ class CustomConditionProvider implements \Magento\Framework\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\CustomConditionProviderInterface
+ {
+ /**
+ * @param array $customConditionProcessors
+ * @throws InputException
+ */
+ public function __construct(array $customConditionProcessors = [])
+ {
+ }
+ /**
+ * Get custom processor by field name
+ *
+ * @param string $fieldName
+ * @return CustomConditionInterface
+ * @throws InputException
+ */
+ public function getProcessorByField(string $fieldName) : \Magento\Framework\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\CustomConditionInterface
+ {
+ }
+ /**
+ * Check if collection has custom processor for given field name
+ *
+ * @param string $fieldName
+ * @return bool
+ */
+ public function hasProcessorForField(string $fieldName) : bool
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\SearchCriteria\CollectionProcessor {
+ class PaginationProcessor implements \Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface
+ {
+ /**
+ * Apply Search Criteria Pagination to collection
+ *
+ * @param SearchCriteriaInterface $searchCriteria
+ * @param AbstractDb $collection
+ * @return void
+ */
+ public function process(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, \Magento\Framework\Data\Collection\AbstractDb $collection)
+ {
+ }
+ }
+ class SortingProcessor implements \Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface
+ {
+ /**
+ * @param array $fieldMapping
+ * @param array $defaultOrders
+ */
+ public function __construct(array $fieldMapping = [], array $defaultOrders = [])
+ {
+ }
+ /**
+ * Apply Search Criteria Sorting Orders to collection
+ *
+ * @param SearchCriteriaInterface $searchCriteria
+ * @param AbstractDb $collection
+ * @return void
+ */
+ public function process(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, \Magento\Framework\Data\Collection\AbstractDb $collection)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api {
+ /**
+ * MetadataService returns custom attribute metadata for a given class or interface it implements
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface MetadataServiceInterface
+ {
+ /**
+ * Get custom attribute metadata for the given class or interfaces it implements.
+ *
+ * @param string|null $dataObjectClassName Data object class name
+ * @return \Magento\Framework\Api\MetadataObjectInterface[]
+ */
+ public function getCustomAttributesMetadata($dataObjectClassName = null);
+ }
+ /**
+ * Data object converter.
+ */
+ class SimpleDataObjectConverter
+ {
+ /**
+ * @var DataObjectProcessor
+ */
+ protected $dataObjectProcessor;
+ /**
+ * @param DataObjectProcessor $dataObjectProcessor
+ */
+ public function __construct(\Magento\Framework\Reflection\DataObjectProcessor $dataObjectProcessor)
+ {
+ }
+ /**
+ * Convert nested array into flat array.
+ *
+ * @param ExtensibleDataInterface $dataObject
+ * @param string $dataObjectType
+ * @return array
+ */
+ public function toFlatArray(\Magento\Framework\Api\ExtensibleDataInterface $dataObject, $dataObjectType = null)
+ {
+ }
+ /**
+ * Convert keys to camelCase
+ *
+ * @param array $dataArray
+ * @return \stdClass
+ */
+ public function convertKeysToCamelCase(array $dataArray)
+ {
+ }
+ /**
+ * Check if the array is a simple(one dimensional and not nested) and a sequential(non-associative) array
+ *
+ * @param array $data
+ * @return bool
+ */
+ protected function _isSimpleSequentialArray(array $data)
+ {
+ }
+ /**
+ * Convert multidimensional object/array into multidimensional array of primitives.
+ *
+ * @param object|array $input
+ * @param bool $removeItemNode Remove Item node from arrays if true
+ * @return array
+ * @throws \InvalidArgumentException
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function convertStdObjectToArray($input, $removeItemNode = false)
+ {
+ }
+ /**
+ * Unpack associative array packed by SOAP server into key-value
+ *
+ * @param mixed $data
+ * @return array Unpacked associative array if array was passed as argument or original value otherwise
+ */
+ protected function _unpackAssociativeArray($data)
+ {
+ }
+ /**
+ * Converts an input string from snake_case to upper CamelCase.
+ *
+ * @param string $input
+ * @return string
+ */
+ public static function snakeCaseToUpperCamelCase($input)
+ {
+ }
+ /**
+ * Converts an input string from snake_case to camelCase.
+ *
+ * @param string $input
+ * @return string
+ */
+ public static function snakeCaseToCamelCase($input)
+ {
+ }
+ /**
+ * Convert a CamelCase string read from method into field key in snake_case
+ *
+ * For example [DefaultShipping => default_shipping, Postcode => postcode]
+ *
+ * @param string $name
+ * @return string
+ */
+ public static function camelCaseToSnakeCase($name)
+ {
+ }
+ }
+}
+namespace Magento\Framework\File {
+ /**
+ * File upload class
+ *
+ * ATTENTION! This class must be used like abstract class and must added
+ * validation by protected file extension list to extended class
+ *
+ * @SuppressWarnings(PHPMD.TooManyFields)
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Uploader
+ {
+ /**
+ * Uploaded file handle (copy of $_FILES[] element)
+ *
+ * @var array
+ * @access protected
+ */
+ protected $_file;
+ /**
+ * Uploaded file mime type
+ *
+ * @var string
+ * @access protected
+ */
+ protected $_fileMimeType;
+ /**
+ * Upload type. Used to right handle $_FILES array.
+ * @var Uploader::SINGLE_STYLE|\Magento\Framework\File\Uploader::MULTIPLE_STYLE
+ * @access protected
+ */
+ protected $_uploadType;
+ /**
+ * The name of uploaded file. By default it is original file name, but when
+ * we will change file name, this variable will be changed too.
+ *
+ * @var string
+ * @access protected
+ */
+ protected $_uploadedFileName;
+ /**
+ * The name of destination directory
+ *
+ * @var string
+ * @access protected
+ */
+ protected $_uploadedFileDir;
+ /**
+ * If this variable is set to TRUE, our library will be able to automatically create
+ * non-existent directories.
+ *
+ * @var bool
+ * @access protected
+ */
+ protected $_allowCreateFolders = true;
+ /**
+ * If this variable is set to TRUE, uploaded file name will be changed if some file with the same
+ * name already exists in the destination directory (if enabled).
+ *
+ * @var bool
+ * @access protected
+ */
+ protected $_allowRenameFiles = false;
+ /**
+ * If this variable is set to TRUE, files dispersion will be supported.
+ *
+ * @var bool
+ * @access protected
+ */
+ protected $_enableFilesDispersion = false;
+ /**
+ * This variable is used both with $_enableFilesDispersion == true
+ * It helps to avoid problems after migrating from case-insensitive file system to case-insensitive
+ * (e.g. NTFS->ext or ext->NTFS)
+ *
+ * @var bool
+ * @access protected
+ */
+ protected $_caseInsensitiveFilenames = true;
+ /**
+ * @var string
+ * @access protected
+ */
+ protected $_dispretionPath = null;
+ /**
+ * @var bool
+ */
+ protected $_fileExists = false;
+ /**
+ * @var null|string[]
+ */
+ protected $_allowedExtensions = null;
+ /**
+ * Validate callbacks storage
+ *
+ * @var array
+ * @access protected
+ */
+ protected $_validateCallbacks = [];
+ /**#@+
+ * File upload type (multiple or single)
+ */
+ public const SINGLE_STYLE = 0;
+ public const MULTIPLE_STYLE = 1;
+ /**#@-*/
+ /**
+ * Temp file name empty code
+ */
+ public const TMP_NAME_EMPTY = 666;
+ /**
+ * Maximum Image Width resolution in pixels. For image resizing on client side
+ * @deprecated @see \Magento\Framework\Image\Adapter\UploadConfigInterface::getMaxWidth()
+ */
+ public const MAX_IMAGE_WIDTH = 1920;
+ /**
+ * Maximum Image Height resolution in pixels. For image resizing on client side
+ * @deprecated @see \Magento\Framework\Image\Adapter\UploadConfigInterface::getMaxHeight()
+ */
+ public const MAX_IMAGE_HEIGHT = 1200;
+ /**
+ * Resulting of uploaded file
+ *
+ * @var array|bool Array with file info keys: path, file. Result is
+ * FALSE when file not uploaded
+ */
+ protected $_result;
+ /**
+ * Init upload
+ *
+ * @param string|array $fileId
+ * @param \Magento\Framework\File\Mime|null $fileMime
+ * @param DirectoryList|null $directoryList
+ * @param DriverPool|null $driverPool
+ * @param TargetDirectory|null $targetDirectory
+ * @param Filesystem|null $filesystem
+ * @throws \DomainException
+ */
+ public function __construct($fileId, \Magento\Framework\File\Mime $fileMime = null, \Magento\Framework\App\Filesystem\DirectoryList $directoryList = null, \Magento\Framework\Filesystem\DriverPool $driverPool = null, \Magento\Framework\Filesystem\Directory\TargetDirectory $targetDirectory = null, \Magento\Framework\Filesystem $filesystem = null)
+ {
+ }
+ /**
+ * After save logic
+ *
+ * @param array $result
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function _afterSave($result)
+ {
+ }
+ /**
+ * Used to save uploaded file into destination folder with original or new file name (if specified).
+ *
+ * @param string $destinationFolder
+ * @param string $newFileName
+ * @return array
+ * @throws \Exception
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function save($destinationFolder, $newFileName = null)
+ {
+ }
+ /**
+ * Set access permissions to file.
+ *
+ * @param string $file
+ * @return void
+ *
+ * @deprecated 100.0.8
+ * @see Nothing
+ */
+ protected function chmod($file)
+ {
+ }
+ /**
+ * Move files from TMP folder into destination folder
+ *
+ * @param string $tmpPath
+ * @param string $destPath
+ * @return bool
+ */
+ protected function _moveFile($tmpPath, $destPath)
+ {
+ }
+ /**
+ * Validate file before save
+ *
+ * @return void
+ * @throws ValidationException
+ */
+ protected function _validateFile()
+ {
+ }
+ /**
+ * Returns extension of the uploaded file
+ *
+ * @return string
+ */
+ public function getFileExtension()
+ {
+ }
+ /**
+ * Add validation callback model for us in self::_validateFile()
+ *
+ * @param string $callbackName
+ * @param object $callbackObject
+ * @param string $callbackMethod Method name of $callbackObject. It must
+ * have interface (string $tmpFilePath)
+ * @return \Magento\Framework\File\Uploader
+ */
+ public function addValidateCallback($callbackName, $callbackObject, $callbackMethod)
+ {
+ }
+ /**
+ * Delete validation callback model for us in self::_validateFile()
+ *
+ * @param string $callbackName
+ * @access public
+ * @return \Magento\Framework\File\Uploader
+ */
+ public function removeValidateCallback($callbackName)
+ {
+ }
+ /**
+ * Correct filename with special chars and spaces; also trim excessively long filenames
+ *
+ * @param string $fileName
+ * @return string
+ * @throws \InvalidArgumentException
+ */
+ public static function getCorrectFileName($fileName)
+ {
+ }
+ /**
+ * Convert filename to lowercase in case of case-insensitive file names
+ *
+ * @param string $fileName
+ * @return string
+ */
+ public function correctFileNameCase($fileName)
+ {
+ }
+ /**
+ * Add directory separator
+ *
+ * @param string $dir
+ * @return string
+ */
+ protected static function _addDirSeparator($dir)
+ {
+ }
+ /**
+ * Used to check if uploaded file mime type is valid or not
+ *
+ * @param string[] $validTypes
+ * @access public
+ * @return bool
+ */
+ public function checkMimeType($validTypes = [])
+ {
+ }
+ /**
+ * Returns a name of uploaded file
+ *
+ * @access public
+ * @return string
+ */
+ public function getUploadedFileName()
+ {
+ }
+ /**
+ * Used to set {@link _allowCreateFolders} value
+ *
+ * @param bool $flag
+ * @access public
+ * @return $this
+ */
+ public function setAllowCreateFolders($flag)
+ {
+ }
+ /**
+ * Used to set {@link _allowRenameFiles} value
+ *
+ * @param bool $flag
+ * @access public
+ * @return $this
+ */
+ public function setAllowRenameFiles($flag)
+ {
+ }
+ /**
+ * Used to set {@link _enableFilesDispersion} value
+ *
+ * @param bool $flag
+ * @access public
+ * @return $this
+ */
+ public function setFilesDispersion($flag)
+ {
+ }
+ /**
+ * File names Case-sensitivity setter
+ *
+ * @param bool $flag
+ * @return $this
+ */
+ public function setFilenamesCaseSensitivity($flag)
+ {
+ }
+ /**
+ * Set allowed extensions
+ *
+ * @param string[] $extensions
+ * @return $this
+ */
+ public function setAllowedExtensions($extensions = [])
+ {
+ }
+ /**
+ * Check if specified extension is allowed
+ *
+ * @param string $extension
+ * @return boolean
+ */
+ public function checkAllowedExtension($extension)
+ {
+ }
+ /**
+ * Get new file name if the same is already exists
+ *
+ * @param string $destinationFile
+ * @return string
+ */
+ public static function getNewFileName($destinationFile)
+ {
+ }
+ /**
+ * Get dispersion path
+ *
+ * @param string $fileName
+ * @return string
+ * @deprecated 101.0.4
+ * @see Nothing
+ */
+ public static function getDispretionPath($fileName)
+ {
+ }
+ /**
+ * Get dispersion path
+ *
+ * @param string $fileName
+ * @return string
+ * @since 101.0.4
+ */
+ public static function getDispersionPath($fileName)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api {
+ /**
+ * Class Uploader specific to uploading images using services
+ */
+ class Uploader extends \Magento\Framework\File\Uploader
+ {
+ /**
+ * Avoid running the default constructor specific to FILE upload
+ *
+ * phpcs:disable Magento2.CodeAnalysis.EmptyBlock
+ */
+ public function __construct()
+ {
+ }
+ /**
+ * Explicitly set the file attributes instead of setting it via constructor
+ *
+ * @param array $fileAttributes
+ * @return void
+ * @throws \Exception
+ */
+ public function processFileAttributes($fileAttributes)
+ {
+ }
+ }
+ /**
+ * Marker interface for all extension attributes interfaces.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ExtensionAttributesInterface
+ {
+ }
+ /**
+ * Search criteria interface.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface SearchCriteriaInterface
+ {
+ /**
+ * Get a list of filter groups.
+ *
+ * @return \Magento\Framework\Api\Search\FilterGroup[]
+ */
+ public function getFilterGroups();
+ /**
+ * Set a list of filter groups.
+ *
+ * @param \Magento\Framework\Api\Search\FilterGroup[] $filterGroups
+ * @return $this
+ */
+ public function setFilterGroups(array $filterGroups = null);
+ /**
+ * Get sort order.
+ *
+ * @return \Magento\Framework\Api\SortOrder[]|null
+ */
+ public function getSortOrders();
+ /**
+ * Set sort order.
+ *
+ * @param \Magento\Framework\Api\SortOrder[] $sortOrders
+ * @return $this
+ */
+ public function setSortOrders(array $sortOrders = null);
+ /**
+ * Get page size.
+ *
+ * @return int|null
+ */
+ public function getPageSize();
+ /**
+ * Set page size.
+ *
+ * @param int $pageSize
+ * @return $this
+ */
+ public function setPageSize($pageSize);
+ /**
+ * Get current page.
+ *
+ * @return int|null
+ */
+ public function getCurrentPage();
+ /**
+ * Set current page.
+ *
+ * @param int $currentPage
+ * @return $this
+ */
+ public function setCurrentPage($currentPage);
+ }
+ /**
+ * Class to convert Extensible Data Object array to flat array
+ */
+ class ExtensibleDataObjectConverter
+ {
+ /**
+ * @var DataObjectProcessor
+ */
+ protected $dataObjectProcessor;
+ /**
+ * @param DataObjectProcessor $dataObjectProcessor
+ */
+ public function __construct(\Magento\Framework\Reflection\DataObjectProcessor $dataObjectProcessor)
+ {
+ }
+ /**
+ * Convert AbstractExtensibleObject into a nested array.
+ *
+ * @param ExtensibleDataInterface $dataObject
+ * @param string[] $skipAttributes
+ * @param string $dataObjectType
+ * @return array
+ */
+ public function toNestedArray(\Magento\Framework\Api\ExtensibleDataInterface $dataObject, $skipAttributes = [], $dataObjectType = null)
+ {
+ }
+ /**
+ * Convert AbstractExtensibleObject into flat array.
+ *
+ * @param ExtensibleDataInterface $dataObject
+ * @param string[] $skipCustomAttributes
+ * @param string $dataObjectType
+ * @return array
+ */
+ public function toFlatArray(\Magento\Framework\Api\ExtensibleDataInterface $dataObject, $skipCustomAttributes = [], $dataObjectType = null)
+ {
+ }
+ /**
+ * Convert Extensible Data Object custom attributes in sequential array format.
+ *
+ * @param array $extensibleObjectData
+ * @return array
+ */
+ public static function convertCustomAttributesToSequentialArray($extensibleObjectData)
+ {
+ }
+ }
+ /**
+ * Interface ImageProcessorInterface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ImageProcessorInterface
+ {
+ /**
+ * Process Data objects with image type custom attributes and update custom attribute values with saved image paths
+ *
+ * @param CustomAttributesDataInterface $dataObjectWithCustomAttributes
+ * @param string $entityType entity type
+ * @param CustomAttributesDataInterface $previousCustomerData
+ * @return CustomAttributesDataInterface
+ */
+ public function save(\Magento\Framework\Api\CustomAttributesDataInterface $dataObjectWithCustomAttributes, $entityType, \Magento\Framework\Api\CustomAttributesDataInterface $previousCustomerData = null);
+ /**
+ * Process image and save it to the entity's media directory
+ *
+ * @param string $entityType
+ * @param ImageContentInterface $imageContent
+ * @return string Relative path of the file where image was saved
+ * @throws InputException
+ */
+ public function processImageContent($entityType, $imageContent);
+ }
+ /**
+ * Service class allow populating object from array data
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class DataObjectHelper
+ {
+ /**
+ * @var ObjectFactory
+ */
+ protected $objectFactory;
+ /**
+ * @var \Magento\Framework\Reflection\DataObjectProcessor
+ */
+ protected $objectProcessor;
+ /**
+ * @var \Magento\Framework\Reflection\TypeProcessor
+ */
+ protected $typeProcessor;
+ /**
+ * @var \Magento\Framework\Api\ExtensionAttributesFactory
+ */
+ protected $extensionFactory;
+ /**
+ * @var \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface
+ */
+ protected $joinProcessor;
+ /**
+ * @var MethodsMap
+ */
+ protected $methodsMapProcessor;
+ /**
+ * @param ObjectFactory $objectFactory
+ * @param \Magento\Framework\Reflection\DataObjectProcessor $objectProcessor
+ * @param \Magento\Framework\Reflection\TypeProcessor $typeProcessor
+ * @param \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory
+ * @param \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface $joinProcessor
+ * @param MethodsMap $methodsMapProcessor
+ */
+ public function __construct(\Magento\Framework\Api\ObjectFactory $objectFactory, \Magento\Framework\Reflection\DataObjectProcessor $objectProcessor, \Magento\Framework\Reflection\TypeProcessor $typeProcessor, \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory, \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface $joinProcessor, \Magento\Framework\Reflection\MethodsMap $methodsMapProcessor)
+ {
+ }
+ /**
+ * Populate data object using data in array format.
+ *
+ * @param mixed $dataObject
+ * @param array $data
+ * @param string $interfaceName
+ * @return $this
+ */
+ public function populateWithArray($dataObject, array $data, $interfaceName)
+ {
+ }
+ /**
+ * Update Data Object with the data from array
+ *
+ * @param mixed $dataObject
+ * @param array $data
+ * @param string $interfaceName
+ * @return $this
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ protected function _setDataValues($dataObject, array $data, $interfaceName)
+ {
+ }
+ /**
+ * Set complex (like object) value using $methodName based on return type of $getterMethodName
+ *
+ * @param mixed $dataObject
+ * @param string $getterMethodName
+ * @param string $methodName
+ * @param array $value
+ * @param string $interfaceName
+ * @return $this
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function setComplexValue($dataObject, $getterMethodName, $methodName, array $value, $interfaceName)
+ {
+ }
+ /**
+ * Merges second object onto the first
+ *
+ * @param string $interfaceName
+ * @param mixed $firstDataObject
+ * @param mixed $secondDataObject
+ * @return $this
+ * @throws \LogicException
+ */
+ public function mergeDataObjects($interfaceName, $firstDataObject, $secondDataObject)
+ {
+ }
+ /**
+ * Filter attribute value objects for a provided data interface type from an array of custom attribute value objects
+ *
+ * @param AttributeValue[] $attributeValues Array of custom attribute
+ * @param string $type Data interface type
+ * @return AttributeValue[]
+ */
+ public function getCustomAttributeValueByType(array $attributeValues, $type)
+ {
+ }
+ /**
+ * Set custom attributes using the $attributeKeys parameter.
+ *
+ * @param mixed $dataObject
+ * @param array $data
+ * @param array $attributeKeys
+ * @return array
+ */
+ public function setCustomAttributes(mixed $dataObject, array $data, array $attributeKeys) : array
+ {
+ }
+ }
+ /**
+ * Default implementation of metadata service, which does not return any real attributes.
+ */
+ class DefaultMetadataService implements \Magento\Framework\Api\MetadataServiceInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public function getCustomAttributesMetadata($dataObjectClassName = null)
+ {
+ }
+ }
+ /**
+ * Filter which can be used by any methods from service layer.
+ *
+ * @api
+ * @codeCoverageIgnore
+ * @since 100.0.2
+ */
+ class Filter extends \Magento\Framework\Api\AbstractSimpleObject
+ {
+ /**#@+
+ * Constants for Data Object keys
+ */
+ const KEY_FIELD = 'field';
+ const KEY_VALUE = 'value';
+ const KEY_CONDITION_TYPE = 'condition_type';
+ /**
+ * Get field
+ *
+ * @return string
+ */
+ public function getField()
+ {
+ }
+ /**
+ * Set field
+ *
+ * @param string $field
+ * @return $this
+ */
+ public function setField($field)
+ {
+ }
+ /**
+ * Get value
+ *
+ * @return string
+ */
+ public function getValue()
+ {
+ }
+ /**
+ * Set value
+ *
+ * @param string $value
+ * @return $this
+ */
+ public function setValue($value)
+ {
+ }
+ /**
+ * Get condition type
+ *
+ * @return string|null
+ */
+ public function getConditionType()
+ {
+ }
+ /**
+ * Set condition type
+ *
+ * @param string $conditionType
+ * @return $this
+ */
+ public function setConditionType($conditionType)
+ {
+ }
+ }
+ /**
+ * Interface CriteriaInterface
+ *
+ * @api
+ */
+ interface CriteriaInterface
+ {
+ const PART_FIELDS = 'fields';
+ const PART_FILTERS = 'filters';
+ const PART_ORDERS = 'orders';
+ const PART_CRITERIA_LIST = 'criteria_list';
+ const PART_LIMIT = 'limit';
+ const SORT_ORDER_ASC = 'ASC';
+ const SORT_ORDER_DESC = 'DESC';
+ /**
+ * Get associated Mapper Interface name
+ *
+ * @return string
+ */
+ public function getMapperInterfaceName();
+ /**
+ * Add field to select
+ *
+ * @param string|array $field
+ * @param string|null $alias
+ * @return void
+ */
+ public function addField($field, $alias = null);
+ /**
+ * Add field filter to collection
+ *
+ * If $condition integer or string - exact value will be filtered ('eq' condition)
+ *
+ * If $condition is array - one of the following structures is expected:
+ *
+ * - ["from" => $fromValue, "to" => $toValue]
+ * - ["eq" => $equalValue]
+ * - ["neq" => $notEqualValue]
+ * - ["like" => $likeValue]
+ * - ["in" => [$inValues]]
+ * - ["nin" => [$notInValues]]
+ * - ["notnull" => $valueIsNotNull]
+ * - ["null" => $valueIsNull]
+ * - ["moreq" => $moreOrEqualValue]
+ * - ["gt" => $greaterValue]
+ * - ["lt" => $lessValue]
+ * - ["gteq" => $greaterOrEqualValue]
+ * - ["lteq" => $lessOrEqualValue]
+ * - ["finset" => $valueInSet]
+ *
+ *
+ * If non matched - sequential parallel arrays are expected and OR conditions
+ * will be built using above mentioned structure.
+ *
+ * Example:
+ *
+ * $field = ['age', 'name'];
+ * $condition = [42, ['like' => 'Mage']];
+ * $type = 'or';
+ *
+ * The above would find where age equal to 42 OR name like %Mage%.
+ *
+ * @param string $name
+ * @param string|array $field
+ * @param string|int|array $condition
+ * @param string $type
+ * @throws \Magento\Framework\Exception\LocalizedException if some error in the input could be detected.
+ * @return void
+ */
+ public function addFilter($name, $field, $condition = null, $type = 'and');
+ /**
+ * self::setOrder() alias
+ *
+ * @param string $field
+ * @param string $direction
+ * @param bool $unShift
+ * @return void
+ */
+ public function addOrder($field, $direction = self::SORT_ORDER_DESC, $unShift = false);
+ /**
+ * Set Query limit
+ *
+ * @param int $offset
+ * @param int $size
+ * @return void
+ */
+ public function setLimit($offset, $size);
+ /**
+ * Removes field from select
+ *
+ * @param string|null $field
+ * @param bool $isAlias Alias identifier
+ * @return void
+ */
+ public function removeField($field, $isAlias = false);
+ /**
+ * Removes all fields from select
+ *
+ * @return void
+ */
+ public function removeAllFields();
+ /**
+ * Removes filter by name
+ *
+ * @param string $name
+ * @return void
+ */
+ public function removeFilter($name);
+ /**
+ * Removes all filters
+ *
+ * @return void
+ */
+ public function removeAllFilters();
+ /**
+ * Get Criteria objects added to current Composite Criteria
+ *
+ * @return \Magento\Framework\Api\CriteriaInterface[]
+ */
+ public function getCriteriaList();
+ /**
+ * Get list of filters
+ *
+ * @return string[]
+ */
+ public function getFilters();
+ /**
+ * Get ordering criteria
+ *
+ * @return string[]
+ */
+ public function getOrders();
+ /**
+ * Get limit
+ * (['offset', 'page'])
+ *
+ * @return string[]
+ */
+ public function getLimit();
+ /**
+ * Retrieve criteria part
+ *
+ * @param string $name
+ * @param mixed $default
+ * @return mixed
+ */
+ public function getPart($name, $default = null);
+ /**
+ * Return all criteria parts as array
+ *
+ * @return array
+ */
+ public function toArray();
+ /**
+ * Reset criteria
+ *
+ * @return void
+ */
+ public function reset();
+ }
+}
+namespace Magento\Framework\Api\Code\Generator {
+ /**
+ * Class Repository
+ */
+ class Mapper extends \Magento\Framework\Code\Generator\EntityAbstract
+ {
+ /**
+ * Entity type
+ */
+ const ENTITY_TYPE = 'mapper';
+ /**
+ * Retrieve class properties
+ *
+ * @return array
+ */
+ protected function _getClassProperties()
+ {
+ }
+ /**
+ * Returns source factory property Name
+ *
+ * @return string
+ */
+ protected function _getSourceBuilderPropertyName()
+ {
+ }
+ /**
+ * Get default constructor definition for generated class
+ *
+ * @return array
+ */
+ protected function _getDefaultConstructorDefinition()
+ {
+ }
+ /**
+ * Returns list of methods for class generator
+ *
+ * @return array
+ */
+ protected function _getClassMethods()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ protected function _validateData()
+ {
+ }
+ }
+ /**
+ * Class Builder
+ */
+ class SearchResults extends \Magento\Framework\Code\Generator\EntityAbstract
+ {
+ /**
+ * Entity type
+ */
+ const ENTITY_TYPE = 'searchResults';
+ /**
+ * Search result default class
+ * @deprecated
+ */
+ const SEARCH_RESULT = '\\' . \Magento\Framework\Api\SearchResults::class;
+ /**
+ * Retrieve class properties
+ *
+ * @return array
+ */
+ protected function _getClassProperties()
+ {
+ }
+ /**
+ * Returns list of methods for class generator
+ *
+ * @return array
+ */
+ protected function _getClassMethods()
+ {
+ }
+ /**
+ * Returns default constructor definition
+ *
+ * @return array
+ */
+ protected function _getDefaultConstructorDefinition()
+ {
+ }
+ /**
+ * Generate code
+ *
+ * @return string
+ */
+ protected function _generateCode()
+ {
+ }
+ }
+ /**
+ * Code generator for data object extensions.
+ */
+ class ExtensionAttributesGenerator extends \Magento\Framework\Code\Generator\EntityAbstract
+ {
+ public const ENTITY_TYPE = 'extension';
+ public const EXTENSION_SUFFIX = 'Extension';
+ /**
+ * @var \Magento\Framework\Api\ExtensionAttribute\Config
+ */
+ protected $config;
+ /**
+ * @var array
+ */
+ protected $allCustomAttributes;
+ /**
+ * Initialize dependencies.
+ *
+ * @param \Magento\Framework\Api\ExtensionAttribute\Config $config
+ * @param string|null $sourceClassName
+ * @param string|null $resultClassName
+ * @param Io $ioObject
+ * @param \Magento\Framework\Code\Generator\CodeGeneratorInterface $classGenerator
+ * @param DefinedClasses $definedClasses
+ */
+ public function __construct(\Magento\Framework\Api\ExtensionAttribute\Config $config, $sourceClassName = null, $resultClassName = null, \Magento\Framework\Code\Generator\Io $ioObject = null, \Magento\Framework\Code\Generator\CodeGeneratorInterface $classGenerator = null, \Magento\Framework\Code\Generator\DefinedClasses $definedClasses = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function _getDefaultConstructorDefinition()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function _getClassProperties()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function _getClassMethods()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function _validateData()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function _generateCode()
+ {
+ }
+ /**
+ * Get class, which should be used as a parent for generated class.
+ *
+ * @return string
+ */
+ protected function getExtendedClass()
+ {
+ }
+ /**
+ * Retrieve a list of attributes associated with current source class.
+ *
+ * @return array
+ */
+ protected function getCustomAttributes()
+ {
+ }
+ /**
+ * Ensure that result class name corresponds to the source class name.
+ *
+ * @return bool
+ */
+ protected function validateResultClassName()
+ {
+ }
+ }
+ /**
+ * Code generator for data object extension interfaces.
+ */
+ class ExtensionAttributesInterfaceGenerator extends \Magento\Framework\Api\Code\Generator\ExtensionAttributesGenerator
+ {
+ const ENTITY_TYPE = 'extensionInterface';
+ const EXTENSION_INTERFACE_SUFFIX = 'ExtensionInterface';
+ /**
+ * Initialize dependencies.
+ *
+ * @param \Magento\Framework\Api\ExtensionAttribute\Config $config
+ * @param string|null $sourceClassName
+ * @param string|null $resultClassName
+ * @param Io $ioObject
+ * @param \Magento\Framework\Code\Generator\CodeGeneratorInterface $classGenerator
+ * @param DefinedClasses $definedClasses
+ */
+ public function __construct(\Magento\Framework\Api\ExtensionAttribute\Config $config, $sourceClassName = null, $resultClassName = null, \Magento\Framework\Code\Generator\Io $ioObject = null, \Magento\Framework\Code\Generator\CodeGeneratorInterface $classGenerator = null, \Magento\Framework\Code\Generator\DefinedClasses $definedClasses = null)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ protected function getExtendedClass()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ protected function validateResultClassName()
+ {
+ }
+ }
+}
+namespace Magento\Framework\ObjectManager\Code\Generator {
+ class Factory extends \Magento\Framework\Code\Generator\EntityAbstract
+ {
+ const ENTITY_TYPE = 'factory';
+ /**
+ * Retrieve class properties
+ *
+ * @return array
+ */
+ protected function _getClassProperties()
+ {
+ }
+ /**
+ * Get default constructor definition for generated class
+ *
+ * @return array
+ */
+ protected function _getDefaultConstructorDefinition()
+ {
+ }
+ /**
+ * Returns list of methods for class generator
+ *
+ * @return array
+ */
+ protected function _getClassMethods()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function _validateData()
+ {
+ }
+ /**
+ * Suffix for generated class
+ *
+ * @return string
+ */
+ protected function getResultClassSuffix()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Code\Generator {
+ class ExtensionAttributesInterfaceFactoryGenerator extends \Magento\Framework\ObjectManager\Code\Generator\Factory
+ {
+ /**
+ * {@inheritdoc}
+ */
+ const ENTITY_TYPE = 'extensionInterfaceFactory';
+ /**
+ * Initialize dependencies.
+ *
+ * @param string|null $sourceClassName
+ * @param string|null $resultClassName
+ * @param Io $ioObject
+ * @param CodeGeneratorInterface $classGenerator
+ * @param DefinedClasses $definedClasses
+ */
+ public function __construct($sourceClassName = null, $resultClassName = null, \Magento\Framework\Code\Generator\Io $ioObject = null, \Magento\Framework\Code\Generator\CodeGeneratorInterface $classGenerator = null, \Magento\Framework\Code\Generator\DefinedClasses $definedClasses = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ protected function getResultClassSuffix()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api {
+ /**
+ * Data Object for SearchCriteria
+ * @codeCoverageIgnore
+ */
+ class SearchCriteria extends \Magento\Framework\Api\AbstractSimpleObject implements \Magento\Framework\Api\SearchCriteriaInterface
+ {
+ /**#@+
+ * Constants for Data Object keys
+ */
+ const FILTER_GROUPS = 'filter_groups';
+ const SORT_ORDERS = 'sort_orders';
+ const PAGE_SIZE = 'page_size';
+ const CURRENT_PAGE = 'current_page';
+ /**
+ * Get a list of filter groups.
+ *
+ * @return \Magento\Framework\Api\Search\FilterGroup[]
+ */
+ public function getFilterGroups()
+ {
+ }
+ /**
+ * Get sort order.
+ *
+ * @return \Magento\Framework\Api\SortOrder[]|null
+ */
+ public function getSortOrders()
+ {
+ }
+ /**
+ * Get page size.
+ *
+ * @return int|null
+ */
+ public function getPageSize()
+ {
+ }
+ /**
+ * Get current page.
+ *
+ * @return int|null
+ */
+ public function getCurrentPage()
+ {
+ }
+ /**
+ * Set a list of filter groups.
+ *
+ * @param \Magento\Framework\Api\Search\FilterGroup[] $filterGroups
+ * @return $this
+ */
+ public function setFilterGroups(array $filterGroups = null)
+ {
+ }
+ /**
+ * Set sort order.
+ *
+ * @param \Magento\Framework\Api\SortOrder[] $sortOrders
+ * @return $this
+ */
+ public function setSortOrders(array $sortOrders = null)
+ {
+ }
+ /**
+ * Set page size.
+ *
+ * @param int $pageSize
+ * @return $this
+ */
+ public function setPageSize($pageSize)
+ {
+ }
+ /**
+ * Set current page.
+ *
+ * @param int $currentPage
+ * @return $this
+ */
+ public function setCurrentPage($currentPage)
+ {
+ }
+ }
+ /**
+ * Data object for sort order.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class SortOrder extends \Magento\Framework\Api\AbstractSimpleObject
+ {
+ const FIELD = 'field';
+ const DIRECTION = 'direction';
+ const SORT_ASC = 'ASC';
+ const SORT_DESC = 'DESC';
+ /**
+ * Initialize object and validate sort direction
+ *
+ * @param array $data
+ * @throws InputException
+ */
+ public function __construct(array $data = [])
+ {
+ }
+ /**
+ * Get sorting field.
+ *
+ * @return string
+ */
+ public function getField()
+ {
+ }
+ /**
+ * Set sorting field.
+ *
+ * @param string $field
+ * @throws InputException
+ *
+ * @return $this
+ */
+ public function setField($field)
+ {
+ }
+ /**
+ * Get sorting direction.
+ *
+ * @return string
+ */
+ public function getDirection()
+ {
+ }
+ /**
+ * Set sorting direction.
+ *
+ * @param string $direction
+ * @throws InputException
+ *
+ * @return $this
+ */
+ public function setDirection($direction)
+ {
+ }
+ }
+ /**
+ * Image Content data object
+ *
+ * @codeCoverageIgnore
+ */
+ class ImageContent extends \Magento\Framework\Api\AbstractSimpleObject implements \Magento\Framework\Api\Data\ImageContentInterface
+ {
+ /**
+ * {@inheritdoc}
+ *
+ * @return string
+ */
+ public function getBase64EncodedData()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ *
+ * @return string
+ */
+ public function getType()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ *
+ * @return string
+ */
+ public function getName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ *
+ * @param string $data
+ * @return $this
+ */
+ public function setBase64EncodedData($data)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ *
+ * @param string $mimeType
+ * @return $this
+ */
+ public function setType($mimeType)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ *
+ * @param string $name
+ * @return $this
+ */
+ public function setName($name)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data {
+ /**
+ * Source of option values in a form of value-label pairs
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface OptionSourceInterface
+ {
+ /**
+ * Return array of options as value-label pairs
+ *
+ * @return array Format: array(array('value' => '', 'label' => ''), ...)
+ */
+ public function toOptionArray();
+ }
+}
+namespace Magento\Framework\Option {
+ /**
+ * Array marker interface
+ *
+ * @deprecated 102.0.1 please use \Magento\Framework\Data\OptionSourceInterface instead.
+ * @see \Magento\Framework\Data\OptionSourceInterface
+ */
+ interface ArrayInterface extends \Magento\Framework\Data\OptionSourceInterface
+ {
+ }
+}
+namespace Magento\Framework\View\Element\Block {
+ /**
+ * Block argument interface.
+ * All objects that are injected to block arguments should implement this interface.
+ *
+ * @api
+ * @since 101.0.0
+ */
+ interface ArgumentInterface
+ {
+ }
+}
+namespace Magento\Framework\Data {
+ /**
+ * Interface CollectionDataSourceInterface
+ *
+ * @api
+ */
+ interface CollectionDataSourceInterface extends \Magento\Framework\View\Element\Block\ArgumentInterface
+ {
+ }
+ /**
+ * Data collection
+ *
+ * TODO: Refactor use of \Magento\Framework\Option\ArrayInterface in library.
+ *
+ * @api
+ * @since 100.0.2
+ * @SuppressWarnings(PHPMD.ExcessivePublicCount)
+ */
+ class Collection implements \IteratorAggregate, \Countable, \Magento\Framework\Option\ArrayInterface, \Magento\Framework\Data\CollectionDataSourceInterface, \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ public const SORT_ORDER_ASC = 'ASC';
+ public const SORT_ORDER_DESC = 'DESC';
+ /**
+ * Collection items
+ *
+ * @var DataObject[]
+ */
+ protected $_items = [];
+ /**
+ * Item object class name
+ *
+ * @var string
+ */
+ protected $_itemObjectClass = \Magento\Framework\DataObject::class;
+ /**
+ * Order configuration
+ *
+ * @var array
+ */
+ protected $_orders = [];
+ /**
+ * Filters configuration
+ *
+ * @var DataObject[]
+ */
+ protected $_filters = [];
+ /**
+ * Filter rendered flag
+ *
+ * @var bool
+ */
+ protected $_isFiltersRendered = false;
+ /**
+ * Current page number for items pager
+ *
+ * @var int
+ */
+ protected $_curPage = 1;
+ /**
+ * Pager page size
+ *
+ * if page size is false, then we works with all items
+ *
+ * @var int|false
+ */
+ protected $_pageSize = false;
+ /**
+ * Total items number
+ *
+ * @var int
+ */
+ protected $_totalRecords;
+ /**
+ * Loading state flag
+ *
+ * @var bool
+ */
+ protected $_isCollectionLoaded;
+ /**
+ * Additional collection flags
+ *
+ * @var array
+ */
+ protected $_flags = [];
+ /**
+ * @var EntityFactoryInterface
+ */
+ protected $_entityFactory;
+ /**
+ * @param EntityFactoryInterface $entityFactory
+ */
+ public function __construct(\Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory)
+ {
+ }
+ /**
+ * Add collection filter
+ *
+ * @param string $field
+ * @param string $value
+ * @param string $type and|or|string
+ * @return $this
+ */
+ public function addFilter($field, $value, $type = 'and')
+ {
+ }
+ /**
+ * Add field filter to collection
+ *
+ * If $condition integer or string - exact value will be filtered ('eq' condition)
+ *
+ * If $condition is array - one of the following structures is expected:
+ *
+ * - ["from" => $fromValue, "to" => $toValue]
+ * - ["eq" => $equalValue]
+ * - ["neq" => $notEqualValue]
+ * - ["like" => $likeValue]
+ * - ["in" => [$inValues]]
+ * - ["nin" => [$notInValues]]
+ * - ["notnull" => $valueIsNotNull]
+ * - ["null" => $valueIsNull]
+ * - ["moreq" => $moreOrEqualValue]
+ * - ["gt" => $greaterValue]
+ * - ["lt" => $lessValue]
+ * - ["gteq" => $greaterOrEqualValue]
+ * - ["lteq" => $lessOrEqualValue]
+ * - ["finset" => $valueInSet]
+ *
+ *
+ * If non matched - sequential parallel arrays are expected and OR conditions
+ * will be built using above mentioned structure.
+ *
+ * Example:
+ *
+ * $field = ['age', 'name'];
+ * $condition = [42, ['like' => 'Mage']];
+ *
+ * The above would find where age equal to 42 OR name like %Mage%.
+ *
+ * @param string|array $field
+ * @param string|int|array $condition
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ * @throws \Magento\Framework\Exception\LocalizedException if some error in the input could be detected.
+ */
+ public function addFieldToFilter($field, $condition)
+ {
+ }
+ /**
+ * Search for a filter by specified field
+ *
+ * Multiple filters can be matched if an array is specified:
+ * - 'foo' -- get the first filter with field name 'foo'
+ * - array('foo') -- get all filters with field name 'foo'
+ * - array('foo', 'bar') -- get all filters with field name 'foo' or 'bar'
+ * - array() -- get all filters
+ *
+ * @param string|string[] $field
+ * @return DataObject|DataObject[]|void
+ */
+ public function getFilter($field)
+ {
+ }
+ /**
+ * Retrieve collection loading status
+ *
+ * @return bool
+ */
+ public function isLoaded()
+ {
+ }
+ /**
+ * Set collection loading status flag
+ *
+ * @param bool $flag
+ * @return $this
+ */
+ protected function _setIsLoaded($flag = true)
+ {
+ }
+ /**
+ * Get current collection page
+ *
+ * @param int $displacement
+ * @return int
+ */
+ public function getCurPage($displacement = 0)
+ {
+ }
+ /**
+ * Retrieve collection last page number
+ *
+ * @return int
+ */
+ public function getLastPageNumber()
+ {
+ }
+ /**
+ * Retrieve collection page size
+ *
+ * @return int
+ */
+ public function getPageSize()
+ {
+ }
+ /**
+ * Retrieve collection all items count
+ *
+ * @return int
+ */
+ public function getSize()
+ {
+ }
+ /**
+ * Retrieve collection first item
+ *
+ * @return DataObject
+ */
+ public function getFirstItem()
+ {
+ }
+ /**
+ * Retrieve collection last item
+ *
+ * @return DataObject
+ */
+ public function getLastItem()
+ {
+ }
+ /**
+ * Retrieve collection items
+ *
+ * @return DataObject[]
+ */
+ public function getItems()
+ {
+ }
+ /**
+ * Retrieve field values from all items
+ *
+ * @param string $colName
+ * @return array
+ */
+ public function getColumnValues($colName)
+ {
+ }
+ /**
+ * Search all items by field value
+ *
+ * @param string $column
+ * @param array $value
+ * @return array
+ */
+ public function getItemsByColumnValue($column, $value)
+ {
+ }
+ /**
+ * Search first item by field value
+ *
+ * @param string $column
+ * @param string|int $value
+ * @return DataObject|null
+ */
+ public function getItemByColumnValue($column, $value)
+ {
+ }
+ /**
+ * Adding item to item array
+ *
+ * @param DataObject $item
+ * @return $this
+ * @throws \Exception
+ */
+ public function addItem(\Magento\Framework\DataObject $item)
+ {
+ }
+ /**
+ * Add item that has no id to collection
+ *
+ * @param DataObject $item
+ * @return $this
+ */
+ protected function _addItem($item)
+ {
+ }
+ /**
+ * Retrieve item id
+ *
+ * @param DataObject $item
+ * @return string|int
+ */
+ protected function _getItemId(\Magento\Framework\DataObject $item)
+ {
+ }
+ /**
+ * Retrieve ids of all items
+ *
+ * @return array
+ */
+ public function getAllIds()
+ {
+ }
+ /**
+ * Remove item from collection by item key
+ *
+ * @param string $key
+ * @return $this
+ */
+ public function removeItemByKey($key)
+ {
+ }
+ /**
+ * Remove all items from collection
+ *
+ * @return $this
+ */
+ public function removeAllItems()
+ {
+ }
+ /**
+ * Clear collection
+ *
+ * @return $this
+ */
+ public function clear()
+ {
+ }
+ /**
+ * Walk through the collection and run model method or external callback with optional arguments
+ *
+ * Returns array with results of callback for each item
+ *
+ * @param callable $callback
+ * @param array $args
+ * @return array
+ */
+ public function walk($callback, array $args = [])
+ {
+ }
+ /**
+ * Call method or callback on each item in the collection.
+ *
+ * @param string|array|\Closure $objMethod
+ * @param array $args
+ * @return void
+ */
+ public function each($objMethod, $args = [])
+ {
+ }
+ /**
+ * Setting data for all collection items
+ *
+ * @param string $key
+ * @param string|int|null $value
+ * @return $this
+ */
+ public function setDataToAll($key, $value = null)
+ {
+ }
+ /**
+ * Set current page
+ *
+ * @param int $page
+ * @return $this
+ */
+ public function setCurPage($page)
+ {
+ }
+ /**
+ * Set collection page size
+ *
+ * @param int $size
+ * @return $this
+ */
+ public function setPageSize($size)
+ {
+ }
+ /**
+ * Set select order
+ *
+ * @param string $field
+ * @param string $direction
+ * @return $this
+ */
+ public function setOrder($field, $direction = self::SORT_ORDER_DESC)
+ {
+ }
+ /**
+ * Set collection item class name
+ *
+ * @param string $className
+ * @return $this
+ * @throws \InvalidArgumentException
+ */
+ public function setItemObjectClass($className)
+ {
+ }
+ /**
+ * Retrieve collection empty item
+ *
+ * @return DataObject
+ */
+ public function getNewEmptyItem()
+ {
+ }
+ /**
+ * Render sql select conditions
+ *
+ * @return $this
+ */
+ protected function _renderFilters()
+ {
+ }
+ /**
+ * Render sql select orders
+ *
+ * @return $this
+ */
+ protected function _renderOrders()
+ {
+ }
+ /**
+ * Render sql select limit
+ *
+ * @return $this
+ */
+ protected function _renderLimit()
+ {
+ }
+ /**
+ * Set select distinct
+ *
+ * @param bool $flag
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function distinct($flag)
+ {
+ }
+ /**
+ * Load data
+ *
+ * @param bool $printQuery
+ * @param bool $logQuery
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function loadData($printQuery = false, $logQuery = false)
+ {
+ }
+ /**
+ * Load data
+ *
+ * @param bool $printQuery
+ * @param bool $logQuery
+ * @return $this
+ */
+ public function load($printQuery = false, $logQuery = false)
+ {
+ }
+ /**
+ * Load data with filter in place
+ *
+ * @param bool $printQuery
+ * @param bool $logQuery
+ * @return $this
+ */
+ public function loadWithFilter($printQuery = false, $logQuery = false)
+ {
+ }
+ /**
+ * Convert collection to XML
+ *
+ * @return string
+ */
+ public function toXml()
+ {
+ }
+ /**
+ * Convert collection to array
+ *
+ * @param array $arrRequiredFields
+ * @return array
+ */
+ public function toArray($arrRequiredFields = [])
+ {
+ }
+ /**
+ * Convert items array to array for select options
+ *
+ * Return items array
+ * array(
+ * $index => array(
+ * 'value' => string
+ * 'label' => string
+ * )
+ * )
+ *
+ * @param string $valueField
+ * @param string $labelField
+ * @param array $additional
+ * @return array
+ */
+ protected function _toOptionArray($valueField = 'id', $labelField = 'name', $additional = [])
+ {
+ }
+ /**
+ * Returns option array
+ *
+ * @return array
+ */
+ public function toOptionArray()
+ {
+ }
+ /**
+ * Returns options hash
+ *
+ * @return array
+ */
+ public function toOptionHash()
+ {
+ }
+ /**
+ * Convert items array to hash for select options
+ *
+ * Return items hash
+ * array($value => $label)
+ *
+ * @param string $valueField
+ * @param string $labelField
+ * @return array
+ */
+ protected function _toOptionHash($valueField = 'id', $labelField = 'name')
+ {
+ }
+ /**
+ * Retrieve item by id
+ *
+ * @param string|int $idValue
+ * @return DataObject
+ */
+ public function getItemById($idValue)
+ {
+ }
+ /**
+ * Implementation of \IteratorAggregate::getIterator()
+ *
+ * @return \ArrayIterator
+ */
+ #[\ReturnTypeWillChange]
+ public function getIterator()
+ {
+ }
+ /**
+ * Retrieve count of collection loaded items
+ *
+ * @return int
+ */
+ #[\ReturnTypeWillChange]
+ public function count()
+ {
+ }
+ /**
+ * Retrieve Flag
+ *
+ * @param string $flag
+ * @return bool|null
+ */
+ public function getFlag($flag)
+ {
+ }
+ /**
+ * Set Flag
+ *
+ * @param string $flag
+ * @param bool|null $value
+ * @return $this
+ */
+ public function setFlag($flag, $value = null)
+ {
+ }
+ /**
+ * Has Flag
+ *
+ * @param string $flag
+ * @return bool
+ */
+ public function hasFlag($flag)
+ {
+ }
+ /**
+ * Sleep handler
+ *
+ * @return string[]
+ * @since 100.0.11
+ */
+ public function __sleep()
+ {
+ }
+ /**
+ * Init not serializable fields
+ *
+ * @return void
+ * @since 100.0.11
+ */
+ public function __wakeup()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api {
+ /**
+ * Base for service collections
+ */
+ abstract class AbstractServiceCollection extends \Magento\Framework\Data\Collection
+ {
+ /**
+ * Filters on specific fields
+ *
+ * Each filter has the following structure
+ *
+ * [
+ * 'field' => $field,
+ * 'condition' => $condition,
+ * ]
+ *
+ * @see addFieldToFilter() for more information on conditions
+ *
+ * @var array
+ */
+ protected $fieldFilters = [];
+ /**
+ * @var FilterBuilder
+ */
+ protected $filterBuilder;
+ /**
+ * @var SearchCriteriaBuilder
+ */
+ protected $searchCriteriaBuilder;
+ /**
+ * @var \Magento\Framework\Api\SortOrderBuilder
+ */
+ protected $sortOrderBuilder;
+ /**
+ * @param EntityFactoryInterface $entityFactory
+ * @param FilterBuilder $filterBuilder
+ * @param SearchCriteriaBuilder $searchCriteriaBuilder
+ * @param \Magento\Framework\Api\SortOrderBuilder $sortOrderBuilder
+ */
+ public function __construct(\Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory, \Magento\Framework\Api\FilterBuilder $filterBuilder, \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder, \Magento\Framework\Api\SortOrderBuilder $sortOrderBuilder)
+ {
+ }
+ /**
+ * Add field filter to collection
+ *
+ * If $condition integer or string - exact value will be filtered ('eq' condition)
+ *
+ * If $condition is array - one of the following structures is expected:
+ *
+ * - ["from" => $fromValue, "to" => $toValue]
+ * - ["eq" => $equalValue]
+ * - ["neq" => $notEqualValue]
+ * - ["like" => $likeValue]
+ * - ["in" => [$inValues]]
+ * - ["nin" => [$notInValues]]
+ * - ["notnull" => $valueIsNotNull]
+ * - ["null" => $valueIsNull]
+ * - ["moreq" => $moreOrEqualValue]
+ * - ["gt" => $greaterValue]
+ * - ["lt" => $lessValue]
+ * - ["gteq" => $greaterOrEqualValue]
+ * - ["lteq" => $lessOrEqualValue]
+ * - ["finset" => $valueInSet]
+ * - ["regexp" => $regularExpression]
+ * - ["seq" => $stringValue]
+ * - ["sneq" => $stringValue]
+ *
+ *
+ * If non matched - sequential parallel arrays are expected and OR conditions
+ * will be built using above mentioned structure.
+ *
+ * Example:
+ *
+ * $field = ['age', 'name'];
+ * $condition = [42, ['like' => 'Mage']];
+ * or
+ * ['rate', 'tax_postcode']
+ * [['from'=>"3",'to'=>'8.25'], ['like' =>'%91000%']];
+ *
+ * The above would find where age equal to 42 OR name like %Mage%.
+ *
+ * @param string|array $field
+ * @param string|int|array $condition
+ * @throws LocalizedException if some error in the input could be detected.
+ * @return $this
+ */
+ public function addFieldToFilter($field, $condition)
+ {
+ }
+ /**
+ * Creates a search criteria DTO based on the array of field filters.
+ *
+ * @return SearchCriteria
+ */
+ protected function getSearchCriteria()
+ {
+ }
+ /**
+ * Creates a filter DTO for given field/condition
+ *
+ * @param string $field Field for new filter
+ * @param string|array $condition Condition for new filter.
+ * @return Filter
+ */
+ protected function createFilterData($field, $condition)
+ {
+ }
+ }
+ /**
+ * Class to provide possibility to search for any object's property value by the name and value of another property
+ */
+ class ArrayObjectSearch
+ {
+ /**
+ * Search for the value's value by specified key's name-value pair in the object
+ *
+ * Example of usage:
+ * $data = array(
+ * ValidationRuleBuilderObject('name' => 'min_text_length', 'value' => 0)
+ * ValidationRuleBuilderObject('name' => 'max_text_length', 'value' => 255)
+ * ValidationRuleBuilderObject('anyOtherName' => 'customName', 'anyOtherValue' => 'customValue')
+ * );
+ *
+ * Call:
+ * $maxDateValue = ArrayObjectSearch::getArrayElementByName(
+ * $data,
+ * 'max_text_length'
+ * );
+ * By default function looks for `value`'s value by the `name`'s value
+ * Result: 255
+ *
+ * Call:
+ * $customValue = ArrayObjectSearch::getArrayElementByName(
+ * $data,
+ * 'customName', //what key value to look for
+ * 'anyOtherName', //where to look for
+ * 'anyOtherValue' //where to return from
+ * );
+ * Result: 'customValue'
+ *
+ * @param object $data Object to search in
+ * @param string $keyValue Value of the key property to search for
+ * @param string $keyName Name of the key property to search for
+ * @param string $valueName Name of the value property name
+ * @return null|mixed
+ */
+ public static function getArrayElementByName($data, $keyValue, $keyName = 'name', $valueName = 'value')
+ {
+ }
+ }
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class ImageProcessor implements \Magento\Framework\Api\ImageProcessorInterface
+ {
+ /**
+ * @var array
+ */
+ protected $mimeTypeExtensionMap = ['image/jpg' => 'jpg', 'image/jpeg' => 'jpg', 'image/gif' => 'gif', 'image/png' => 'png'];
+ /**
+ * @var \Psr\Log\LoggerInterface
+ */
+ protected $logger;
+ /**
+ * @param Filesystem $fileSystem
+ * @param ImageContentValidatorInterface $contentValidator
+ * @param DataObjectHelper $dataObjectHelper
+ * @param \Psr\Log\LoggerInterface $logger
+ * @param Uploader $uploader
+ */
+ public function __construct(\Magento\Framework\Filesystem $fileSystem, \Magento\Framework\Api\ImageContentValidatorInterface $contentValidator, \Magento\Framework\Api\DataObjectHelper $dataObjectHelper, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Api\Uploader $uploader)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function save(\Magento\Framework\Api\CustomAttributesDataInterface $dataObjectWithCustomAttributes, $entityType, \Magento\Framework\Api\CustomAttributesDataInterface $previousCustomerData = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function processImageContent($entityType, $imageContent)
+ {
+ }
+ /**
+ * Get mime type extension
+ *
+ * @param string $mimeType
+ * @return string
+ */
+ protected function getMimeTypeExtension($mimeType)
+ {
+ }
+ }
+ class AttributeValueFactory
+ {
+ /**
+ * Entity class name
+ */
+ const CLASS_NAME = \Magento\Framework\Api\AttributeValue::class;
+ /**
+ * Object Manager instance
+ *
+ * @var ObjectManagerInterface
+ */
+ protected $_objectManager = null;
+ /**
+ * Factory constructor
+ *
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @return AttributeValue
+ */
+ public function create()
+ {
+ }
+ }
+ /**
+ * Builder for sort order data object.
+ * @method SortOrder create()
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class SortOrderBuilder extends \Magento\Framework\Api\AbstractSimpleObjectBuilder
+ {
+ /**
+ * Set sorting field.
+ *
+ * @param string $field
+ * @return $this
+ */
+ public function setField($field)
+ {
+ }
+ /**
+ * Set sorting direction.
+ *
+ * @param string $direction
+ * @return $this
+ */
+ public function setDirection($direction)
+ {
+ }
+ /**
+ * @return $this
+ */
+ public function setAscendingDirection()
+ {
+ }
+ /**
+ * @return $this
+ */
+ public function setDescendingDirection()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Api\Search {
+ /**
+ * Interface ReportingInterface
+ *
+ * @api
+ */
+ interface ReportingInterface
+ {
+ /**
+ * @param SearchCriteriaInterface $searchCriteria
+ * @return SearchResultInterface
+ */
+ public function search(\Magento\Framework\Api\Search\SearchCriteriaInterface $searchCriteria);
+ }
+ /**
+ * Groups two or more filters together using a logical OR
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class FilterGroup extends \Magento\Framework\Api\AbstractSimpleObject
+ {
+ const FILTERS = 'filters';
+ /**
+ * Returns a list of filters in this group
+ *
+ * @return \Magento\Framework\Api\Filter[]|null
+ */
+ public function getFilters()
+ {
+ }
+ /**
+ * Set filters
+ *
+ * @param \Magento\Framework\Api\Filter[] $filters
+ * @return $this
+ * @codeCoverageIgnore
+ */
+ public function setFilters(array $filters = null)
+ {
+ }
+ }
+ /**
+ * Interface Search Document
+ *
+ * @api
+ */
+ interface DocumentInterface extends \Magento\Framework\Api\CustomAttributesDataInterface
+ {
+ const ID = 'id';
+ /**
+ * @return int
+ */
+ public function getId();
+ /**
+ * @param int $id
+ * @return $this
+ */
+ public function setId($id);
+ }
+ /**
+ * Builder for SearchCriteria Service Data Object
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class SearchCriteriaBuilder extends \Magento\Framework\Api\AbstractSimpleObjectBuilder
+ {
+ /**
+ * @var SortOrderBuilder
+ */
+ protected $sortOrderBuilder;
+ /**
+ * @var FilterGroupBuilder
+ */
+ protected $filterGroupBuilder;
+ /**
+ * @param ObjectFactory $objectFactory
+ * @param FilterGroupBuilder $filterGroupBuilder
+ * @param SortOrderBuilder $sortOrderBuilder
+ */
+ public function __construct(\Magento\Framework\Api\ObjectFactory $objectFactory, \Magento\Framework\Api\Search\FilterGroupBuilder $filterGroupBuilder, \Magento\Framework\Api\SortOrderBuilder $sortOrderBuilder)
+ {
+ }
+ /**
+ * Builds the SearchCriteria Data Object
+ *
+ * @return SearchCriteria
+ */
+ public function create()
+ {
+ }
+ /**
+ * Create a filter group based on the filter array provided and add to the filter groups
+ *
+ * @param \Magento\Framework\Api\Filter $filter
+ * @return $this
+ */
+ public function addFilter(\Magento\Framework\Api\Filter $filter)
+ {
+ }
+ /**
+ * @param string $field
+ * @param string $direction
+ * @return $this
+ */
+ public function addSortOrder($field, $direction)
+ {
+ }
+ /**
+ * Set page size
+ *
+ * @param int $pageSize
+ * @return $this
+ */
+ public function setPageSize($pageSize)
+ {
+ }
+ /**
+ * Set current page
+ *
+ * @param int $currentPage
+ * @return $this
+ */
+ public function setCurrentPage($currentPage)
+ {
+ }
+ }
+ /**
+ * Interface for facet Bucket
+ *
+ * @api
+ */
+ interface BucketInterface
+ {
+ /**
+ * Get field name
+ *
+ * @return string
+ */
+ public function getName();
+ /**
+ * Get field values
+ *
+ * @return \Magento\Framework\Api\Search\AggregationValueInterface[]
+ */
+ public function getValues();
+ }
+ /**
+ * Interface SearchResultInterface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface SearchResultInterface extends \Magento\Framework\Api\SearchResultsInterface
+ {
+ /**#@+
+ * Constants defined for keys of data array
+ */
+ const TOTAL_COUNT = 'total_count';
+ const SEARCH_CRITERIA = 'search_criteria';
+ const ITEMS = 'items';
+ const AGGREGATIONS = 'aggregations';
+ /**#@-*/
+ /**
+ * @return \Magento\Framework\Api\Search\DocumentInterface[]
+ */
+ public function getItems();
+ /**
+ * Set items list.
+ *
+ * @param \Magento\Framework\Api\Search\DocumentInterface[] $items
+ * @return $this
+ */
+ public function setItems(array $items = null);
+ /**
+ * @return \Magento\Framework\Api\Search\AggregationInterface
+ */
+ public function getAggregations();
+ /**
+ * @param \Magento\Framework\Api\Search\AggregationInterface $aggregations
+ * @return $this
+ */
+ public function setAggregations($aggregations);
+ /**
+ * Get search criteria.
+ *
+ * @return \Magento\Framework\Api\Search\SearchCriteriaInterface
+ */
+ public function getSearchCriteria();
+ }
+ class SearchResult extends \Magento\Framework\Api\AbstractSimpleObject implements \Magento\Framework\Api\Search\SearchResultInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public function getAggregations()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setAggregations($aggregations)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getItems()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setItems(array $items = null)
+ {
+ }
+ /**
+ * Get search criteria.
+ *
+ * @return SearchCriteriaInterface
+ */
+ public function getSearchCriteria()
+ {
+ }
+ /**
+ * Set search criteria.
+ *
+ * @param BaseSearchCriteriaInterface $searchCriteria
+ * @return $this
+ */
+ public function setSearchCriteria(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria = null)
+ {
+ }
+ /**
+ * Get total count.
+ *
+ * @return int
+ */
+ public function getTotalCount()
+ {
+ }
+ /**
+ * Set total count.
+ *
+ * @param int $totalCount
+ * @return $this
+ */
+ public function setTotalCount($totalCount)
+ {
+ }
+ }
+ /**
+ * @api
+ */
+ class SearchCriteriaFactory
+ {
+ /**
+ * Object manager
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * Instance name to create
+ *
+ * @var string
+ */
+ protected $_instanceName = null;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Api\Search\SearchCriteria::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return SearchCriteriaInterface
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ class SearchResultFactory
+ {
+ /**
+ * Object manager
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * Instance name to create
+ *
+ * @var string
+ */
+ protected $_instanceName = null;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Api\Search\SearchResult::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return SearchResultInterface
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ /**
+ * Interface SearchCriteriaInterface
+ *
+ * @api
+ * @package Magento\Framework\Api\Search
+ * @since 100.0.2
+ */
+ interface SearchCriteriaInterface extends \Magento\Framework\Api\SearchCriteriaInterface
+ {
+ /**
+ * @return string
+ */
+ public function getRequestName();
+ /**
+ * @param string $requestName
+ * @return $this
+ */
+ public function setRequestName($requestName);
+ }
+ /**
+ * Search API for all requests
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface SearchInterface
+ {
+ /**
+ * Make Full Text Search and return found Documents
+ *
+ * @param \Magento\Framework\Api\Search\SearchCriteriaInterface $searchCriteria
+ * @return \Magento\Framework\Api\Search\SearchResultInterface
+ */
+ public function search(\Magento\Framework\Api\Search\SearchCriteriaInterface $searchCriteria);
+ }
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ class Document extends \Magento\Framework\Api\AbstractSimpleObject implements \Magento\Framework\Api\Search\DocumentInterface, \IteratorAggregate
+ {
+ /**
+ * @inheritdoc
+ */
+ public function getId()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setId($id)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getCustomAttribute($attributeCode)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setCustomAttribute($attributeCode, $attributeValue)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getCustomAttributes()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setCustomAttributes(array $attributes)
+ {
+ }
+ /**
+ * Implementation of \IteratorAggregate::getIterator()
+ *
+ * @return \ArrayIterator
+ * @since 100.1.0
+ */
+ #[\ReturnTypeWillChange]
+ public function getIterator()
+ {
+ }
+ }
+ /**
+ * Interface Aggregation to get faceted data
+ *
+ * @api
+ */
+ interface AggregationInterface
+ {
+ /**
+ * Get Document field
+ *
+ * @param string $bucketName
+ * @return \Magento\Framework\Api\Search\BucketInterface
+ */
+ public function getBucket($bucketName);
+ /**
+ * Get all Document fields
+ *
+ * @return \Magento\Framework\Api\Search\BucketInterface[]
+ */
+ public function getBuckets();
+ /**
+ * Get Document field names
+ *
+ * @return string[]
+ */
+ public function getBucketNames();
+ }
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ class SearchCriteria extends \Magento\Framework\Api\SearchCriteria implements \Magento\Framework\Api\Search\SearchCriteriaInterface
+ {
+ const REQUEST_NAME = 'request_name';
+ /**
+ * {@inheritdoc}
+ */
+ public function getRequestName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setRequestName($requestName)
+ {
+ }
+ }
+ /**
+ * Builder for FilterGroup Data.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class FilterGroupBuilder extends \Magento\Framework\Api\AbstractSimpleObjectBuilder
+ {
+ /**
+ * @var FilterBuilder
+ */
+ protected $_filterBuilder;
+ /**
+ * @param ObjectFactory $objectFactory
+ * @param FilterBuilder $filterBuilder
+ */
+ public function __construct(\Magento\Framework\Api\ObjectFactory $objectFactory, \Magento\Framework\Api\FilterBuilder $filterBuilder)
+ {
+ }
+ /**
+ * Add filter
+ *
+ * @param \Magento\Framework\Api\Filter $filter
+ * @return $this
+ */
+ public function addFilter(\Magento\Framework\Api\Filter $filter)
+ {
+ }
+ /**
+ * Set filters
+ *
+ * @param \Magento\Framework\Api\Filter[] $filters
+ * @return $this
+ */
+ public function setFilters(array $filters)
+ {
+ }
+ }
+ /**
+ * @api
+ */
+ class DocumentFactory
+ {
+ /**
+ * Object manager
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * Instance name to create
+ *
+ * @var string
+ */
+ protected $_instanceName = null;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Api\Search\Document::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return DocumentInterface
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ /**
+ * Interface Aggregation Value
+ *
+ * @api
+ */
+ interface AggregationValueInterface
+ {
+ /**
+ * Get aggregation
+ *
+ * @return string|array
+ */
+ public function getValue();
+ /**
+ * Get metrics
+ *
+ * @return mixed[]
+ */
+ public function getMetrics();
+ }
+}
+namespace Magento\Framework\Api {
+ /**
+ * Base data object for custom attribute metadata
+ */
+ class AttributeMetadata extends \Magento\Framework\Api\AbstractSimpleObject implements \Magento\Framework\Api\MetadataObjectInterface
+ {
+ const ATTRIBUTE_CODE = 'attribute_code';
+ /**
+ * Retrieve code of the attribute.
+ *
+ * @return string|null
+ */
+ public function getAttributeCode()
+ {
+ }
+ /**
+ * Set code of the attribute.
+ *
+ * @param string $attributeCode
+ * @return $this
+ */
+ public function setAttributeCode($attributeCode)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter {
+ /**
+ * Remove tags from string
+ */
+ class RemoveTags implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * Convert html entities
+ *
+ * @param string[] $matches
+ * @return string
+ */
+ protected function _convertEntities($matches)
+ {
+ }
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function filter($value)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\FilterManager {
+ /**
+ * Filter manager config interface
+ *
+ * @api
+ */
+ interface ConfigInterface
+ {
+ /**
+ * Get list of factories
+ *
+ * @return string[]
+ */
+ public function getFactories();
+ }
+ /**
+ * Filter plugin manager config
+ */
+ class Config implements \Magento\Framework\Filter\FilterManager\ConfigInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $factories = [\Magento\Framework\Filter\Factory::class, \Magento\Framework\Filter\LaminasFactory::class];
+ /**
+ * @param string[] $factories
+ */
+ public function __construct(array $factories = [])
+ {
+ }
+ /**
+ * Get list of factories
+ *
+ * @return string[]
+ */
+ public function getFactories()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter {
+ /**
+ * Magento filter factory interface
+ *
+ * @api
+ */
+ interface FactoryInterface
+ {
+ /**
+ * Check is it possible to create a filter by given name
+ *
+ * @param string $alias
+ * @return bool
+ */
+ public function canCreateFilter($alias);
+ /**
+ * Check is shared filter
+ *
+ * @param string $class
+ * @return bool
+ */
+ public function isShared($class);
+ /**
+ * Create a filter by given name
+ *
+ * @param string $alias
+ * @param array $arguments
+ * @return FilterInterface
+ */
+ public function createFilter($alias, array $arguments = []);
+ }
+ /**
+ * Magento filter factory abstract
+ */
+ abstract class AbstractFactory implements \Magento\Framework\Filter\FactoryInterface
+ {
+ /**
+ * Set of filters
+ *
+ * @var array
+ */
+ protected $invokableClasses = [];
+ /**
+ * Whether or not to share by default; default to false
+ *
+ * @var bool
+ */
+ protected $shareByDefault = true;
+ /**
+ * Shared instances, by default is shared
+ *
+ * @var array
+ */
+ protected $shared = [];
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @var FilterInterface[]
+ */
+ protected $sharedInstances = [];
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManger
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManger)
+ {
+ }
+ /**
+ * Check is it possible to create a filter by given name
+ *
+ * @param string $alias
+ * @return bool
+ */
+ public function canCreateFilter($alias)
+ {
+ }
+ /**
+ * Check is shared filter
+ *
+ * @param string $class
+ * @return bool
+ */
+ public function isShared($class)
+ {
+ }
+ /**
+ * Create a filter by given name
+ *
+ * @param string $alias
+ * @param array $arguments
+ * @return FilterInterface
+ */
+ public function createFilter($alias, array $arguments = [])
+ {
+ }
+ }
+ /**
+ * Magento filter factory
+ */
+ class Factory extends \Magento\Framework\Filter\AbstractFactory
+ {
+ /**
+ * Set of filters
+ *
+ * @var array
+ */
+ protected $invokableClasses = ['email' => \Magento\Framework\Filter\Email::class, 'money' => \Magento\Framework\Filter\Money::class, 'simple' => \Magento\Framework\Filter\Template\Simple::class, 'object' => \Magento\Framework\Filter\DataObject::class, 'sprintf' => \Magento\Framework\Filter\Sprintf::class, 'template' => \Magento\Framework\Filter\Template::class, 'arrayFilter' => \Magento\Framework\Filter\ArrayFilter::class, 'removeAccents' => \Magento\Framework\Filter\RemoveAccents::class, 'splitWords' => \Magento\Framework\Filter\SplitWords::class, 'removeTags' => \Magento\Framework\Filter\RemoveTags::class, 'stripTags' => \Magento\Framework\Filter\StripTags::class, 'truncate' => \Magento\Framework\Filter\Truncate::class, 'encrypt' => \Magento\Framework\Filter\Encrypt::class, 'decrypt' => \Magento\Framework\Filter\Decrypt::class, 'translit' => \Magento\Framework\Filter\Translit::class, 'translitUrl' => \Magento\Framework\Filter\TranslitUrl::class, 'truncateFilter' => \Magento\Framework\Filter\TruncateFilter::class, 'normalizedToLocalized' => \Magento\Framework\Filter\NormalizedToLocalized::class, 'localizedToNormalized' => \Magento\Framework\Filter\LocalizedToNormalized::class, 'fileEncrypt' => \Magento\Framework\Filter\Encrypt::class, 'fileDecrypt' => \Magento\Framework\Filter\Decrypt::class];
+ /**
+ * Shared instances, by default is shared
+ *
+ * @var array
+ */
+ protected $shared = [\Magento\Framework\Filter\Sprintf::class => false, \Magento\Framework\Filter\Money::class => false, \Magento\Framework\Filter\RemoveAccents::class => false, \Magento\Framework\Filter\SplitWords::class => false, \Magento\Framework\Filter\StripTags::class => false, \Magento\Framework\Filter\Truncate::class => false];
+ }
+ /**
+ * Remove accents from string
+ */
+ class RemoveAccents implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @var bool
+ */
+ protected $german;
+ /**
+ * @param bool $german
+ */
+ public function __construct($german = false)
+ {
+ }
+ /**
+ * Returns the result of filtering value
+ *
+ * @param string $string
+ * @return string
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ */
+ public function filter($string)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Template {
+ /**
+ * Provider of a signature.
+ *
+ * Provides a signature which should be used to sign deferred directives
+ * (directives that should be processed in scope of a parent template
+ * instead of own scope, e.g. {{inlinecss}}).
+ */
+ class SignatureProvider implements \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * @param \Magento\Framework\Math\Random $random
+ */
+ public function __construct(\Magento\Framework\Math\Random $random)
+ {
+ }
+ /**
+ * Generates a random string which will be used as a signature during runtime.
+ *
+ * @return string
+ *
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function get() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ }
+ /**
+ * Meter of template filtering depth.
+ *
+ * Records and provides template/directive filtering depth (filtering recursion).
+ * Filtering depth 1 means that template or directive is root and has no parents.
+ */
+ class FilteringDepthMeter
+ {
+ /**
+ * Increases filtering depth.
+ *
+ * @return void
+ */
+ public function descend()
+ {
+ }
+ /**
+ * Decreases filtering depth.
+ *
+ * @return void
+ */
+ public function ascend()
+ {
+ }
+ /**
+ * Shows current filtering depth.
+ *
+ * @return int
+ */
+ public function showMark() : int
+ {
+ }
+ }
+ class Simple extends \Magento\Framework\DataObject implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @var string
+ */
+ protected $_startTag = '{{';
+ /**
+ * @var string
+ */
+ protected $_endTag = '}}';
+ /**
+ * Set tags
+ *
+ * @param string $start
+ * @param string $end
+ * @return $this
+ */
+ public function setTags($start, $end)
+ {
+ }
+ /**
+ * @inheritdoc
+ *
+ * @param string $value
+ * @return string
+ */
+ public function filter($value)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Template\Tokenizer {
+ /**
+ * Template constructions tokenizer
+ */
+ abstract class AbstractTokenizer
+ {
+ /**
+ * Current index in string
+ *
+ * @var int
+ */
+ protected $_currentIndex;
+ /**
+ * String for tokenize
+ *
+ * @var string
+ */
+ protected $_string;
+ /**
+ * Move current index to next char.
+ *
+ * If index out of bounds returns false
+ *
+ * @return boolean
+ */
+ public function next()
+ {
+ }
+ /**
+ * Move current index to previous char.
+ *
+ * If index out of bounds returns false
+ *
+ * @return boolean
+ */
+ public function prev()
+ {
+ }
+ /**
+ * Move current index backwards.
+ *
+ * If index out of bounds returns false
+ *
+ * @param int $distance number of characters to backtrack
+ * @return bool
+ */
+ public function back($distance)
+ {
+ }
+ /**
+ * Return current char
+ *
+ * @return string
+ */
+ public function char()
+ {
+ }
+ /**
+ * Set string for tokenize
+ *
+ * @param string $value
+ * @return void
+ */
+ public function setString($value)
+ {
+ }
+ /**
+ * Move char index to begin of string
+ *
+ * @return void
+ */
+ public function reset()
+ {
+ }
+ /**
+ * Return true if current char is white-space
+ *
+ * @return boolean
+ */
+ public function isWhiteSpace()
+ {
+ }
+ /**
+ * Tokenize string
+ *
+ * @return array
+ */
+ public abstract function tokenize();
+ }
+ /**
+ * Template constructions variables tokenizer
+ */
+ class Variable extends \Magento\Framework\Filter\Template\Tokenizer\AbstractTokenizer
+ {
+ /**
+ * Internal counter used to keep track of how deep in array parsing we are
+ *
+ * @var int
+ */
+ protected $arrayDepth = 0;
+ /**
+ * Tokenize string and return getted variable stack path
+ *
+ * @return array
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function tokenize()
+ {
+ }
+ /**
+ * Get string value for method args
+ *
+ * @return string
+ */
+ public function getString()
+ {
+ }
+ /**
+ * Get array member key or return false if none present
+ *
+ * @return bool|string
+ */
+ public function getMemberKey()
+ {
+ }
+ /**
+ * Get array value for method args
+ *
+ * Parses arrays demarcated via open/closing brackets. Keys/value pairs are separated by a
+ * single colon character. Multi-dimensional arrays are supported. Example input:
+ *
+ * [key:value, "key2":"value2", [
+ * [123, foo],
+ * ]]
+ *
+ * @return array
+ */
+ public function getArray()
+ {
+ }
+ /**
+ * Return the internal array depth counter
+ *
+ * @return int
+ */
+ protected function getArrayDepth()
+ {
+ }
+ /**
+ * Increment the internal array depth counter
+ *
+ * @return void
+ */
+ protected function incArrayDepth()
+ {
+ }
+ /**
+ * Decrement the internal array depth counter
+ *
+ * If depth is already 0 do nothing
+ *
+ * @return void
+ */
+ protected function decArrayDepth()
+ {
+ }
+ /**
+ * Return true if current char is a number
+ *
+ * @return boolean
+ */
+ public function isNumeric()
+ {
+ }
+ /**
+ * Return true if current char is quote or apostrophe
+ *
+ * @return boolean
+ */
+ public function isQuote()
+ {
+ }
+ /**
+ * Retrun true if current char is opening boundary for an array
+ *
+ * @return bool
+ */
+ public function isArray()
+ {
+ }
+ /**
+ * Return true if current char is closing boundary for string
+ *
+ * @return bool
+ */
+ public function isStringBreak()
+ {
+ }
+ /**
+ * Return array of arguments for method
+ *
+ * @return array
+ */
+ public function getMethodArgs()
+ {
+ }
+ /**
+ * Return number value for method args
+ *
+ * @return float
+ */
+ public function getNumber()
+ {
+ }
+ }
+ /**
+ * Template constructions parameters tokenizer
+ */
+ class Parameter extends \Magento\Framework\Filter\Template\Tokenizer\AbstractTokenizer
+ {
+ /**
+ * Tokenize string and return getted parameters
+ *
+ * @return array
+ */
+ public function tokenize()
+ {
+ }
+ /**
+ * Get string value in parameters through tokenize
+ *
+ * @return string
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function getValue()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Encrypt {
+ class Basic implements \Laminas\Filter\Encrypt\EncryptionAlgorithmInterface
+ {
+ /**
+ * @var EncryptorInterface
+ */
+ protected $encryptor;
+ /**
+ * @param EncryptorInterface $encryptor
+ */
+ public function __construct(\Magento\Framework\Encryption\EncryptorInterface $encryptor)
+ {
+ }
+ /**
+ * Encrypt value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function encrypt($value)
+ {
+ }
+ /**
+ * Decrypt value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function decrypt($value)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function toString()
+ {
+ }
+ }
+ /**
+ * Encrypt adapter interface
+ */
+ interface AdapterInterface extends \Laminas\Filter\Encrypt\EncryptionAlgorithmInterface
+ {
+ }
+}
+namespace Magento\Framework\Filter {
+ class DataObject
+ {
+ /**
+ * @var FilterChain
+ */
+ protected $filterChain;
+ /**
+ * @var array
+ */
+ protected $_columnFilters = [];
+ /**
+ * @var EntityFactoryInterface
+ */
+ protected $_entityFactory;
+ /**
+ * @param EntityFactoryInterface $entityFactory
+ * @param FilterChain|null $filterChain
+ */
+ public function __construct(\Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory, \Laminas\Filter\FilterChain $filterChain = null)
+ {
+ }
+ /**
+ * Method to add filter.
+ *
+ * @param FilterInterface $filter
+ * @param string $column
+ *
+ * @return DataObject
+ */
+ public function addFilter(\Laminas\Filter\FilterInterface $filter, $column = '')
+ {
+ }
+ /**
+ * Method filter.
+ *
+ * @param \Magento\Framework\DataObject $object
+ * @return \Magento\Framework\DataObject
+ * @throws \Exception
+ */
+ public function filter($object)
+ {
+ }
+ }
+ class LocalizedToNormalized implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @var array
+ */
+ protected $_options = ['locale' => null, 'date_format' => null, 'precision' => null];
+ /**
+ * @param array|null $options
+ */
+ public function __construct($options = null)
+ {
+ }
+ /**
+ * Returns the set options
+ *
+ * @return array
+ */
+ public function getOptions()
+ {
+ }
+ /**
+ * Sets options to use
+ *
+ * @param array|null $options
+ * @return LocalizedToNormalized
+ */
+ public function setOptions(array $options = null)
+ {
+ }
+ /**
+ * Defined by FilterInterface
+ *
+ * Normalizes the given input
+ *
+ * @param string $value Value to normalized
+ * @return string|array The normalized value
+ */
+ public function filter($value)
+ {
+ }
+ /**
+ * Returns if the given datestring contains all date parts from the given format.
+ *
+ * @param string $date
+ * @return bool
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function checkDateFormat(string $date) : bool
+ {
+ }
+ }
+ class Sprintf implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @var string
+ */
+ protected $format;
+ /**
+ * @var int
+ */
+ protected $decimals;
+ /**
+ * @var string
+ */
+ protected $decPoint;
+ /**
+ * @var string
+ */
+ protected $thousandsSep;
+ /**
+ * @param string $format
+ * @param int|null $decimals
+ * @param string $decPoint
+ * @param string $thousandsSep
+ */
+ public function __construct($format, $decimals = null, $decPoint = '.', $thousandsSep = ',')
+ {
+ }
+ /**
+ * Returns the result of filtering $value.
+ *
+ * @param string $value
+ * @return string
+ */
+ public function filter($value)
+ {
+ }
+ }
+ /**
+ * Filter data collector
+ */
+ class Input implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Filters data collectors
+ *
+ * @var array
+ */
+ protected $_filters = [];
+ /**
+ * Add filter
+ *
+ * @param string $name
+ * @param array|FilterInterface $filter
+ * @param string $placement
+ * @return $this
+ */
+ public function addFilter($name, $filter, $placement = self::CHAIN_APPEND)
+ {
+ }
+ /**
+ * Add a filter to the end of the chain
+ *
+ * @param FilterInterface $filter
+ * @return $this
+ */
+ public function appendFilter(\Laminas\Filter\FilterInterface $filter)
+ {
+ }
+ /**
+ * Add a filter to the start of the chain
+ *
+ * @param array|FilterInterface $filter
+ * @return $this
+ */
+ public function prependFilter($filter)
+ {
+ }
+ /**
+ * Add filters
+ *
+ * Filters data must be has view as
+ * array(
+ * 'key1' => $filters,
+ * 'key2' => array( ... ), //array filters data
+ * 'key2' => $filters
+ * )
+ *
+ * @param array $filters
+ * @return $this
+ */
+ public function addFilters(array $filters)
+ {
+ }
+ /**
+ * Set filters
+ *
+ * @param array $filters
+ * @return $this
+ */
+ public function setFilters(array $filters)
+ {
+ }
+ /**
+ * Get filters
+ *
+ * @param string|null $name Get filter for selected name
+ * @return array|FilterInterface
+ */
+ public function getFilters($name = null)
+ {
+ }
+ /**
+ * Filter data
+ *
+ * @param array $data
+ * @return array Return filtered data
+ */
+ public function filter($data)
+ {
+ }
+ /**
+ * Recursive filtering
+ *
+ * @param array $data
+ * @param array|null $filters
+ * @param bool $isFilterListSimple
+ * @return array
+ * @throws Exception when filter is not found or not instance of defined instances
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ protected function _filter(array $data, &$filters = null, $isFilterListSimple = false)
+ {
+ }
+ /**
+ * Call specified helper method for $value filtration
+ *
+ * @param mixed $value
+ * @param AbstractHelper $helper
+ * @param array $filterData
+ * @return mixed
+ * @throws Exception
+ */
+ protected function _applyFiltrationWithHelper($value, \Magento\Framework\App\Helper\AbstractHelper $helper, array $filterData)
+ {
+ }
+ /**
+ * Try to create Magento helper for filtration based on $filterData. Return false on failure
+ *
+ * @param FilterInterface|array $filterData
+ * @return false|AbstractHelper
+ * @throws Exception
+ */
+ protected function _getFiltrationHelper($filterData)
+ {
+ }
+ /**
+ * Try to create Laminas filter based on $filterData. Return false on failure
+ *
+ * @param FilterInterface|array $filterData
+ * @return false|FilterInterface
+ */
+ protected function _getLaminasFilter($filterData)
+ {
+ }
+ /**
+ * Get Magento filters
+ *
+ * @param array $filterData
+ * @return FilterInterface
+ * @throws Exception
+ */
+ protected function _createCustomLaminasFilter($filterData)
+ {
+ }
+ /**
+ * Get native Filter
+ *
+ * @param array $filterData
+ * @return FilterInterface
+ * @throws Exception
+ */
+ protected function _createNativeLaminasFilter($filterData)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\TruncateFilter {
+ class Result
+ {
+ /**
+ * Result constructor.
+ * @param string $value
+ * @param string $remainder
+ */
+ public function __construct(string $value, string $remainder)
+ {
+ }
+ /**
+ * Set result value
+ *
+ * @param string $value
+ * @return void
+ */
+ public function setValue(string $value) : void
+ {
+ }
+ /**
+ * Get value
+ *
+ * @return string
+ */
+ public function getValue() : string
+ {
+ }
+ /**
+ * Set remainder
+ *
+ * @param string $remainder
+ * @return void
+ */
+ public function setRemainder(string $remainder) : void
+ {
+ }
+ /**
+ * Get remainder
+ *
+ * @return string
+ */
+ public function getRemainder() : string
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter {
+ class SplitWords implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @var bool
+ */
+ protected $uniqueOnly;
+ /**
+ * @var int
+ */
+ protected $wordsQty;
+ /**
+ * @var string
+ */
+ protected $wordSeparatorRegexp;
+ /**
+ * @param bool $uniqueOnly Unique words only
+ * @param int $wordsQty Limit words qty in result
+ * @param string $wordSeparatorRegexp
+ */
+ public function __construct($uniqueOnly = true, $wordsQty = 0, $wordSeparatorRegexp = '\\s')
+ {
+ }
+ /**
+ * Filter value
+ *
+ * @param string $str The source string
+ * @return array
+ */
+ public function filter($str)
+ {
+ }
+ }
+ /**
+ * Responsible for obtaining the value of variables defined in the template
+ *
+ * @api
+ */
+ interface VariableResolverInterface
+ {
+ /**
+ * Resolve a template variable's value based on some raw input
+ *
+ * @param string $value e.g. customer.name or $this.foo() or address.format('html')
+ * @param Template $filter
+ * @param array $templateVariables The dataset that is available as variables to the template
+ * @return string|array|null Should be null if the input cannot be resolved
+ */
+ public function resolve(string $value, \Magento\Framework\Filter\Template $filter, array $templateVariables);
+ }
+}
+namespace Magento\Framework\Filter\VariableResolver {
+ /**
+ * Resolves variables allowing only scalar values
+ */
+ class StrictResolver implements \Magento\Framework\Filter\VariableResolverInterface
+ {
+ /**
+ * @param VariableFactory $variableTokenizerFactory
+ */
+ public function __construct(\Magento\Framework\Filter\Template\Tokenizer\VariableFactory $variableTokenizerFactory)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function resolve(string $value, \Magento\Framework\Filter\Template $filter, array $templateVariables)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter {
+ /**
+ * Magento Filter Manager
+ *
+ * @api
+ * @method string email(string $value)
+ * @method string money(string $value, $params = [])
+ * @method string simple(string $value, $params = [])
+ * @method string object(string $value, $params = [])
+ * @method string sprintf(string $value, $params = [])
+ * @method string template(string $value, $params = [])
+ * @method string arrayFilter(string $value)
+ * @method string removeAccents(string $value, $params = [])
+ * @method string splitWords(string $value, $params = [])
+ * @method string removeTags(string $value, $params = [])
+ * @method string stripTags(string $value, $params = [])
+ * @method string truncate(string $value, $params = [])
+ * @method string truncateFilter(string $value, $params = [])
+ * @method string encrypt(string $value, $params = [])
+ * @method string decrypt(string $value, $params = [])
+ * @method string translit(string $value)
+ * @method string translitUrl(string $value)
+ * @since 100.0.2
+ */
+ class FilterManager
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @var Config
+ */
+ protected $config;
+ /**
+ * @var FactoryInterface[]
+ */
+ protected $factoryInstances;
+ /**
+ * @param ObjectManagerInterface $objectManger
+ * @param Config $config
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManger, \Magento\Framework\Filter\FilterManager\Config $config)
+ {
+ }
+ /**
+ * Get filter object
+ *
+ * @param string $filterAlias
+ * @param array $arguments
+ * @return FilterInterface
+ * @throws UnexpectedValueException
+ */
+ public function get($filterAlias, array $arguments = [])
+ {
+ }
+ /**
+ * Create filter instance
+ *
+ * @param string $filterAlias
+ * @param array $arguments
+ * @return FilterInterface
+ * @throws InvalidArgumentException
+ */
+ protected function createFilterInstance($filterAlias, $arguments)
+ {
+ }
+ /**
+ * Get registered factories
+ *
+ * @return FactoryInterface[]
+ * @throws UnexpectedValueException
+ */
+ protected function getFilterFactories()
+ {
+ }
+ /**
+ * Create filter and filer value
+ *
+ * @param string $filterAlias
+ * @param array $arguments
+ * @return FilterInterface
+ */
+ public function __call($filterAlias, array $arguments = [])
+ {
+ }
+ }
+ /**
+ * Template constructions filter
+ *
+ * @api
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @since 100.0.2
+ */
+ class Template implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * Construction regular expression
+ *
+ * @deprecated Use the new Directive processors
+ */
+ public const CONSTRUCTION_PATTERN = '/{{([a-z]{0,10})(.*?)}}(?:(.*?)(?:{{\\/(?:\\1)}}))?/si';
+ /**
+ * Construction `depend` regular expression
+ *
+ * @deprecated Use the new Directive processors
+ */
+ public const CONSTRUCTION_DEPEND_PATTERN = '/{{depend\\s*(.*?)}}(.*?){{\\/depend\\s*}}/si';
+ /**
+ * Construction `if` regular expression
+ *
+ * @deprecated Use the new Directive processors
+ */
+ public const CONSTRUCTION_IF_PATTERN = '/{{if\\s*(.*?)}}(.*?)({{else}}(.*?))?{{\\/if\\s*}}/si';
+ /**
+ * Construction `template` regular expression
+ *
+ * @deprecated Use the new Directive processors
+ */
+ public const CONSTRUCTION_TEMPLATE_PATTERN = '/{{(template)(.*?)}}/si';
+ /**
+ * Construction `for` regular expression
+ *
+ * @deprecated Use the new Directive processors
+ */
+ public const LOOP_PATTERN = '/{{for(?P.*? )(in)(?P.*?)}}(?P.*?){{\\/for}}/si';
+ /**
+ * Assigned template variables
+ *
+ * @var array
+ */
+ protected $templateVars = [];
+ /**
+ * @var callable|null
+ */
+ protected $templateProcessor = null;
+ /**
+ * @var StringUtils
+ */
+ protected $string;
+ /**
+ * @param StringUtils $string
+ * @param array $variables
+ * @param DirectiveProcessorInterface[] $directiveProcessors
+ * @param VariableResolverInterface|null $variableResolver
+ * @param SignatureProvider|null $signatureProvider
+ * @param FilteringDepthMeter|null $filteringDepthMeter
+ */
+ public function __construct(\Magento\Framework\Stdlib\StringUtils $string, $variables = [], $directiveProcessors = [], \Magento\Framework\Filter\VariableResolverInterface $variableResolver = null, \Magento\Framework\Filter\Template\SignatureProvider $signatureProvider = null, \Magento\Framework\Filter\Template\FilteringDepthMeter $filteringDepthMeter = null)
+ {
+ }
+ /**
+ * Set the template variables available to be resolved in this template via variable resolver directives
+ *
+ * @param array $variables
+ * @return \Magento\Framework\Filter\Template
+ */
+ public function setVariables(array $variables)
+ {
+ }
+ /**
+ * Sets the processor for template directive.
+ *
+ * @param callable $callback it must return string
+ * @return $this
+ */
+ public function setTemplateProcessor(callable $callback)
+ {
+ }
+ /**
+ * Sets the processor for template directive.
+ *
+ * @return callable|null
+ */
+ public function getTemplateProcessor()
+ {
+ }
+ /**
+ * Filter the string as template.
+ *
+ * @param string $value
+ * @return string
+ *
+ * @throws \Exception
+ */
+ public function filter($value)
+ {
+ }
+ /**
+ * Runs callbacks that have been added to filter content after directive processing is finished.
+ *
+ * @param string $value
+ * @return string
+ */
+ protected function afterFilter($value)
+ {
+ }
+ /**
+ * Adds a callback to run after main filtering has happened.
+ *
+ * Callback must accept a single argument and return a string of the processed value.
+ *
+ * @param callable $afterFilterCallback
+ * @return $this
+ */
+ public function addAfterFilterCallback(callable $afterFilterCallback)
+ {
+ }
+ /**
+ * Resets the after filter callbacks
+ *
+ * @return $this
+ */
+ protected function resetAfterFilterCallbacks()
+ {
+ }
+ /**
+ * Process {{var}} directive regex match
+ *
+ * @param string[] $construction
+ * @return string
+ * @deprecated 102.0.4 Use the directive interfaces instead
+ * @see \Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Directive\DirectiveInterface
+ */
+ public function varDirective($construction)
+ {
+ }
+ /**
+ * Process {{for}} directive regex match
+ *
+ * @param string[] $construction
+ * @return string
+ * @deprecated 102.0.4 Use the directive interfaces instead
+ * @see \Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Directive\DirectiveInterface
+ */
+ public function forDirective($construction)
+ {
+ }
+ /**
+ * Allows templates to be included inside other templates
+ *
+ * Usage:
+ *
+ * {{template config_path=""}}
+ *
+ * equals the XPATH to the system configuration value that contains the value of the template.
+ * This directive is useful to include things like a global header/footer.
+ *
+ * @param string[] $construction
+ * @return mixed
+ * @deprecated 102.0.4 Use the directive interfaces instead
+ * @see \Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Directive\DirectiveInterface
+ */
+ public function templateDirective($construction)
+ {
+ }
+ /**
+ * Get depend directive
+ *
+ * @param string[] $construction
+ * @return string
+ * @deprecated 102.0.4 Use the directive interfaces instead
+ * @see \Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Directive\DirectiveInterface
+ */
+ public function dependDirective($construction)
+ {
+ }
+ /**
+ * If directive
+ *
+ * @param string[] $construction
+ * @return string
+ * @deprecated 102.0.4 Use the directive interfaces instead
+ * @see \Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Directive\DirectiveInterface
+ */
+ public function ifDirective($construction)
+ {
+ }
+ /**
+ * Return associative array of parameters.
+ *
+ * @param string $value raw parameters
+ * @return array
+ * @deprecated 102.0.4 Use the directive interfaces instead
+ * @see \Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Directive\DirectiveInterface
+ */
+ protected function getParameters($value)
+ {
+ }
+ /**
+ * Resolve a variable's value for a given var directive construction
+ *
+ * @param string $value raw parameters
+ * @param string $default default value
+ * @return string
+ * @deprecated 102.0.4 Use \Magento\Framework\Filter\VariableResolverInterface instead
+ * @see \Magento\Framework\Filter\VariableResolverInterface
+ */
+ protected function getVariable($value, $default = '{no_value_defined}')
+ {
+ }
+ /**
+ * Loops over a set of stack args to process variables into array argument values
+ *
+ * @param array $stack
+ * @return array
+ * @deprecated 102.0.4 Use new directive processor interfaces
+ * @see \Magento\Framework\Filter\DirectiveProcessorInterface
+ */
+ protected function getStackArgs($stack)
+ {
+ }
+ /**
+ * Change the operating mode for filtering and return the previous mode
+ *
+ * Returning the previous value makes it easy to perform single operations in a single mode:
+ *
+ *
+ * $previousMode = $filter->setStrictMode(true);
+ * $filter->filter($value);
+ * $filter->setStrictMode($previousMode);
+ *
+ *
+ * @param bool $strictMode Enable strict parsing of directives
+ * @return bool The previous mode from before the change
+ * @since 102.0.4
+ * @deprecated The method is not in use anymore.
+ * @see no alternatives
+ */
+ public function setStrictMode(bool $strictMode) : bool
+ {
+ }
+ /**
+ * Return if the template is rendered with strict directive processing
+ *
+ * @return bool
+ * @since 102.0.4
+ * @deprecated
+ * @see no alternatives
+ */
+ public function isStrictMode() : bool
+ {
+ }
+ }
+ /**
+ * Translit filter
+ *
+ * Process string based on convertation table
+ */
+ class Translit implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * Symbol convert table
+ *
+ * @var array
+ */
+ protected $convertTable = ['&' => 'and', '@' => 'at', '©' => 'c', '®' => 'r', 'À' => 'a', 'Á' => 'a', 'Â' => 'a', 'Ä' => 'a', 'Å' => 'a', 'Æ' => 'ae', 'Ç' => 'c', 'È' => 'e', 'É' => 'e', 'Ë' => 'e', 'Ì' => 'i', 'Í' => 'i', 'Î' => 'i', 'Ï' => 'i', 'Ò' => 'o', 'Ó' => 'o', 'Ô' => 'o', 'Õ' => 'o', 'Ö' => 'o', 'Ø' => 'o', 'Ù' => 'u', 'Ú' => 'u', 'Û' => 'u', 'Ü' => 'u', 'Ý' => 'y', 'ß' => 'ss', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'ae', 'ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u', 'ý' => 'y', 'þ' => 'p', 'ÿ' => 'y', 'Ā' => 'a', 'ā' => 'a', 'Ă' => 'a', 'ă' => 'a', 'Ą' => 'a', 'ą' => 'a', 'Ć' => 'c', 'ć' => 'c', 'Ĉ' => 'c', 'ĉ' => 'c', 'Ċ' => 'c', 'ċ' => 'c', 'Č' => 'c', 'č' => 'c', 'Ď' => 'd', 'ď' => 'd', 'Đ' => 'd', 'đ' => 'd', 'Ē' => 'e', 'ē' => 'e', 'Ĕ' => 'e', 'ĕ' => 'e', 'Ė' => 'e', 'ė' => 'e', 'Ę' => 'e', 'ę' => 'e', 'Ě' => 'e', 'ě' => 'e', 'Ĝ' => 'g', 'ĝ' => 'g', 'Ğ' => 'g', 'ğ' => 'g', 'Ġ' => 'g', 'ġ' => 'g', 'Ģ' => 'g', 'ģ' => 'g', 'Ĥ' => 'h', 'ĥ' => 'h', 'Ħ' => 'h', 'ħ' => 'h', 'Ĩ' => 'i', 'ĩ' => 'i', 'Ī' => 'i', 'ī' => 'i', 'Ĭ' => 'i', 'ĭ' => 'i', 'Į' => 'i', 'į' => 'i', 'İ' => 'i', 'ı' => 'i', 'IJ' => 'ij', 'ij' => 'ij', 'Ĵ' => 'j', 'ĵ' => 'j', 'Ķ' => 'k', 'ķ' => 'k', 'ĸ' => 'k', 'Ĺ' => 'l', 'ĺ' => 'l', 'Ļ' => 'l', 'ļ' => 'l', 'Ľ' => 'l', 'ľ' => 'l', 'Ŀ' => 'l', 'ŀ' => 'l', 'Ł' => 'l', 'ł' => 'l', 'Ń' => 'n', 'ń' => 'n', 'Ņ' => 'n', 'ņ' => 'n', 'Ň' => 'n', 'ň' => 'n', 'ʼn' => 'n', 'Ŋ' => 'n', 'ŋ' => 'n', 'Ō' => 'o', 'ō' => 'o', 'Ŏ' => 'o', 'ŏ' => 'o', 'Ő' => 'o', 'ő' => 'o', 'Œ' => 'oe', 'œ' => 'oe', 'Ŕ' => 'r', 'ŕ' => 'r', 'Ŗ' => 'r', 'ŗ' => 'r', 'Ř' => 'r', 'ř' => 'r', 'Ś' => 's', 'ś' => 's', 'Ŝ' => 's', 'ŝ' => 's', 'Ş' => 's', 'ş' => 's', 'Š' => 's', 'š' => 's', 'Ţ' => 't', 'ţ' => 't', 'Ť' => 't', 'ť' => 't', 'Ŧ' => 't', 'ŧ' => 't', 'Ũ' => 'u', 'ũ' => 'u', 'Ū' => 'u', 'ū' => 'u', 'Ŭ' => 'u', 'ŭ' => 'u', 'Ů' => 'u', 'ů' => 'u', 'Ű' => 'u', 'ű' => 'u', 'Ų' => 'u', 'ų' => 'u', 'Ŵ' => 'w', 'ŵ' => 'w', 'Ŷ' => 'y', 'ŷ' => 'y', 'Ÿ' => 'y', 'Ź' => 'z', 'ź' => 'z', 'Ż' => 'z', 'ż' => 'z', 'Ž' => 'z', 'ž' => 'z', 'ſ' => 'z', 'Ə' => 'e', 'ƒ' => 'f', 'Ơ' => 'o', 'ơ' => 'o', 'Ư' => 'u', 'ư' => 'u', 'Ǎ' => 'a', 'ǎ' => 'a', 'Ǐ' => 'i', 'ǐ' => 'i', 'Ǒ' => 'o', 'ǒ' => 'o', 'Ǔ' => 'u', 'ǔ' => 'u', 'Ǖ' => 'u', 'ǖ' => 'u', 'Ǘ' => 'u', 'ǘ' => 'u', 'Ǚ' => 'u', 'ǚ' => 'u', 'Ǜ' => 'u', 'ǜ' => 'u', 'Ǻ' => 'a', 'ǻ' => 'a', 'Ǽ' => 'ae', 'ǽ' => 'ae', 'Ǿ' => 'o', 'ǿ' => 'o', 'ə' => 'e', 'Ё' => 'jo', 'Є' => 'e', 'І' => 'i', 'Ї' => 'i', 'А' => 'a', 'Б' => 'b', 'В' => 'v', 'Г' => 'g', 'Д' => 'd', 'Е' => 'e', 'Ж' => 'zh', 'З' => 'z', 'И' => 'i', 'Й' => 'j', 'К' => 'k', 'Л' => 'l', 'М' => 'm', 'Н' => 'n', 'О' => 'o', 'П' => 'p', 'Р' => 'r', 'С' => 's', 'Т' => 't', 'У' => 'u', 'Ф' => 'f', 'Х' => 'h', 'Ц' => 'c', 'Ч' => 'ch', 'Ш' => 'sh', 'Щ' => 'sch', 'Ъ' => '-', 'Ы' => 'y', 'Ь' => '-', 'Э' => 'je', 'Ю' => 'ju', 'Я' => 'ja', 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'j', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ъ' => '-', 'ы' => 'y', 'ь' => '-', 'э' => 'je', 'ю' => 'ju', 'я' => 'ja', 'ё' => 'jo', 'є' => 'e', 'і' => 'i', 'ї' => 'i', 'Ґ' => 'g', 'ґ' => 'g', 'א' => 'a', 'ב' => 'b', 'ג' => 'g', 'ד' => 'd', 'ה' => 'h', 'ו' => 'v', 'ז' => 'z', 'ח' => 'h', 'ט' => 't', 'י' => 'i', 'ך' => 'k', 'כ' => 'k', 'ל' => 'l', 'ם' => 'm', 'מ' => 'm', 'ן' => 'n', 'נ' => 'n', 'ס' => 's', 'ע' => 'e', 'ף' => 'p', 'פ' => 'p', 'ץ' => 'C', 'צ' => 'c', 'ק' => 'q', 'ר' => 'r', 'ש' => 'w', 'ת' => 't', '™' => 'tm', 'α' => 'a', 'ά' => 'a', 'Ά' => 'a', 'Α' => 'a', 'β' => 'b', 'Β' => 'b', 'γ' => 'g', 'Γ' => 'g', 'δ' => 'd', 'Δ' => 'd', 'ε' => 'e', 'έ' => 'e', 'Ε' => 'e', 'Έ' => 'e', 'ζ' => 'z', 'Ζ' => 'z', 'η' => 'i', 'ή' => 'i', 'Η' => 'i', 'θ' => 'th', 'Θ' => 'th', 'ι' => 'i', 'ί' => 'i', 'ϊ' => 'i', 'ΐ' => 'i', 'Ι' => 'i', 'Ί' => 'i', 'κ' => 'k', 'Κ' => 'k', 'λ' => 'l', 'Λ' => 'l', 'μ' => 'm', 'Μ' => 'm', 'ν' => 'n', 'Ν' => 'n', 'ξ' => 'x', 'Ξ' => 'x', 'ο' => 'o', 'ό' => 'o', 'Ο' => 'o', 'Ό' => 'o', 'π' => 'p', 'Π' => 'p', 'ρ' => 'r', 'Ρ' => 'r', 'σ' => 's', 'ς' => 's', 'Σ' => 's', 'τ' => 't', 'Τ' => 't', 'υ' => 'u', 'ύ' => 'u', 'Υ' => 'y', 'Ύ' => 'y', 'φ' => 'f', 'Φ' => 'f', 'χ' => 'ch', 'Χ' => 'ch', 'ψ' => 'ps', 'Ψ' => 'ps', 'ω' => 'o', 'ώ' => 'o', 'Ω' => 'o', 'Ώ' => 'o', 'অ' => 'a', 'আ' => 'aa', 'ই' => 'i', 'ঈ' => 'ii', 'উ' => 'u', 'ঊ' => 'uu', 'ঋ' => 'r', 'ৠ' => 'ri', 'এ' => 'e', 'ঐ' => 'ai', 'ও' => 'o', 'ঔ' => 'ou', 'ক' => 'ka', 'খ' => 'kha', 'গ' => 'ga', 'ঘ' => 'gha', 'ঙ' => 'na', 'চ' => 'ca', 'ছ' => 'cha', 'জ' => 'ja', 'ঝ' => 'jha', 'ঞ' => 'na', 'ট' => 'ta', 'ঠ' => 'tha', 'ড' => 'da', 'ড়' => 'ra', 'ঢ' => 'dha', 'ঢ়' => 'rha', 'ণ' => 'na', 'ত' => 'ta', 'ৎ' => 't', 'থ' => 'tha', 'দ' => 'da', 'ধ' => 'dha', 'ন' => 'na', 'প' => 'pa', 'ফ' => 'pha', 'ব' => 'ba', 'ভ' => 'bha', 'ম' => 'ma', 'য' => 'ya', 'য়' => 'ya', 'র' => 'ra', 'ল' => 'la', 'শ' => 'sa', 'ষ' => 'sha', 'স' => 'sa', 'হ' => 'ha', '০' => '0', '১' => '1', '২' => '2', '৩' => '3', '৪' => '4', '৫' => '5', '৬' => '6', '৭' => '7', '৮' => '8', '৯' => '9', 'ক্ষ' => 'kso', 'ষ্ণ' => 'sno', 'জ্ঞ' => 'jno', 'ঞ্জ' => 'nchho', 'হ্ম' => 'hmo', 'ঞ্চ' => 'ncho', 'ঙ্ক' => 'ngko', 'ট্ট' => 'tto', 'ক্ষ্ম' => 'ksmo', 'হ্ন' => 'hno', 'হ্ণ' => 'hno', 'ক্র' => 'kro', 'গ্ধ' => 'gdho', 'ত্র' => 'tro', 'ক্ত' => 'kto', 'ক্স' => 'kso', 'ত্ত' => 'tto', 'ত্ম' => 'tmo', 'ক্ক' => 'kko', 'ক্ম' => 'kmo', 'ক্ল' => 'klo', 'া' => 'a', 'ি' => 'i', 'ী' => 'ee', 'ু' => 'o', 'ূ' => 'u', 'ৃ' => 'ri', 'ৄ' => 'rii', 'ে' => 'a', 'ৈ' => 'ai', 'ো' => 'o', 'ৌ' => 'ow', '্য' => 'a', '্র' => 'r', 'ঁ' => 'n', 'ঃ' => 'oh', '়' => 'o', '্' => 'h', 'ং' => 'ng', 'ৢ' => 'n', 'ৣ' => 'nn', 'ñ' => 'n', 'Ñ' => 'n'];
+ /**
+ * @param \Magento\Framework\App\Config\ScopeConfigInterface $config
+ */
+ public function __construct(\Magento\Framework\App\Config\ScopeConfigInterface $config)
+ {
+ }
+ /**
+ * Get chars convertation table
+ *
+ * @return array
+ */
+ protected function getConvertTable()
+ {
+ }
+ /**
+ * Filter value
+ *
+ * @param string $string
+ * @return string
+ */
+ public function filter($string)
+ {
+ }
+ }
+ /**
+ * Url compatible translit filter
+ *
+ * Process string based on convertation table
+ */
+ class TranslitUrl extends \Magento\Framework\Filter\Translit
+ {
+ /**
+ * Filter value
+ *
+ * @param string $string
+ * @return string
+ */
+ public function filter($string)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\DataObject {
+ class Grid extends \Magento\Framework\Filter\DataObject
+ {
+ /**
+ * @param Object[] $grid
+ * @return Object[]
+ */
+ public function filter($grid)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter {
+ /**
+ * Responsible for converting a directive data structure to relevant template output
+ *
+ * @api
+ */
+ interface DirectiveProcessorInterface
+ {
+ /**
+ * Handle the directive from the template
+ *
+ * @param array $construction The result of the regular expression match
+ * @param Template $filter The filter that is processing the template
+ * @param array $templateVariables The dataset available to the template
+ * @return string The rendered directive content
+ */
+ public function process(array $construction, \Magento\Framework\Filter\Template $filter, array $templateVariables) : string;
+ /**
+ * Return the regular expression that will be used to determine if this processor can process a directive
+ *
+ * @return string The regular expression including markers and flags. E.g. /foo/i
+ */
+ public function getRegularExpression() : string;
+ }
+}
+namespace Magento\Framework\Filter\DirectiveProcessor {
+ /**
+ * Serves as the default
+ */
+ class SimpleDirective implements \Magento\Framework\Filter\DirectiveProcessorInterface
+ {
+ /**
+ * @param ProcessorPool $processorPool
+ * @param ParameterFactory $parameterTokenizerFactory
+ * @param VariableResolverInterface $variableResolver
+ * @param FilterApplier $filterApplier
+ */
+ public function __construct(\Magento\Framework\Filter\SimpleDirective\ProcessorPool $processorPool, \Magento\Framework\Filter\Template\Tokenizer\ParameterFactory $parameterTokenizerFactory, \Magento\Framework\Filter\VariableResolverInterface $variableResolver, \Magento\Framework\Filter\DirectiveProcessor\Filter\FilterApplier $filterApplier)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function process(array $construction, \Magento\Framework\Filter\Template $filter, array $templateVariables) : string
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getRegularExpression() : string
+ {
+ }
+ }
+ /**
+ * Transforms the output of a directive processor
+ *
+ * @api
+ */
+ interface FilterInterface
+ {
+ /**
+ * Transform or manipulate value
+ *
+ * @param string $value
+ * @param string[] $params
+ * @return string
+ */
+ public function filterValue(string $value, array $params) : string;
+ /**
+ * This filter's unique name.
+ *
+ * @return string
+ */
+ public function getName() : string;
+ }
+ /**
+ * Allows a a directive to iterate content with the value of variables
+ *
+ * @example syntax {{for item in order.items}} name: {{var item.name}} {{/for}} order items collection.
+ * @example syntax {{for thing in things}} {{var thing.whatever}} {{/for}} e.g.:custom collection.
+ */
+ class ForDirective implements \Magento\Framework\Filter\DirectiveProcessorInterface
+ {
+ /**
+ * @param VariableResolverInterface $variableResolver
+ */
+ public function __construct(\Magento\Framework\Filter\VariableResolverInterface $variableResolver)
+ {
+ }
+ /**
+ * Filter the string as template.
+ *
+ * @param array $construction
+ * @param Template $filter
+ * @param array $templateVariables
+ * @return string
+ */
+ public function process(array $construction, \Magento\Framework\Filter\Template $filter, array $templateVariables) : string
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getRegularExpression() : string
+ {
+ }
+ }
+ /**
+ * Allows templates to be included inside other templates
+ *
+ * Usage:
+ *
+ * {{template config_path=""}}
+ *
+ * equals the XPATH to the system configuration value that contains the value of the template.
+ * This directive is useful to include things like a global header/footer.
+ */
+ class TemplateDirective implements \Magento\Framework\Filter\DirectiveProcessorInterface
+ {
+ /**
+ * @param VariableResolverInterface $variableResolver
+ * @param ParameterFactory $parameterFactory
+ */
+ public function __construct(\Magento\Framework\Filter\VariableResolverInterface $variableResolver, \Magento\Framework\Filter\Template\Tokenizer\ParameterFactory $parameterFactory)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function process(array $construction, \Magento\Framework\Filter\Template $filter, array $templateVariables) : string
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getRegularExpression() : string
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\DirectiveProcessor\Filter {
+ /**
+ * Applies filters to a directive value
+ */
+ class FilterApplier
+ {
+ /**
+ * @param FilterPool $filterPool
+ */
+ public function __construct(\Magento\Framework\Filter\DirectiveProcessor\Filter\FilterPool $filterPool)
+ {
+ }
+ /**
+ * Apply the filters based on the raw directive value
+ *
+ * For example: applyFromRawParam('|escape:html|nl2br', 'a value', ['escape']);
+ *
+ * @param string $param The raw directive filters
+ * @param string $value The input to filter
+ * @param string[] $defaultFilters The default filters that should be applied if none are parsed
+ * @return string The filtered string
+ */
+ public function applyFromRawParam(string $param, string $value, array $defaultFilters = []) : string
+ {
+ }
+ /**
+ * Apply a given list of named filters
+ *
+ * For example: applyFromArray(['escape:html','nl2br], 'a value');
+ *
+ * @param string[] $filters The list of filter names to apply
+ * @param string $value The input to filter
+ * @return string The filtered string
+ */
+ public function applyFromArray(array $filters, string $value) : string
+ {
+ }
+ }
+ /**
+ * EscapesInput
+ */
+ class EscapeFilter implements \Magento\Framework\Filter\DirectiveProcessor\FilterInterface
+ {
+ /**
+ * @param Escaper $escaper
+ */
+ public function __construct(\Magento\Framework\Escaper $escaper)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function filterValue(string $value, array $params) : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getName() : string
+ {
+ }
+ }
+ /**
+ * Inserts HTML line breaks before all newlines in a string
+ */
+ class NewlineToBreakFilter implements \Magento\Framework\Filter\DirectiveProcessor\FilterInterface
+ {
+ /**
+ * @inheritDoc
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function filterValue(string $value, array $params) : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getName() : string
+ {
+ }
+ }
+ /**
+ * Container for directive output filters
+ */
+ class FilterPool
+ {
+ /**
+ * @param array $filters
+ */
+ public function __construct(array $filters = [])
+ {
+ }
+ /**
+ * Return a filter from the pool
+ *
+ * @param string $name
+ * @return FilterInterface
+ */
+ public function get(string $name) : \Magento\Framework\Filter\DirectiveProcessor\FilterInterface
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\DirectiveProcessor {
+ /**
+ * Resolves var directives
+ */
+ class VarDirective implements \Magento\Framework\Filter\DirectiveProcessorInterface
+ {
+ /**
+ * @param VariableResolverInterface $variableResolver
+ * @param FilterApplier $filterApplier
+ */
+ public function __construct(\Magento\Framework\Filter\VariableResolverInterface $variableResolver, \Magento\Framework\Filter\DirectiveProcessor\Filter\FilterApplier $filterApplier)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function process(array $construction, \Magento\Framework\Filter\Template $filter, array $templateVariables) : string
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getRegularExpression() : string
+ {
+ }
+ }
+ /**
+ * Backwards compatibility directive processor for old directives that still extend from Template
+ */
+ class LegacyDirective implements \Magento\Framework\Filter\DirectiveProcessorInterface
+ {
+ /**
+ * @param SimpleDirective $simpleDirective
+ */
+ public function __construct(\Magento\Framework\Filter\DirectiveProcessor\SimpleDirective $simpleDirective)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function process(array $construction, \Magento\Framework\Filter\Template $filter, array $templateVariables) : string
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getRegularExpression() : string
+ {
+ }
+ }
+ /**
+ * Will only render the the content of the directive if the condition is truthy
+ */
+ class DependDirective implements \Magento\Framework\Filter\DirectiveProcessorInterface
+ {
+ /**
+ * @param VariableResolverInterface $variableResolver
+ */
+ public function __construct(\Magento\Framework\Filter\VariableResolverInterface $variableResolver)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function process(array $construction, \Magento\Framework\Filter\Template $filter, array $templateVariables) : string
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getRegularExpression() : string
+ {
+ }
+ }
+ /**
+ * Will only render the the content of the directive if the condition is truthy
+ */
+ class IfDirective implements \Magento\Framework\Filter\DirectiveProcessorInterface
+ {
+ /**
+ * @param VariableResolverInterface $variableResolver
+ */
+ public function __construct(\Magento\Framework\Filter\VariableResolverInterface $variableResolver)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function process(array $construction, \Magento\Framework\Filter\Template $filter, array $templateVariables) : string
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getRegularExpression() : string
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter {
+ /**
+ * Truncate filter
+ *
+ * Truncate a string to a certain length if necessary, appending the $etc string.
+ * $remainder will contain the string that has been replaced with $etc.
+ */
+ class TruncateFilter implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @param \Magento\Framework\Stdlib\StringUtils $stringUtils
+ * @param ResultFactory $resultFactory
+ * @param int $length
+ * @param string $etc
+ * @param bool $breakWords
+ */
+ public function __construct(\Magento\Framework\Stdlib\StringUtils $stringUtils, \Magento\Framework\Filter\TruncateFilter\ResultFactory $resultFactory, $length = 80, $etc = '...', $breakWords = true)
+ {
+ }
+ /**
+ * Filter value
+ *
+ * @param string $string
+ * @return Result
+ */
+ public function filter($string) : \Magento\Framework\Filter\TruncateFilter\Result
+ {
+ }
+ }
+ /**
+ * Laminas filter factory
+ */
+ class LaminasFactory extends \Magento\Framework\Filter\AbstractFactory
+ {
+ /**
+ * Set of filters
+ *
+ * @var array
+ */
+ protected $invokableClasses = ['stripNewlines' => \Laminas\Filter\StripNewlines::class, 'stringTrim' => \Laminas\Filter\StringTrim::class, 'stringToUpper' => \Laminas\Filter\StringToUpper::class, 'stringToLower' => \Laminas\Filter\StringToLower::class, 'realPath' => \Laminas\Filter\RealPath::class, 'pregReplace' => \Laminas\Filter\PregReplace::class, 'null' => \Laminas\Filter\ToNull::class, 'int' => \Laminas\Filter\ToInt::class, 'inflector' => \Laminas\Filter\Inflector::class, 'htmlEntities' => \Laminas\Filter\HtmlEntities::class, 'encrypt' => \Laminas\Filter\Encrypt::class, 'decrypt' => \Laminas\Filter\Decrypt::class, 'dir' => \Laminas\Filter\Dir::class, 'digits' => \Laminas\Filter\Digits::class, 'decompress' => \Laminas\Filter\Decompress::class, 'compress' => \Laminas\Filter\Compress::class, 'callback' => \Laminas\Filter\Callback::class, 'boolean' => \Laminas\Filter\Boolean::class, 'baseName' => \Laminas\Filter\BaseName::class, 'alpha' => \Laminas\I18n\Filter\Alpha::class, 'alnum' => \Laminas\I18n\Filter\Alnum::class, 'underscoreToSeparator' => \Laminas\Filter\Word\UnderscoreToSeparator::class, 'underscoreToDash' => \Laminas\Filter\Word\UnderscoreToDash::class, 'underscoreToCamelCase' => \Laminas\Filter\Word\UnderscoreToCamelCase::class, 'separatorToSeparator' => \Laminas\Filter\Word\SeparatorToSeparator::class, 'separatorToDash' => \Laminas\Filter\Word\SeparatorToDash::class, 'separatorToCamelCase' => \Laminas\Filter\Word\SeparatorToCamelCase::class, 'dashToUnderscore' => \Laminas\Filter\Word\DashToUnderscore::class, 'dashToSeparator' => \Laminas\Filter\Word\DashToSeparator::class, 'dashToCamelCase' => \Laminas\Filter\Word\DashToCamelCase::class, 'camelCaseToUnderscore' => \Laminas\Filter\Word\CamelCaseToUnderscore::class, 'camelCaseToSeparator' => \Laminas\Filter\Word\CamelCaseToSeparator::class, 'camelCaseToDash' => \Laminas\Filter\Word\CamelCaseToDash::class, 'fileUpperCase' => \Laminas\Filter\File\UpperCase::class, 'fileRename' => \Laminas\Filter\File\Rename::class, 'lowerCase' => \Laminas\Filter\File\LowerCase::class];
+ /**
+ * Whether or not to share by default; default to false
+ *
+ * @var bool
+ */
+ protected $shareByDefault = false;
+ /**
+ * Shared instances, by default is shared
+ *
+ * @var array
+ */
+ protected $shared = [\Laminas\Filter\StripNewlines::class => true, \Laminas\Filter\Dir::class => true, \Laminas\Filter\Digits::class => true, \Laminas\Filter\BaseName::class => true];
+ }
+ /**
+ * Filter for standard strip_tags() function with extra functionality for html entities
+ */
+ class StripTags implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @var \Magento\Framework\Escaper
+ */
+ protected $escaper;
+ /**
+ * @var string
+ */
+ protected $allowableTags;
+ /**
+ * @var bool
+ */
+ protected $escape;
+ /**
+ * @param \Magento\Framework\Escaper $escaper
+ * @param string|null $allowableTags
+ * @param bool $escape
+ */
+ public function __construct(\Magento\Framework\Escaper $escaper, $allowableTags = null, $escape = false)
+ {
+ }
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function filter($value)
+ {
+ }
+ }
+ /**
+ * Truncate filter
+ *
+ * Truncate a string to a certain length if necessary, appending the $etc string.
+ * $remainder will contain the string that has been replaced with $etc.
+ *
+ * @deprecated 101.0.7
+ * @see \Magento\Framework\Filter\TruncateFilter
+ */
+ class Truncate implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @var int
+ */
+ protected $length;
+ /**
+ * @var string
+ */
+ protected $etc;
+ /**
+ * @var string
+ */
+ protected $remainder;
+ /**
+ * @var bool
+ */
+ protected $breakWords;
+ /**
+ * @var StringUtils
+ */
+ protected $string;
+ /**
+ * @param StringUtils $string
+ * @param int $length
+ * @param string $etc
+ * @param string $remainder
+ * @param bool $breakWords
+ */
+ public function __construct(\Magento\Framework\Stdlib\StringUtils $string, $length = 80, $etc = '...', &$remainder = '', $breakWords = true)
+ {
+ }
+ /**
+ * Filter value
+ *
+ * @param string $string
+ * @return string
+ */
+ public function filter($string)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Test\Unit\FilterManager {
+ class ConfigTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Config
+ */
+ protected $_config;
+ protected function setUp() : void
+ {
+ }
+ public function testGetFactories()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Test\Unit {
+ class AbstractFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var AbstractFactory
+ */
+ protected $_factory;
+ /**
+ * @var array
+ */
+ protected $_invokableList = ['sprintf' => \Magento\Framework\Filter\Sprintf::class, 'template' => \Magento\Framework\Filter\Template::class, 'arrayFilter' => \Magento\Framework\Filter\ArrayFilter::class];
+ /**
+ * @var array
+ */
+ protected $_sharedList = [\Magento\Framework\Filter\Template::class => true, \Magento\Framework\Filter\ArrayFilter::class => false];
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $_objectManager;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @dataProvider canCreateFilterDataProvider
+ * @param string $alias
+ * @param bool $expectedResult
+ */
+ public function testCanCreateFilter($alias, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function canCreateFilterDataProvider()
+ {
+ }
+ /**
+ * @dataProvider isSharedDataProvider
+ * @param string $alias
+ * @param bool $expectedResult
+ */
+ public function testIsShared($alias, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function isSharedDataProvider()
+ {
+ }
+ /**
+ * @dataProvider createFilterDataProvider
+ * @param string $alias
+ * @param array $arguments
+ * @param bool $isShared
+ */
+ public function testCreateFilter($alias, $arguments, $isShared)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function createFilterDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Test\Unit\Template {
+ class SignatureProviderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var \Magento\Framework\Filter\Template\SignatureProvider
+ */
+ protected $signatureProvider;
+ /**
+ * @var \Magento\Framework\Math\Random|\PHPUnit\Framework\MockObject\MockObject
+ */
+ protected $random;
+ protected function setUp() : void
+ {
+ }
+ public function testGet()
+ {
+ }
+ }
+ class SimpleTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Simple
+ */
+ protected $_filter;
+ protected function setUp() : void
+ {
+ }
+ public function testFilter()
+ {
+ }
+ /**
+ * @param string $startTag
+ * @param string $endTag
+ * @dataProvider setTagsDataProvider
+ */
+ public function testSetTags($startTag, $endTag)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function setTagsDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Test\Unit\Template\Tokenizer {
+ class ParameterTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Parameter
+ */
+ protected $_filter;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $string String to tokenize
+ * @param string $expectedValue
+ * @dataProvider sampleTokenizeStringProvider
+ */
+ public function testTokenize($string, $expectedValue)
+ {
+ }
+ /**
+ * @param string $string String to get value of
+ * @param string $expectedValue
+ * @dataProvider sampleGetValueStringProvider
+ */
+ public function testGetValue($string, $expectedValue)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function sampleTokenizeStringProvider()
+ {
+ }
+ /**
+ * @return array
+ */
+ public function sampleGetValueStringProvider()
+ {
+ }
+ }
+ class VariableTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Variable
+ */
+ protected $_filter;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $string String to tokenize
+ * @param string $expectedValue
+ * @dataProvider sampleTokenizeStringProvider
+ */
+ public function testTokenize($string, $expectedValue)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function sampleTokenizeStringProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Test\Unit {
+ class RemoveAccentsTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @param string $string
+ * @param bool $german
+ * @param string $expected
+ *
+ * @dataProvider removeAccentsDataProvider
+ */
+ public function testRemoveAccents($string, $german, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function removeAccentsDataProvider()
+ {
+ }
+ }
+ class TruncateTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @param string $string
+ * @param array $args
+ * @param string $expected
+ * @param string $expectedReminder
+ * @dataProvider truncateDataProvider
+ */
+ public function testTruncate($string, $args, $expected, $expectedReminder)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function truncateDataProvider()
+ {
+ }
+ }
+ class InputTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testFilterLaminasFilterAsObject()
+ {
+ }
+ public function testFilterLaminasFilterAsArray()
+ {
+ }
+ }
+ class FilterManagerTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var FilterManager
+ */
+ protected $_filterManager;
+ /**
+ * @var Factory
+ */
+ protected $_factoryMock;
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * @var Config
+ */
+ protected $_config;
+ protected function initMocks()
+ {
+ }
+ public function testGetFilterFactories()
+ {
+ }
+ public function testGetFilterFactoriesWrongInstance()
+ {
+ }
+ public function testCreateFilterInstance()
+ {
+ }
+ public function testCreateFilterInstanceWrongAlias()
+ {
+ }
+ /**
+ * @param object $filter
+ * @param string $alias
+ * @param array $arguments
+ */
+ protected function configureFactoryMock($filter, $alias, $arguments = [])
+ {
+ }
+ public function testCall()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Test\Unit\DataObject {
+ class GridTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testFilter()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Test\Unit\DirectiveProcessor {
+ class SimpleDirective extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @dataProvider matchesProvider
+ */
+ public function testMatches($input, $expected)
+ {
+ }
+ public function matchesProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Test\Unit {
+ class TranslitUrlTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var TranslitUrl
+ */
+ protected $model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $testString
+ * @param string $result
+ * @param string $resultIconv
+ * @param bool $isIconv
+ * @dataProvider filterDataProvider
+ */
+ public function testFilter($testString, $result, $resultIconv, $isIconv)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function filterDataProvider()
+ {
+ }
+ }
+ /**
+ * Test for \Magento\Framework\Filter\RemoveTags
+ */
+ class RemoveTagsTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @covers \Magento\Framework\Filter\RemoveTags::filter
+ * @covers \Magento\Framework\Filter\RemoveTags::_convertEntities
+ */
+ public function testRemoveTags()
+ {
+ }
+ public function testFilterEncodedValue()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Test\Unit\Input {
+ class MaliciousCodeTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string|string[] $input
+ * @param string|string[] $expectedOutput
+ * @dataProvider filterDataProvider
+ */
+ public function testFilter($input, $expectedOutput)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function filterDataProvider()
+ {
+ }
+ /**
+ * Ensure that custom filtration regular expressions are applied.
+ */
+ public function testAddExpression()
+ {
+ }
+ /**
+ * Ensure that custom filtration regular expressions replace existing ones.
+ */
+ public function testSetExpression()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Test\Unit {
+ class StripTagsTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @covers \Magento\Framework\Filter\StripTags::filter
+ */
+ public function testStripTags()
+ {
+ }
+ }
+ class ArrayFilterTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testFilter()
+ {
+ }
+ }
+ class SprintfTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testFilter()
+ {
+ }
+ }
+ class SplitWordsTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Bug: $maxWordLength parameter has a misleading name. It limits qty of words in the result.
+ */
+ public function testSplitWords()
+ {
+ }
+ }
+ class TranslitTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Translit
+ */
+ protected $model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $testString
+ * @param string $result
+ * @param string $resultIconv
+ * @param bool $isIconv
+ * @dataProvider filterDataProvider
+ */
+ public function testFilter($testString, $result, $resultIconv, $isIconv)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function filterDataProvider()
+ {
+ }
+ public function testFilterConfigured()
+ {
+ }
+ }
+ /**
+ * Template Filter test.
+ */
+ class TemplateTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var \Magento\Framework\Filter\Template\SignatureProvider|\PHPUnit\Framework\MockObject\MockObject
+ */
+ protected $signatureProvider;
+ /**
+ * @var \Magento\Framework\Filter\Template\FilteringDepthMeter|\PHPUnit\Framework\MockObject\MockObject
+ */
+ protected $filteringDepthMeter;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Filter\Template::afterFilter
+ * @covers \Magento\Framework\Filter\Template::addAfterFilterCallback
+ */
+ public function testAfterFilter()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Filter\Template::afterFilter
+ * @covers \Magento\Framework\Filter\Template::addAfterFilterCallback
+ * @covers \Magento\Framework\Filter\Template::resetAfterFilterCallbacks
+ */
+ public function testAfterFilterCallbackReset()
+ {
+ }
+ /**
+ * @param $type
+ * @return array
+ */
+ public function getTemplateAndExpectedResults($type)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter {
+ /**
+ * Decrypt filter
+ */
+ class Decrypt extends \Laminas\Filter\Decrypt
+ {
+ /**
+ * @param AdapterInterface $adapter
+ */
+ public function __construct(\Magento\Framework\Filter\Encrypt\AdapterInterface $adapter)
+ {
+ }
+ }
+ class NormalizedToLocalized implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @var array
+ */
+ protected $_options = ['locale' => null, 'date_format' => null, 'precision' => null];
+ /**
+ * Class constructor
+ *
+ * @param array|null $options
+ */
+ public function __construct($options = null)
+ {
+ }
+ /**
+ * Returns the set options
+ *
+ * @return array
+ */
+ public function getOptions()
+ {
+ }
+ /**
+ * Sets options to use
+ *
+ * @param array|null $options
+ * @return self
+ */
+ public function setOptions(array $options = null)
+ {
+ }
+ /**
+ * Defined by FilterInterface
+ *
+ * Normalizes the given input
+ *
+ * @param string $value
+ * @return string
+ * @throws Exception
+ */
+ public function filter($value)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter\Input {
+ class MaliciousCode implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @param PurifierInterface|null $purifier
+ */
+ public function __construct(?\Magento\Framework\Filter\Input\PurifierInterface $purifier = null)
+ {
+ }
+ /**
+ * Regular expressions for cutting malicious code
+ *
+ * @var string[]
+ */
+ protected array $_expressions = [
+ //comments, must be first
+ '/(\\/\\*.*\\*\\/)/Us',
+ //tabs
+ '/(\\t)/',
+ //javasript prefix
+ '/(javascript\\s*:)/Usi',
+ //import styles
+ '/(@import)/Usi',
+ //js in the style attribute
+ '/style=[^<]*((expression\\s*?\\([^<]*?\\))|(behavior\\s*:))[^<]*(?=\\/*\\>)/Uis',
+ //js attributes
+ '/(ondblclick|onclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|' . 'onload|onunload|onerror)=[^<]*(?=\\/*\\>)/Uis',
+ //tags
+ '/<\\/?(script|meta|link|frame|iframe|object).*>/Uis',
+ //scripts
+ '/<\\?\\s*?(php|=).*>/Uis',
+ //base64 usage
+ '/src=[^<]*base64[^<]*(?=\\/*\\>)/Uis',
+ ];
+ /**
+ * Filter value
+ *
+ * @param string|array $value
+ * @return string|array
+ */
+ public function filter($value)
+ {
+ }
+ /**
+ * Add expression
+ *
+ * @param string $expression
+ * @return $this
+ */
+ public function addExpression(string $expression) : self
+ {
+ }
+ /**
+ * Set expressions
+ *
+ * @param array $expressions
+ * @return $this
+ */
+ public function setExpressions(array $expressions) : self
+ {
+ }
+ }
+ interface PurifierInterface
+ {
+ /**
+ * Purify Content from malicious code
+ *
+ * @param string|array $content
+ * @return string|array
+ */
+ public function purify($content);
+ }
+ class Purifier implements \Magento\Framework\Filter\Input\PurifierInterface
+ {
+ public const CACHE_DEFINITION = 'Cache.DefinitionImpl';
+ /**
+ * Purifier Constructor Call
+ */
+ public function __construct()
+ {
+ }
+ /**
+ * Purify Html Content from malicious code
+ *
+ * @param string|array $content
+ * @return string|array
+ */
+ public function purify($content)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Filter {
+ class FilterException extends \Exception
+ {
+ }
+}
+namespace Magento\Framework\Filter\SimpleDirective {
+ /**
+ * Container for defined list of simple processors
+ */
+ class ProcessorPool
+ {
+ /**
+ * @param ProcessorInterface[] $processors
+ */
+ public function __construct(array $processors = [])
+ {
+ }
+ /**
+ * Retrieve a defined processor from the pool by name
+ *
+ * @param string $name
+ * @return ProcessorInterface
+ */
+ public function get(string $name) : \Magento\Framework\Filter\SimpleDirective\ProcessorInterface
+ {
+ }
+ }
+ /**
+ * An easier mechanism to implement custom directives rather than parsing the whole directive manually
+ *
+ * @api
+ */
+ interface ProcessorInterface
+ {
+ /**
+ * Unique name of this directive.
+ *
+ * @return string
+ */
+ public function getName() : string;
+ /**
+ * Process values given to the directory and return rendered result.
+ *
+ * @param mixed $value Template var, scalar or null if nothing has been passed to the directive.
+ * @param string[] $parameters Additional parameters.
+ * @param string|null $html HTML inside the directive.
+ * @return string
+ */
+ public function process($value, array $parameters, ?string $html) : string;
+ /**
+ * Default filters to apply if none provided in a template.
+ *
+ * @return string[]|null
+ */
+ public function getDefaultFilters() : ?array;
+ }
+}
+namespace Magento\Framework\Filter {
+ /**
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class FilterInput
+ {
+ public const ALLOW_EMPTY = 'allowEmpty';
+ public const BREAK_CHAIN = 'breakChainOnFailure';
+ public const DEFAULT_VALUE = 'default';
+ public const MESSAGES = 'messages';
+ public const ESCAPE_FILTER = 'escapeFilter';
+ public const FIELDS = 'fields';
+ public const FILTER = 'filter';
+ public const FILTER_CHAIN = 'filterChain';
+ public const MISSING_MESSAGE = 'missingMessage';
+ public const INPUT_NAMESPACE = 'inputNamespace';
+ public const VALIDATOR_NAMESPACE = 'validatorNamespace';
+ public const FILTER_NAMESPACE = 'filterNamespace';
+ public const NOT_EMPTY_MESSAGE = 'notEmptyMessage';
+ public const PRESENCE = 'presence';
+ public const PRESENCE_OPTIONAL = 'optional';
+ public const PRESENCE_REQUIRED = 'required';
+ public const RULE = 'rule';
+ public const RULE_WILDCARD = '*';
+ public const VALIDATE = 'validate';
+ public const VALIDATOR = 'validator';
+ public const VALIDATOR_CHAIN = 'validatorChain';
+ public const VALIDATOR_CHAIN_COUNT = 'validatorChainCount';
+ /**
+ * @var array
+ */
+ protected $_data = [];
+ /**
+ * @var array
+ */
+ protected $_filterRules = [];
+ /**
+ * @var array
+ */
+ protected $_validatorRules = [];
+ /**
+ * @var array
+ */
+ protected $_validFields = [];
+ /**
+ * @var array
+ */
+ protected $_invalidMessages = [];
+ /**
+ * @var array
+ */
+ protected $_invalidErrors = [];
+ /**
+ * @var array
+ */
+ protected $_missingFields = [];
+ /**
+ * @var array
+ */
+ protected $_unknownFields = [];
+ /**
+ * @var FilterInterface
+ */
+ protected $_defaultEscapeFilter = null;
+ /**
+ * @var array
+ */
+ protected $_loaders = [];
+ /**
+ * @var array
+ */
+ protected $_defaults = [self::ALLOW_EMPTY => false, self::BREAK_CHAIN => false, self::ESCAPE_FILTER => 'HtmlEntities', self::MISSING_MESSAGE => "Field '%field%' is required by rule '%rule%', but the field is missing", self::NOT_EMPTY_MESSAGE => "You must give a non-empty value for field '%field%'", self::PRESENCE => self::PRESENCE_OPTIONAL];
+ /**
+ * @var boolean
+ */
+ protected $_processed = false;
+ /**
+ * @var TranslatorInterface
+ */
+ protected $_translator;
+ /**
+ * @var Boolean
+ */
+ protected $_translatorDisabled = false;
+ /**
+ * @param array $filterRules
+ * @param array $validatorRules
+ * @param array|null $data
+ * @param array|null $options
+ */
+ public function __construct($filterRules, $validatorRules, array $data = null, array $options = null)
+ {
+ }
+ /**
+ * Method to get messages.
+ *
+ * @return array
+ */
+ public function getMessages()
+ {
+ }
+ /**
+ * Method to get errors.
+ *
+ * @return array
+ */
+ public function getErrors()
+ {
+ }
+ /**
+ * Method to get invalid.
+ *
+ * @return array
+ */
+ public function getInvalid()
+ {
+ }
+ /**
+ * Method to get missing.
+ *
+ * @return array
+ */
+ public function getMissing()
+ {
+ }
+ /**
+ * Method to get unknown.
+ *
+ * @return array
+ */
+ public function getUnknown()
+ {
+ }
+ /**
+ * Method to get escaped.
+ *
+ * @param string $fieldName
+ *
+ * @return mixed
+ */
+ public function getEscaped($fieldName = null)
+ {
+ }
+ /**
+ * Method to escape recursive.
+ *
+ * @param array|null $data
+ *
+ * @return array|null
+ */
+ protected function _escapeRecursive($data)
+ {
+ }
+ /**
+ * Method to get unescaped.
+ *
+ * @param string $fieldName
+ *
+ * @return mixed
+ */
+ public function getUnescaped($fieldName = null)
+ {
+ }
+ /**
+ * Method get.
+ *
+ * @param string $fieldName
+ *
+ * @return mixed
+ */
+ public function __get($fieldName)
+ {
+ }
+ /**
+ * Method to check has invalid.
+ *
+ * @return boolean
+ */
+ public function hasInvalid()
+ {
+ }
+ /**
+ * Method to check has missing.
+ *
+ * @return boolean
+ */
+ public function hasMissing()
+ {
+ }
+ /**
+ * Method to check has valid.
+ *
+ * @return boolean
+ */
+ public function hasValid()
+ {
+ }
+ /**
+ * Method to check is valid.
+ *
+ * @param string $fieldName
+ *
+ * @return boolean
+ */
+ public function isValid($fieldName = null)
+ {
+ }
+ /**
+ * Method isset
+ *
+ * @param string $fieldName
+ * @return boolean
+ */
+ public function __isset($fieldName)
+ {
+ }
+ /**
+ * Method to process.
+ *
+ * @return FilterInput
+ * @throws \Exception
+ */
+ public function process()
+ {
+ }
+ /**
+ * Method to set data.
+ *
+ * @param array $data
+ *
+ * @return FilterInput
+ */
+ public function setData(array $data)
+ {
+ }
+ /**
+ * Method to set default escape filter.
+ *
+ * @param mixed $escapeFilter
+ *
+ * @return FilterInterface
+ * @throws \Exception
+ */
+ public function setDefaultEscapeFilter($escapeFilter)
+ {
+ }
+ /**
+ * Method to set options.
+ *
+ * @param array $options
+ *
+ * @return FilterInput
+ * @throws \Exception
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function setOptions(array $options)
+ {
+ }
+ /**
+ * Set translation object
+ *
+ * @param TranslatorInterface $translator
+ * @return FilterInput
+ */
+ public function setTranslator($translator = null)
+ {
+ }
+ /**
+ * Return translation object
+ *
+ * @return TranslatorInterface
+ */
+ public function getTranslator()
+ {
+ }
+ /**
+ * Indicate whether or not translation should be disabled
+ *
+ * @param bool $flag
+ *
+ * @return FilterInput
+ */
+ public function setDisableTranslator($flag)
+ {
+ }
+ /**
+ * Is translation disabled
+ *
+ * @return bool
+ */
+ public function translatorIsDisabled()
+ {
+ }
+ /**
+ * Method to filter.
+ *
+ * @return void
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @throws FilterException
+ */
+ protected function _filter()
+ {
+ }
+ /**
+ * Method to filter rule.
+ *
+ * @param array $filterRule
+ *
+ * @return void
+ */
+ protected function _filterRule(array $filterRule)
+ {
+ }
+ /**
+ * Method to get default escape filter.
+ *
+ * @return FilterInterface
+ * @throws \Exception
+ */
+ protected function _getDefaultEscapeFilter()
+ {
+ }
+ /**
+ * Method to get missing message.
+ *
+ * @param string $rule
+ * @param string $field
+ *
+ * @return string
+ */
+ protected function _getMissingMessage($rule, $field)
+ {
+ }
+ /**
+ * Method to get not empty message
+ *
+ * @param string $rule
+ * @param string $field
+ *
+ * @return string
+ */
+ protected function _getNotEmptyMessage($rule, $field)
+ {
+ }
+ /**
+ * Method to process.
+ *
+ * @return void
+ */
+ protected function _process()
+ {
+ }
+ /**
+ * Method to validate.
+ *
+ * @return void
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ * phpcs:disable Generic.Metrics.NestingLevel
+ */
+ protected function _validate()
+ {
+ }
+ /**
+ * Method to validate rule.
+ *
+ * @param array $validatorRule
+ *
+ * @return void
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ * phpcs:disable Generic.Metrics.NestingLevel
+ */
+ protected function _validateRule(array $validatorRule)
+ {
+ }
+ /**
+ * Check a validatorRule for the presence of a NotEmpty validator instance.
+ *
+ * @param array $validatorRule
+ *
+ * @return mixed
+ */
+ protected function _getNotEmptyValidatorInstance($validatorRule)
+ {
+ }
+ /**
+ * Method to get filter.
+ *
+ * @param mixed $classBaseName
+ *
+ * @return object
+ * @throws FilterException
+ */
+ protected function _getFilter($classBaseName)
+ {
+ }
+ /**
+ * Method to get validator.
+ *
+ * @param mixed $classBaseName
+ *
+ * @return object
+ * @throws FilterException
+ */
+ protected function _getValidator($classBaseName)
+ {
+ }
+ /**
+ * Method to get filter or validator.
+ *
+ * @param mixed $classBaseName
+ *
+ * @return object
+ * @throws FilterException
+ */
+ protected function _getFilterOrValidator($classBaseName)
+ {
+ }
+ }
+ class ArrayFilter
+ {
+ /**
+ * @var FilterChain
+ */
+ protected $filterChain;
+ /**
+ * @var array
+ */
+ protected $_columnFilters = [];
+ /**
+ * @param FilterChain|null $filterChain
+ */
+ public function __construct(\Laminas\Filter\FilterChain $filterChain = null)
+ {
+ }
+ /**
+ * Method to add filer.
+ *
+ * @param FilterInterface $filter
+ * @param string $column
+ * @return ArrayFilter
+ */
+ public function addFilter(\Laminas\Filter\FilterInterface $filter, $column = '')
+ {
+ }
+ /**
+ * Returns $value filtered through each filter in the chain.
+ *
+ * @param array $array
+ * @return array
+ */
+ public function filter($array)
+ {
+ }
+ }
+ /**
+ * Encrypt filter
+ */
+ class Encrypt extends \Laminas\Filter\Encrypt
+ {
+ /**
+ * @param AdapterInterface $adapter
+ */
+ public function __construct(\Magento\Framework\Filter\Encrypt\AdapterInterface $adapter)
+ {
+ }
+ }
+ /**
+ * @deprecated As money_format() was removed in PHP 8.0
+ * @see https://www.php.net/manual/en/function.money-format.php
+ */
+ class Money implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * @var string
+ */
+ protected $_format;
+ /**
+ * @param string $format
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function __construct($format)
+ {
+ }
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param float $value
+ * @return string
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function filter($value)
+ {
+ }
+ }
+ class Email implements \Laminas\Filter\FilterInterface
+ {
+ /**
+ * Returns the result of filtering $value.
+ *
+ * @param mixed $value
+ * @return mixed
+ */
+ public function filter($value)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data {
+ /**
+ * Data tree
+ *
+ * @api
+ * @author Magento Core Team
+ * @since 100.0.2
+ */
+ class Tree
+ {
+ /**
+ * Nodes collection
+ *
+ * @var NodeCollection
+ */
+ protected $_nodes;
+ /**
+ * Enter description here...
+ *
+ */
+ public function __construct()
+ {
+ }
+ /**
+ * Enter description here...
+ *
+ * @return \Magento\Framework\Data\Tree
+ */
+ public function getTree()
+ {
+ }
+ /**
+ * Enter description here...
+ *
+ * @param Node $parentNode
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function load($parentNode = null)
+ {
+ }
+ /**
+ * Enter description here...
+ *
+ * @param int|string $nodeId
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function loadNode($nodeId)
+ {
+ }
+ /**
+ * Append child
+ *
+ * @param array|Node $data
+ * @param Node $parentNode
+ * @param Node $prevNode
+ * @return Node
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function appendChild($data, $parentNode, $prevNode = null)
+ {
+ }
+ /**
+ * Add node
+ *
+ * @param Node $node
+ * @param Node $parent
+ * @return Node
+ */
+ public function addNode($node, $parent = null)
+ {
+ }
+ /**
+ * Move node
+ *
+ * @param Node $node
+ * @param Node $parentNode
+ * @param Node $prevNode
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function moveNodeTo($node, $parentNode, $prevNode = null)
+ {
+ }
+ /**
+ * Copy node
+ *
+ * @param Node $node
+ * @param Node $parentNode
+ * @param Node $prevNode
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function copyNodeTo($node, $parentNode, $prevNode = null)
+ {
+ }
+ /**
+ * Remove node
+ *
+ * @param Node $node
+ * @return $this
+ */
+ public function removeNode($node)
+ {
+ }
+ /**
+ * Create node
+ *
+ * @param Node $parentNode
+ * @param Node $prevNode
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function createNode($parentNode, $prevNode = null)
+ {
+ }
+ /**
+ * Get child
+ *
+ * @param Node $node
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function getChild($node)
+ {
+ }
+ /**
+ * Get children
+ *
+ * @param Node $node
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function getChildren($node)
+ {
+ }
+ /**
+ * Enter description here...
+ *
+ * @return NodeCollection
+ */
+ public function getNodes()
+ {
+ }
+ /**
+ * Enter description here...
+ *
+ * @param Node $nodeId
+ * @return Node
+ */
+ public function getNodeById($nodeId)
+ {
+ }
+ /**
+ * Get path
+ *
+ * @param Node $node
+ * @return array
+ */
+ public function getPath($node)
+ {
+ }
+ }
+ /**
+ * Class ObjectFactory
+ * @package Magento\Framework\Data
+ */
+ class ObjectFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create data object
+ *
+ * @param string $className
+ * @param array $arguments
+ * @return \Magento\Framework\DataObject
+ */
+ public function create($className, array $arguments)
+ {
+ }
+ }
+ /**
+ * Interface SearchResultProcessorInterface
+ *
+ * @api
+ */
+ interface SearchResultProcessorInterface
+ {
+ /**
+ * Retrieve all ids for collection
+ *
+ * @return array
+ */
+ public function getAllIds();
+ /**
+ * Get current collection page
+ *
+ * @return int
+ */
+ public function getCurrentPage();
+ /**
+ * Retrieve collection page size
+ *
+ * @return int
+ */
+ public function getPageSize();
+ /**
+ * Retrieve collection first item
+ *
+ * @return \Magento\Framework\DataObject
+ */
+ public function getFirstItem();
+ /**
+ * Retrieve collection last item
+ *
+ * @return \Magento\Framework\DataObject
+ */
+ public function getLastItem();
+ /**
+ * Retrieve field values from all items
+ *
+ * @param string $colName
+ * @return array
+ */
+ public function getColumnValues($colName);
+ /**
+ * Search all items by field value
+ *
+ * @param string $column
+ * @param mixed $value
+ * @return array
+ */
+ public function getItemsByColumnValue($column, $value);
+ /**
+ * Search first item by field value
+ *
+ * @param string $column
+ * @param mixed $value
+ * @return \Magento\Framework\DataObject || null
+ */
+ public function getItemByColumnValue($column, $value);
+ /**
+ * Retrieve item by id
+ *
+ * @param mixed $idValue
+ * @return \Magento\Framework\DataObject
+ */
+ public function getItemById($idValue);
+ /**
+ * Walk through the collection and run model method or external callback
+ * with optional arguments
+ *
+ * Returns array with results of callback for each item
+ *
+ * @param string $callback
+ * @param array $arguments
+ * @return array
+ */
+ public function walk($callback, array $arguments = []);
+ /**
+ * Convert collection to XML
+ *
+ * @return string
+ */
+ public function toXml();
+ /**
+ * Convert collection to array
+ *
+ * @param array $arrRequiredFields
+ * @return array
+ */
+ public function toArray($arrRequiredFields = []);
+ /**
+ * Convert items array to array for select options
+ *
+ * return items array
+ * array(
+ * $index => array(
+ * 'value' => mixed
+ * 'label' => mixed
+ * )
+ * )
+ *
+ * @param string $valueField
+ * @param string $labelField
+ * @param array $additional
+ * @return array
+ */
+ public function toOptionArray($valueField = null, $labelField = null, $additional = []);
+ /**
+ * Convert items array to hash for select options
+ *
+ * return items hash
+ * array($value => $label)
+ *
+ * @param string $valueField
+ * @param string $labelField
+ * @return array
+ */
+ public function toOptionHash($valueField, $labelField);
+ }
+ /**
+ * Base Class for simple data Objects
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ */
+ abstract class AbstractDataObject
+ {
+ /**
+ * @var array
+ */
+ protected $data;
+ /**
+ * Return Data Object data in array format.
+ *
+ * @return array
+ */
+ public function toArray()
+ {
+ }
+ /**
+ * Retrieves a value from the data array if set, or null otherwise.
+ *
+ * @param string $key
+ * @return mixed|null
+ */
+ protected function get($key)
+ {
+ }
+ }
+ /**
+ * Class SearchResultProcessor
+ */
+ class SearchResultProcessor extends \Magento\Framework\Data\AbstractDataObject implements \Magento\Framework\Data\SearchResultProcessorInterface
+ {
+ /**
+ * Data Interface name
+ *
+ * @var string
+ */
+ protected $dataInterface = \Magento\Framework\DataObject::class;
+ /**
+ * @var AbstractSearchResult
+ */
+ protected $searchResult;
+ /**
+ * @param AbstractSearchResult $searchResult
+ */
+ public function __construct(\Magento\Framework\Data\AbstractSearchResult $searchResult)
+ {
+ }
+ /**
+ * @return int
+ */
+ public function getCurrentPage()
+ {
+ }
+ /**
+ * @return int
+ */
+ public function getPageSize()
+ {
+ }
+ /**
+ * @return \Magento\Framework\DataObject|mixed
+ */
+ public function getFirstItem()
+ {
+ }
+ /**
+ * @return \Magento\Framework\DataObject|mixed
+ */
+ public function getLastItem()
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getAllIds()
+ {
+ }
+ /**
+ * @param int $id
+ * @return \Magento\Framework\DataObject|null
+ */
+ public function getItemById($id)
+ {
+ }
+ /**
+ * @param string $colName
+ * @return array
+ */
+ public function getColumnValues($colName)
+ {
+ }
+ /**
+ * @param string $column
+ * @param mixed $value
+ * @return array
+ */
+ public function getItemsByColumnValue($column, $value)
+ {
+ }
+ /**
+ * @param string $column
+ * @param mixed $value
+ * @return \Magento\Framework\DataObject|null
+ */
+ public function getItemByColumnValue($column, $value)
+ {
+ }
+ /**
+ * @param string $callback
+ * @param array $args
+ * @return array
+ */
+ public function walk($callback, array $args = [])
+ {
+ }
+ /**
+ * @return string
+ */
+ public function toXml()
+ {
+ }
+ /**
+ * @param array $arrRequiredFields
+ * @return array
+ */
+ public function toArray($arrRequiredFields = [])
+ {
+ }
+ /**
+ * @param string|null $valueField
+ * @param string|null $labelField
+ * @param array $additional
+ * @return array
+ */
+ public function toOptionArray($valueField = null, $labelField = null, $additional = [])
+ {
+ }
+ /**
+ * @param string $valueField
+ * @param string $labelField
+ * @return array
+ */
+ public function toOptionHash($valueField, $labelField)
+ {
+ }
+ /**
+ * @return string
+ */
+ protected function getDataInterfaceName()
+ {
+ }
+ }
+ /**
+ * Class AbstractCriteria
+ */
+ abstract class AbstractCriteria implements \Magento\Framework\Api\CriteriaInterface
+ {
+ /**
+ * @var array
+ */
+ protected $data = [self::PART_FIELDS => ['list' => []], self::PART_FILTERS => ['list' => []], self::PART_ORDERS => ['list' => []], self::PART_CRITERIA_LIST => ['list' => []]];
+ /**
+ * @var string
+ */
+ protected $mapperInterfaceName;
+ /**
+ * Get associated Mapper Interface name
+ *
+ * @throws \Exception
+ * @return string
+ */
+ public function getMapperInterfaceName()
+ {
+ }
+ /**
+ * Add field to select
+ *
+ * @param string|array $field
+ * @param string|null $alias
+ * @return void
+ */
+ public function addField($field, $alias = null)
+ {
+ }
+ /**
+ * Add field filter to collection
+ *
+ * If $condition integer or string - exact value will be filtered ('eq' condition)
+ *
+ * If $condition is array - one of the following structures is expected:
+ *
+ * - ["from" => $fromValue, "to" => $toValue]
+ * - ["eq" => $equalValue]
+ * - ["neq" => $notEqualValue]
+ * - ["like" => $likeValue]
+ * - ["in" => [$inValues]]
+ * - ["nin" => [$notInValues]]
+ * - ["notnull" => $valueIsNotNull]
+ * - ["null" => $valueIsNull]
+ * - ["moreq" => $moreOrEqualValue]
+ * - ["gt" => $greaterValue]
+ * - ["lt" => $lessValue]
+ * - ["gteq" => $greaterOrEqualValue]
+ * - ["lteq" => $lessOrEqualValue]
+ * - ["finset" => $valueInSet]
+ *
+ *
+ * If non matched - sequential parallel arrays are expected and OR conditions
+ * will be built using above mentioned structure.
+ *
+ * Example:
+ *
+ * $field = ['age', 'name'];
+ * $condition = [42, ['like' => 'Mage']];
+ * $type = 'or';
+ *
+ * The above would find where age equal to 42 OR name like %Mage%.
+ *
+ * @param string $name
+ * @param string|array $field
+ * @param string|int|array $condition
+ * @param string $type
+ * @throws \Exception
+ * @return void
+ */
+ public function addFilter($name, $field, $condition = null, $type = 'and')
+ {
+ }
+ /**
+ * self::setOrder() alias
+ *
+ * @param string $field
+ * @param string $direction
+ * @param bool $unShift
+ * @return void
+ */
+ public function addOrder($field, $direction = self::SORT_ORDER_DESC, $unShift = false)
+ {
+ }
+ /**
+ * Set Query limit
+ *
+ * @param int $offset
+ * @param int $size
+ * @return void
+ */
+ public function setLimit($offset, $size)
+ {
+ }
+ /**
+ * Removes field from select
+ *
+ * @param string|null $field
+ * @param bool $isAlias Alias identifier
+ * @return void
+ */
+ public function removeField($field, $isAlias = false)
+ {
+ }
+ /**
+ * Removes all fields from select
+ *
+ * @return void
+ */
+ public function removeAllFields()
+ {
+ }
+ /**
+ * Removes filter by name
+ *
+ * @param string $name
+ * @return void
+ */
+ public function removeFilter($name)
+ {
+ }
+ /**
+ * Removes all filters
+ *
+ * @return void
+ */
+ public function removeAllFilters()
+ {
+ }
+ /**
+ * Get Criteria objects added to current Composite Criteria
+ *
+ * @return array
+ */
+ public function getCriteriaList()
+ {
+ }
+ /**
+ * Get list of filters
+ *
+ * @return array
+ */
+ public function getFilters()
+ {
+ }
+ /**
+ * Get ordering criteria
+ *
+ * @return array
+ */
+ public function getOrders()
+ {
+ }
+ /**
+ * Get limit
+ * (['offset', 'page'])
+ *
+ * @return array
+ */
+ public function getLimit()
+ {
+ }
+ /**
+ * Retrieve criteria part
+ *
+ * @param string $name
+ * @param mixed $default
+ * @return mixed
+ */
+ public function getPart($name, $default = null)
+ {
+ }
+ /**
+ * Return all criteria parts as array
+ *
+ * @return array
+ */
+ public function toArray()
+ {
+ }
+ /**
+ * Reset criteria
+ *
+ * @return void
+ */
+ public function reset()
+ {
+ }
+ }
+ /**
+ * Class SearchResultProcessorFactory
+ */
+ class SearchResultProcessorFactory
+ {
+ const DEFAULT_INSTANCE_NAME = \Magento\Framework\Data\SearchResultProcessor::class;
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Factory constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param AbstractSearchResult $collection
+ * @return SearchResultProcessor
+ */
+ public function create(\Magento\Framework\Data\AbstractSearchResult $collection)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Form {
+ /**
+ * Abstract class for form, column and fieldset
+ *
+ * @author Magento Core Team
+ */
+ class AbstractForm extends \Magento\Framework\DataObject
+ {
+ /**
+ * Form level elements collection
+ *
+ * @var Collection
+ */
+ protected $_elements;
+ /**
+ * Element type classes
+ *
+ * @var array
+ */
+ protected $_types = [];
+ /**
+ * @var Factory
+ */
+ protected $_factoryElement;
+ /**
+ * @var CollectionFactory
+ */
+ protected $_factoryCollection;
+ /**
+ * @var array
+ */
+ protected $customAttributes = [];
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, $data = [])
+ {
+ }
+ /**
+ * Internal constructor, that is called from real constructor
+ *
+ * Please override this one instead of overriding real __construct constructor
+ *
+ * @return void
+ * @codingStandardsIgnoreStart
+ */
+ protected function _construct()
+ {
+ }
+ /**
+ * Add element type
+ *
+ * @param string $type
+ * @param string $className
+ * @return $this
+ */
+ public function addType($type, $className)
+ {
+ }
+ /**
+ * Get elements collection
+ *
+ * @return Collection
+ */
+ public function getElements()
+ {
+ }
+ /**
+ * Disable elements
+ *
+ * @param boolean $readonly
+ * @param boolean $useDisabled
+ * @return $this
+ */
+ public function setReadonly($readonly, $useDisabled = false)
+ {
+ }
+ /**
+ * Add form element
+ *
+ * @param AbstractElement $element
+ * @param bool|string|null $after
+ * @return $this
+ */
+ public function addElement(\Magento\Framework\Data\Form\Element\AbstractElement $element, $after = null)
+ {
+ }
+ /**
+ * Add child element
+ *
+ * If $after parameter is false - then element adds to end of collection
+ * If $after parameter is null - then element adds to befin of collection
+ * If $after parameter is string - then element adds after of the element with some id
+ *
+ * @param string $elementId
+ * @param string $type
+ * @param array $config
+ * @param bool|string|null $after
+ * @return AbstractElement
+ */
+ public function addField($elementId, $type, $config, $after = false)
+ {
+ }
+ /**
+ * Enter description here...
+ *
+ * @param string $elementId
+ * @return $this
+ */
+ public function removeField($elementId)
+ {
+ }
+ /**
+ * Add fieldset
+ *
+ * @param string $elementId
+ * @param array $config
+ * @param bool|string|null $after
+ * @param bool $isAdvanced
+ * @return Fieldset
+ */
+ public function addFieldset($elementId, $config, $after = false, $isAdvanced = false)
+ {
+ }
+ /**
+ * Add column element
+ *
+ * @param string $elementId
+ * @param array $config
+ * @return Column
+ */
+ public function addColumn($elementId, $config)
+ {
+ }
+ /**
+ * Convert elements to array
+ *
+ * @param array $arrAttributes
+ * @return array
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function convertToArray(array $arrAttributes = [])
+ {
+ }
+ /**
+ * Add custom attribute
+ *
+ * @param string $key
+ * @param mixed $value
+ * @return $this
+ */
+ public function addCustomAttribute($key, $value)
+ {
+ }
+ /**
+ * Convert data into string with defined keys and values
+ *
+ * @param array $keys
+ * @param string $valueSeparator
+ * @param string $fieldSeparator
+ * @param string $quote
+ * @return string
+ */
+ public function serialize($keys = [], $valueSeparator = '=', $fieldSeparator = ' ', $quote = '"')
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ class Form extends \Magento\Framework\Data\Form\AbstractForm
+ {
+ /**
+ * All form elements collection
+ *
+ * @var ElementCollection
+ */
+ protected $_allElements;
+ /**
+ * form elements index
+ *
+ * @var array
+ */
+ protected $_elementsIndex;
+ /**
+ * @var FormKey
+ */
+ protected $formKey;
+ /**
+ * @var RendererInterface
+ */
+ protected static $_defaultElementRenderer;
+ /**
+ * @var RendererInterface
+ */
+ protected static $_defaultFieldsetRenderer;
+ /**
+ * @var RendererInterface
+ */
+ protected static $_defaultFieldsetElementRenderer;
+ /**
+ * @param Factory $factoryElement
+ * @param ElementCollectionFactory $factoryCollection
+ * @param FormKey $formKey
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Data\Form\FormKey $formKey, $data = [])
+ {
+ }
+ /**
+ * Method to set element renderer.
+ *
+ * @param RendererInterface|null $renderer
+ *
+ * @return void
+ */
+ public static function setElementRenderer(\Magento\Framework\Data\Form\Element\Renderer\RendererInterface $renderer = null)
+ {
+ }
+ /**
+ * Method to set fieldset renderer.
+ *
+ * @param RendererInterface|null $renderer
+ *
+ * @return void
+ */
+ public static function setFieldsetRenderer(\Magento\Framework\Data\Form\Element\Renderer\RendererInterface $renderer = null)
+ {
+ }
+ /**
+ * Method to set fieldset element renderer.
+ *
+ * @param RendererInterface|null $renderer
+ *
+ * @return void
+ */
+ public static function setFieldsetElementRenderer(\Magento\Framework\Data\Form\Element\Renderer\RendererInterface $renderer = null)
+ {
+ }
+ /**
+ * Method to get element renderer.
+ *
+ * @return RendererInterface
+ */
+ public static function getElementRenderer()
+ {
+ }
+ /**
+ * Method to get fieldset renderer.
+ *
+ * @return RendererInterface
+ */
+ public static function getFieldsetRenderer()
+ {
+ }
+ /**
+ * Method to get fieldset element renderer.
+ *
+ * @return RendererInterface
+ */
+ public static function getFieldsetElementRenderer()
+ {
+ }
+ /**
+ * Return allowed HTML form attributes
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ /**
+ * Add form element
+ *
+ * @param AbstractElement $element
+ * @param bool $after
+ * @return $this
+ */
+ public function addElement(\Magento\Framework\Data\Form\Element\AbstractElement $element, $after = false)
+ {
+ }
+ /**
+ * Check existing element
+ *
+ * @param string $elementId
+ * @return bool
+ */
+ protected function _elementIdExists($elementId)
+ {
+ }
+ /**
+ * Method to add element to collection.
+ *
+ * @param AbstractElement $element
+ *
+ * @return $this
+ */
+ public function addElementToCollection($element)
+ {
+ }
+ /**
+ * Method to check element id.
+ *
+ * @param string $elementId
+ *
+ * @return bool
+ * @throws \Exception
+ */
+ public function checkElementId($elementId)
+ {
+ }
+ /**
+ * Method to get form.
+ *
+ * @return $this
+ */
+ public function getForm()
+ {
+ }
+ /**
+ * Retrieve form element by id
+ *
+ * @param string $elementId
+ * @return null|AbstractElement
+ */
+ public function getElement($elementId)
+ {
+ }
+ /**
+ * Method to set values.
+ *
+ * @param array $values
+ *
+ * @return $this
+ */
+ public function setValues($values)
+ {
+ }
+ /**
+ * Method to add values.
+ *
+ * @param array $values
+ *
+ * @return $this
+ */
+ public function addValues($values)
+ {
+ }
+ /**
+ * Add suffix to name of all elements
+ *
+ * @param string $suffix
+ * @return $this
+ */
+ public function addFieldNameSuffix($suffix)
+ {
+ }
+ /**
+ * Method to add suffix to name.
+ *
+ * @param string $name
+ * @param string $suffix
+ *
+ * @return string
+ */
+ public function addSuffixToName($name, $suffix)
+ {
+ }
+ /**
+ * Method to remove field.
+ *
+ * @param string $elementId
+ *
+ * @return $this
+ */
+ public function removeField($elementId)
+ {
+ }
+ /**
+ * Method to set field container id prefix.
+ *
+ * @param string $prefix
+ *
+ * @return $this
+ */
+ public function setFieldContainerIdPrefix($prefix)
+ {
+ }
+ /**
+ * Method to get field container id prefix.
+ *
+ * @return string
+ */
+ public function getFieldContainerIdPrefix()
+ {
+ }
+ /**
+ * Method to html.
+ *
+ * @return string
+ */
+ public function toHtml()
+ {
+ }
+ /**
+ * Method to get Html.
+ *
+ * @return string
+ */
+ public function getHtml()
+ {
+ }
+ }
+ /**
+ * Graph data structure
+ */
+ class Graph
+ {
+ /**#@+
+ * Search modes
+ */
+ const DIRECTIONAL = 1;
+ const INVERSE = 2;
+ const NON_DIRECTIONAL = 3;
+ /**#@-*/
+ /**#@-*/
+ protected $_nodes = [];
+ /**
+ * Declared relations directed "from" "to"
+ *
+ * @var array
+ */
+ protected $_from = [];
+ /**
+ * Inverse relations "to" "from"
+ *
+ * @var array
+ */
+ protected $_to = [];
+ /**
+ * Validate consistency of the declared structure and assign it to the object state
+ *
+ * @param array $nodes plain array with node identifiers
+ * @param array $relations array of 2-item plain arrays, which represent relations of nodes "from" "to"
+ */
+ public function __construct(array $nodes, array $relations)
+ {
+ }
+ /**
+ * Set a relation between nodes
+ *
+ * @param string|int $fromNode
+ * @param string|int $toNode
+ * @return $this
+ * @throws \InvalidArgumentException
+ */
+ public function addRelation($fromNode, $toNode)
+ {
+ }
+ /**
+ * Export relations between nodes. Can return inverse relations
+ *
+ * @param int $mode
+ * @return array
+ * @throws \InvalidArgumentException
+ */
+ public function getRelations($mode = self::DIRECTIONAL)
+ {
+ }
+ /**
+ * Find a cycle in the graph
+ *
+ * Returns first/all found cycle
+ * Optionally may specify a node to return a cycle if it is in any
+ *
+ * @param string|int $node
+ * @param boolean $firstOnly found only first cycle
+ * @return array
+ */
+ public function findCycle($node = null, $firstOnly = true)
+ {
+ }
+ /**
+ * Find paths to reachable nodes from root node
+ *
+ * Returns array of paths, key is destination node and value is path (an array) from rootNode to destination node
+ * Eg. dest => [root, A, dest] means root -> A -> dest
+ *
+ * @param string|int $rootNode
+ * @param int $mode
+ * @return array
+ */
+ public function findPathsToReachableNodes($rootNode, $mode = self::DIRECTIONAL)
+ {
+ }
+ /**
+ * "Depth-first search" of a path between nodes
+ *
+ * Returns path as array of nodes or empty array if path does not exist.
+ * Only first found path is returned. It will be not necessary the shortest or optimal in any way.
+ *
+ * @param string|int $fromNode
+ * @param string|int $toNode
+ * @param int $mode
+ * @return array
+ */
+ public function dfs($fromNode, $toNode, $mode = self::DIRECTIONAL)
+ {
+ }
+ /**
+ * Recursive sub-routine of dfs()
+ *
+ * @param string|int $fromNode
+ * @param string|int $toNode
+ * @param array $graph
+ * @param array &$visited
+ * @param array $stack
+ * @return array
+ * @link http://en.wikipedia.org/wiki/Depth-first_search
+ */
+ protected function _dfs($fromNode, $toNode, $graph, &$visited = [], $stack = [])
+ {
+ }
+ /**
+ * Verify existence or non-existence of a node
+ *
+ * @param string|int $node
+ * @param bool $mustExist
+ * @return void
+ * @throws \InvalidArgumentException according to assertion rules
+ */
+ protected function _assertNode($node, $mustExist)
+ {
+ }
+ }
+ /**
+ * Represents specific condition, that can be applied on product collection.
+ * This condition can be some join statement, some filter, some derived query, etc...
+ *
+ * @api
+ */
+ interface CollectionModifierInterface
+ {
+ /**
+ * Apply condition to collection
+ * Each condition can be represented as collection filter or collection join
+ * Each condition will be applied each time in place, where this condition will be called
+ *
+ * @param AbstractDb $abstractCollection
+ * @return void
+ */
+ public function apply(\Magento\Framework\Data\Collection\AbstractDb $abstractCollection);
+ }
+ /**
+ * It is pool of collection conditions, which can be add to
+ * Product Collection.
+ * This class was created, as extension point, in order to resolve problem with area specific plugins, which
+ * listens product collection. F.E. this class allows to apply stock filter not only for frontend area
+ * but for other areas for product collection too
+ */
+ class CollectionModifier implements \Magento\Framework\Data\CollectionModifierInterface
+ {
+ /**
+ * CollectionConditionApplier constructor.
+ * @param array $conditions
+ */
+ public function __construct(array $conditions)
+ {
+ }
+ /**
+ * Composite method, which apply different product conditions
+ * you can register new condition in module/di.xml
+ *
+ * @param AbstractDb $collection
+ * @return void
+ */
+ public function apply(\Magento\Framework\Data\Collection\AbstractDb $collection)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Argument {
+ /**
+ * Interface that encapsulates complexity of expression computation
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface InterpreterInterface
+ {
+ /**
+ * Compute and return effective value of an argument
+ *
+ * @param array $data
+ * @return mixed
+ * @throws \InvalidArgumentException
+ * @throws \UnexpectedValueException
+ */
+ public function evaluate(array $data);
+ }
+}
+namespace Magento\Framework\Data\Argument\Interpreter {
+ class DataObject implements \Magento\Framework\Data\Argument\InterpreterInterface
+ {
+ /**
+ * @var \Magento\Framework\Stdlib\BooleanUtils
+ */
+ protected $booleanUtils;
+ /**
+ * @param BooleanUtils $booleanUtils
+ */
+ public function __construct(\Magento\Framework\Stdlib\BooleanUtils $booleanUtils)
+ {
+ }
+ /**
+ * Compute and return effective value of an argument
+ *
+ * @param array $data
+ * @return array
+ * @throws \InvalidArgumentException
+ * @throws \UnexpectedValueException
+ */
+ public function evaluate(array $data) : array
+ {
+ }
+ }
+ /**
+ * Interpreter of NULL data type
+ */
+ class NullType implements \Magento\Framework\Data\Argument\InterpreterInterface
+ {
+ /**
+ * {@inheritdoc}
+ * @return null
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function evaluate(array $data)
+ {
+ }
+ }
+ /**
+ * Interpreter that aggregates named interpreters and delegates every evaluation to one of them
+ */
+ class Composite implements \Magento\Framework\Data\Argument\InterpreterInterface
+ {
+ /**
+ * @param InterpreterInterface[] $interpreters
+ * @param string $discriminator
+ * @throws \InvalidArgumentException
+ */
+ public function __construct(array $interpreters, $discriminator)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ * @throws \InvalidArgumentException
+ */
+ public function evaluate(array $data)
+ {
+ }
+ /**
+ * Register interpreter instance under a given unique name
+ *
+ * @param string $name
+ * @param InterpreterInterface $instance
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ public function addInterpreter($name, \Magento\Framework\Data\Argument\InterpreterInterface $instance)
+ {
+ }
+ /**
+ * Retrieve interpreter instance by its unique name
+ *
+ * @param string $name
+ * @return InterpreterInterface
+ * @throws \InvalidArgumentException
+ */
+ protected function getInterpreter($name)
+ {
+ }
+ }
+ /**
+ * Interpreter of numeric data, such as integer, float, or numeric string
+ */
+ class Number implements \Magento\Framework\Data\Argument\InterpreterInterface
+ {
+ /**
+ * {@inheritdoc}
+ * @return string|int|float
+ * @throws \InvalidArgumentException
+ */
+ public function evaluate(array $data)
+ {
+ }
+ }
+ /**
+ * Interpreter of string data type that may optionally perform text translation.
+ */
+ class StringUtils implements \Magento\Framework\Data\Argument\InterpreterInterface
+ {
+ /**
+ * StringUtils constructor.
+ *
+ * @param BooleanUtils $booleanUtils
+ * @param BaseStringUtils $baseStringUtils
+ */
+ public function __construct(\Magento\Framework\Stdlib\BooleanUtils $booleanUtils, \Magento\Framework\Data\Argument\Interpreter\BaseStringUtils $baseStringUtils)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ * @return string
+ * @throws \InvalidArgumentException
+ */
+ public function evaluate(array $data)
+ {
+ }
+ }
+ /**
+ * Interpreter of string data type.
+ */
+ class BaseStringUtils implements \Magento\Framework\Data\Argument\InterpreterInterface
+ {
+ /**
+ * BaseStringUtils constructor.
+ *
+ * @param BooleanUtils $booleanUtils
+ */
+ public function __construct(\Magento\Framework\Stdlib\BooleanUtils $booleanUtils)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ * @return string
+ * @throws \InvalidArgumentException
+ */
+ public function evaluate(array $data)
+ {
+ }
+ }
+ /**
+ * Interpreter that returns value of a constant by its name
+ */
+ class Constant implements \Magento\Framework\Data\Argument\InterpreterInterface
+ {
+ /**
+ * @inheritdoc
+ * @return mixed
+ * @throws \InvalidArgumentException
+ */
+ public function evaluate(array $data)
+ {
+ }
+ }
+ /**
+ * Interpreter of boolean data type, such as boolean itself or boolean string
+ */
+ class Boolean implements \Magento\Framework\Data\Argument\InterpreterInterface
+ {
+ /**
+ * @param BooleanUtils $booleanUtils
+ */
+ public function __construct(\Magento\Framework\Stdlib\BooleanUtils $booleanUtils)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ * @return bool
+ * @throws \InvalidArgumentException
+ */
+ public function evaluate(array $data)
+ {
+ }
+ }
+ /**
+ * Interpreter of array data type that supports arrays of unlimited depth
+ */
+ class ArrayType implements \Magento\Framework\Data\Argument\InterpreterInterface
+ {
+ /**
+ * @param InterpreterInterface $itemInterpreter
+ * @param SortItemsHelper|null $sortItemsHelper
+ */
+ public function __construct(\Magento\Framework\Data\Argument\InterpreterInterface $itemInterpreter, \Magento\Framework\ObjectManager\Helper\SortItems $sortItemsHelper = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @return array
+ * @throws InvalidArgumentException
+ */
+ public function evaluate(array $data) : array
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Form\Filter {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ interface FilterInterface
+ {
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function inputFilter($value);
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function outputFilter($value);
+ }
+ /**
+ * EscapeHtml Form Filter Data
+ */
+ class Escapehtml implements \Magento\Framework\Data\Form\Filter\FilterInterface
+ {
+ /**
+ * @param Escaper|null $escaper
+ */
+ public function __construct(\Magento\Framework\Escaper $escaper = null)
+ {
+ }
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function inputFilter($value)
+ {
+ }
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function outputFilter($value)
+ {
+ }
+ }
+ class Striptags implements \Magento\Framework\Data\Form\Filter\FilterInterface
+ {
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function inputFilter($value)
+ {
+ }
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function outputFilter($value)
+ {
+ }
+ }
+ /**
+ * Form Input/Output Strip HTML tags Filter
+ */
+ class Date implements \Magento\Framework\Data\Form\Filter\FilterInterface
+ {
+ /**
+ * @var string
+ */
+ protected $_dateFormat;
+ /**
+ * @var ResolverInterface
+ */
+ protected $localeResolver;
+ /**
+ * Initialize filter
+ *
+ * @param string|null $format \DateTime input/output format
+ * @param ResolverInterface|null $localeResolver
+ */
+ public function __construct(string $format = null, \Magento\Framework\Locale\ResolverInterface $localeResolver = null)
+ {
+ }
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ * @throws Exception
+ */
+ public function inputFilter($value)
+ {
+ }
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ * @throws Exception
+ */
+ public function outputFilter($value)
+ {
+ }
+ }
+ class Trim implements \Magento\Framework\Data\Form\Filter\FilterInterface
+ {
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function inputFilter($value)
+ {
+ }
+ /**
+ * Returns the result of filtering $value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function outputFilter($value)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Form {
+ /**
+ * Class FormKey
+ *
+ * @api
+ *
+ * @SuppressWarnings(PHPMD.CookieAndSessionMisuse)
+ * @since 100.0.2
+ */
+ class FormKey
+ {
+ /**
+ * Form key
+ */
+ const FORM_KEY = '_form_key';
+ /**
+ * @var \Magento\Framework\Math\Random
+ */
+ protected $mathRandom;
+ /**
+ * @var \Magento\Framework\Session\SessionManagerInterface
+ */
+ protected $session;
+ /**
+ * @var \Magento\Framework\Escaper
+ * @since 100.0.3
+ */
+ protected $escaper;
+ /**
+ * @param \Magento\Framework\Math\Random $mathRandom
+ * @param \Magento\Framework\Session\SessionManagerInterface $session
+ * @param \Magento\Framework\Escaper $escaper
+ */
+ public function __construct(\Magento\Framework\Math\Random $mathRandom, \Magento\Framework\Session\SessionManagerInterface $session, \Magento\Framework\Escaper $escaper)
+ {
+ }
+ /**
+ * Retrieve Session Form Key
+ *
+ * @return string A 16 bit unique key for forms
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function getFormKey()
+ {
+ }
+ /**
+ * Determine if the form key is present in the session
+ *
+ * @return bool
+ */
+ public function isPresent()
+ {
+ }
+ /**
+ * Set the value of the form key
+ *
+ * @param string $value
+ * @return void
+ */
+ public function set($value)
+ {
+ }
+ }
+ class ElementFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create Magento data form with provided params
+ *
+ * @param string $elementClass
+ * @param array $data
+ * @return \Magento\Framework\Data\Form\Element\AbstractElement
+ */
+ public function create($elementClass, array $data = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Form\FormKey {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ class Validator
+ {
+ /**
+ * @var \Magento\Framework\Data\Form\FormKey
+ */
+ protected $_formKey;
+ /**
+ * @param \Magento\Framework\Data\Form\FormKey $formKey
+ */
+ public function __construct(\Magento\Framework\Data\Form\FormKey $formKey)
+ {
+ }
+ /**
+ * Validate form key
+ *
+ * @param \Magento\Framework\App\RequestInterface $request
+ * @return bool
+ */
+ public function validate(\Magento\Framework\App\RequestInterface $request)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Form {
+ class FilterFactory
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create filter instance
+ *
+ * @param string $filterCode
+ * @param array $data
+ * @return FilterInterface
+ */
+ public function create($filterCode, array $data = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Form\Element {
+ /**
+ * Data form abstract class
+ *
+ * phpcs:disable Magento2.Classes.AbstractApi
+ * @api
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ * @since 100.0.2
+ */
+ abstract class AbstractElement extends \Magento\Framework\Data\Form\AbstractForm
+ {
+ /**
+ * @var string|int
+ */
+ protected $_id;
+ /**
+ * @var string
+ */
+ protected $_type;
+ /**
+ * @var Form
+ */
+ protected $_form;
+ /**
+ * @var array
+ */
+ protected $_elements;
+ /**
+ * @var RendererInterface
+ */
+ protected $_renderer;
+ /**
+ * Shows whether current element belongs to Basic or Advanced form layout
+ *
+ * @var bool
+ */
+ protected $_advanced = false;
+ /**
+ * @var Escaper
+ */
+ protected $_escaper;
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ * @param SecureHtmlRenderer|null $secureRenderer
+ * @param Random|null $random
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [], ?\Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer = null, ?\Magento\Framework\Math\Random $random = null)
+ {
+ }
+ /**
+ * Add form element
+ *
+ * @param AbstractElement $element
+ * @param bool $after
+ * @return Form
+ */
+ public function addElement(\Magento\Framework\Data\Form\Element\AbstractElement $element, $after = false)
+ {
+ }
+ /**
+ * Shows whether current element belongs to Basic or Advanced form layout
+ *
+ * @return bool
+ */
+ public function isAdvanced()
+ {
+ }
+ /**
+ * Set _advanced layout property
+ *
+ * @param bool $advanced
+ * @return $this
+ */
+ public function setAdvanced($advanced)
+ {
+ }
+ /**
+ * Get id.
+ *
+ * @return string|int
+ */
+ public function getId()
+ {
+ }
+ /**
+ * Get type.
+ *
+ * @return string
+ */
+ public function getType()
+ {
+ }
+ /**
+ * Get form
+ *
+ * @return Form
+ */
+ public function getForm()
+ {
+ }
+ /**
+ * Set the Id.
+ *
+ * @param string|int $id
+ * @return $this
+ */
+ public function setId($id)
+ {
+ }
+ /**
+ * Get the Html Id.
+ *
+ * @return string
+ */
+ public function getHtmlId()
+ {
+ }
+ /**
+ * Get the name.
+ *
+ * @return mixed
+ */
+ public function getName()
+ {
+ }
+ /**
+ * Set the type.
+ *
+ * @param string $type
+ * @return $this
+ */
+ public function setType($type)
+ {
+ }
+ /**
+ * Set form.
+ *
+ * @param AbstractForm $form
+ * @return $this
+ */
+ public function setForm($form)
+ {
+ }
+ /**
+ * Remove field
+ *
+ * @param string $elementId
+ * @return AbstractForm
+ */
+ public function removeField($elementId)
+ {
+ }
+ /**
+ * Return the attributes for Html.
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ /**
+ * Add a class.
+ *
+ * @param string $class
+ * @return $this
+ */
+ public function addClass($class)
+ {
+ }
+ /**
+ * Remove CSS class
+ *
+ * @param string $class
+ * @return $this
+ */
+ public function removeClass($class)
+ {
+ }
+ /**
+ * Escape a string's contents.
+ *
+ * @param string $string
+ * @return string
+ */
+ protected function _escape($string)
+ {
+ }
+ /**
+ * Return the escaped value of the element specified by the given index.
+ *
+ * @param null|int|string $index
+ * @return string
+ */
+ public function getEscapedValue($index = null)
+ {
+ }
+ /**
+ * Set the renderer.
+ *
+ * @param RendererInterface $renderer
+ * @return $this
+ */
+ public function setRenderer(\Magento\Framework\Data\Form\Element\Renderer\RendererInterface $renderer)
+ {
+ }
+ /**
+ * Get the renderer.
+ *
+ * @return RendererInterface
+ */
+ public function getRenderer()
+ {
+ }
+ /**
+ * Get Ui Id.
+ *
+ * @param null|string $suffix
+ * @return string
+ */
+ protected function _getUiId($suffix = null)
+ {
+ }
+ /**
+ * Get the Html for the element.
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Get the before element html.
+ *
+ * @return mixed
+ */
+ public function getBeforeElementHtml()
+ {
+ }
+ /**
+ * Get the after element html.
+ *
+ * @return mixed
+ */
+ public function getAfterElementHtml()
+ {
+ }
+ /**
+ * Get the after element Javascript.
+ *
+ * @return mixed
+ */
+ public function getAfterElementJs()
+ {
+ }
+ /**
+ * Render HTML for element's label
+ *
+ * @param string $idSuffix
+ * @param string $scopeLabel
+ * @return string
+ */
+ public function getLabelHtml($idSuffix = '', $scopeLabel = '')
+ {
+ }
+ /**
+ * Get the default html.
+ *
+ * @return mixed
+ */
+ public function getDefaultHtml()
+ {
+ }
+ /**
+ * Get the html.
+ *
+ * @return mixed
+ */
+ public function getHtml()
+ {
+ }
+ /**
+ * Get the html.
+ *
+ * @return mixed
+ */
+ public function toHtml()
+ {
+ }
+ /**
+ * Serialize the element.
+ *
+ * @param string[] $attributes
+ * @param string $valueSeparator
+ * @param string $fieldSeparator
+ * @param string $quote
+ * @return string
+ */
+ public function serialize($attributes = [], $valueSeparator = '=', $fieldSeparator = ' ', $quote = '"')
+ {
+ }
+ /**
+ * Indicates the elements readonly status.
+ *
+ * @return mixed
+ */
+ public function getReadonly()
+ {
+ }
+ /**
+ * Get the container Id.
+ *
+ * @return mixed
+ */
+ public function getHtmlContainerId()
+ {
+ }
+ /**
+ * Add specified values to element values
+ *
+ * @param string|int|array $values
+ * @param bool $overwrite
+ * @return $this
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ */
+ public function addElementValues($values, $overwrite = false)
+ {
+ }
+ /**
+ * Lock element
+ *
+ * @return void
+ */
+ public function lock()
+ {
+ }
+ /**
+ * Is element locked
+ *
+ * @return bool
+ */
+ public function isLocked()
+ {
+ }
+ }
+ /**
+ * Form checkbox element
+ */
+ class Checkbox extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Get HTML attributes
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ /**
+ * Get Element HTML
+ *
+ * @return string
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Set check status of checkbox
+ *
+ * @param bool $value
+ *
+ * @return Checkbox
+ */
+ public function setIsChecked($value = false)
+ {
+ }
+ /**
+ * Return check status of checkbox
+ *
+ * @return bool
+ * @SuppressWarnings(PHPMD.BooleanGetMethodName)
+ */
+ public function getIsChecked()
+ {
+ }
+ }
+ class File extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param \Magento\Framework\Data\Form\Element\Factory $factoryElement
+ * @param \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection
+ * @param \Magento\Framework\Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ }
+ /**
+ * Form element Factory
+ *
+ * @api
+ */
+ class Factory
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * Standard library element types
+ *
+ * @var string[]
+ */
+ protected $_standardTypes = ['button', 'checkbox', 'checkboxes', 'column', 'date', 'editablemultiselect', 'editor', 'fieldset', 'file', 'gallery', 'hidden', 'image', 'imagefile', 'label', 'link', 'multiline', 'multiselect', 'note', 'obscure', 'password', 'radio', 'radios', 'reset', 'select', 'submit', 'text', 'textarea', 'time'];
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Factory method
+ *
+ * @param string $elementType Standard element type or Custom element class
+ * @param array $config
+ * @return AbstractElement
+ * @throws \InvalidArgumentException
+ */
+ public function create($elementType, array $config = [])
+ {
+ }
+ }
+ /**
+ * Form select element
+ *
+ * @api
+ * @author Magento Core Team
+ * @since 100.0.2
+ */
+ class Select extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ * @param SecureHtmlRenderer|null $secureRenderer
+ * @param Random|null $random
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [], ?\Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer = null, ?\Magento\Framework\Math\Random $random = null)
+ {
+ }
+ /**
+ * Get the element Html.
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Format an option as Html
+ *
+ * @param array $option
+ * @param array $selected
+ * @return string
+ */
+ protected function _optionToHtml($option, $selected)
+ {
+ }
+ /**
+ * Prepare options.
+ *
+ * @return void
+ */
+ protected function _prepareOptions()
+ {
+ }
+ /**
+ * Get the Html attributes.
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ }
+ class CollectionFactory
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create collection factory with specified parameters
+ *
+ * @param array $data
+ * @return Collection
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ /**
+ * Category form input image element
+ *
+ * @api
+ */
+ class Image extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @var UrlInterface
+ */
+ protected $_urlBuilder;
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param UrlInterface $urlBuilder
+ * @param array $data
+ * @param SecureHtmlRenderer|null $secureRenderer
+ * @param Random|null $random
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, \Magento\Framework\UrlInterface $urlBuilder, $data = [], ?\Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer = null, ?\Magento\Framework\Math\Random $random = null)
+ {
+ }
+ /**
+ * Return element html code
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Return html code of delete checkbox element
+ *
+ * @return string
+ */
+ protected function _getDeleteCheckbox()
+ {
+ }
+ /**
+ * Return html code of hidden element
+ *
+ * @return string
+ */
+ protected function _getHiddenInput()
+ {
+ }
+ /**
+ * Get image preview url
+ *
+ * @return string
+ */
+ protected function _getUrl()
+ {
+ }
+ /**
+ * Return name
+ *
+ * @return string
+ */
+ public function getName()
+ {
+ }
+ }
+ /**
+ * Form time element
+ *
+ * @author Magento Core Team
+ */
+ class Time extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ * @param SecureHtmlRenderer|null $secureRenderer
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [], ?\Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer = null)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getName()
+ {
+ }
+ /**
+ * @inheritDoc
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function getElementHtml()
+ {
+ }
+ }
+ /**
+ * Form textarea element.
+ *
+ * @author Magento Core Team
+ */
+ class Textarea extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * Default number of rows
+ */
+ const DEFAULT_ROWS = 2;
+ /**
+ * Default number of columns
+ */
+ const DEFAULT_COLS = 15;
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Return the HTML attributes
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ /**
+ * Return the element as HTML
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ }
+ /**
+ * Form hidden element
+ */
+ class Hidden extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Get default HTML
+ *
+ * @return mixed
+ */
+ public function getDefaultHtml()
+ {
+ }
+ }
+ class Reset extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param \Magento\Framework\Data\Form\Element\Factory $factoryElement
+ * @param \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection
+ * @param \Magento\Framework\Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ }
+ /**
+ * Form element collection
+ */
+ class Collection implements \ArrayAccess, \IteratorAggregate, \Countable
+ {
+ /**
+ * Class constructor
+ *
+ * @param AbstractForm $container
+ */
+ public function __construct(\Magento\Framework\Data\Form\AbstractForm $container)
+ {
+ }
+ /**
+ * Implementation of \IteratorAggregate::getIterator()
+ *
+ * @return \ArrayIterator
+ */
+ #[\ReturnTypeWillChange]
+ public function getIterator()
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess:offsetSet()
+ *
+ * @param mixed $key
+ * @param mixed $value
+ * @return void
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetSet($key, $value)
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess:offsetGet()
+ *
+ * @param mixed $key
+ * @return AbstractElement
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetGet($key)
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess:offsetUnset()
+ *
+ * @param mixed $key
+ * @return void
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetUnset($key)
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess:offsetExists()
+ *
+ * @param mixed $key
+ * @return boolean
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetExists($key)
+ {
+ }
+ /**
+ * Add element to collection
+ *
+ * @todo get it straight with $after
+ * @param AbstractElement $element
+ * @param bool|string $after
+ * @return AbstractElement
+ */
+ public function add(\Magento\Framework\Data\Form\Element\AbstractElement $element, $after = false)
+ {
+ }
+ /**
+ * Sort elements by values using a user-defined comparison function
+ *
+ * @param mixed $callback
+ * @return $this
+ */
+ public function usort($callback)
+ {
+ }
+ /**
+ * Remove element from collection
+ *
+ * @param mixed $elementId
+ * @return $this
+ */
+ public function remove($elementId)
+ {
+ }
+ /**
+ * Count elements in collection
+ *
+ * @return int
+ */
+ #[\ReturnTypeWillChange]
+ public function count()
+ {
+ }
+ /**
+ * Find element by ID
+ *
+ * @param mixed $elementId
+ * @return AbstractElement
+ */
+ public function searchById($elementId)
+ {
+ }
+ }
+ class Submit extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * @return mixed
+ */
+ public function getHtml()
+ {
+ }
+ }
+ class Button extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * Additional html attributes
+ *
+ * @var string[]
+ */
+ protected $_htmlAttributes = ['data-mage-init'];
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Html attributes
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ }
+ class Radio extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param \Magento\Framework\Data\Form\Element\Factory $factoryElement
+ * @param \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection
+ * @param \Magento\Framework\Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ }
+ /**
+ * Form fieldset
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Fieldset extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Get elements html
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Get Children element's array
+ *
+ * @return AbstractElement[]
+ */
+ public function getChildren()
+ {
+ }
+ /**
+ * Get Children element's html
+ *
+ * @return string
+ */
+ public function getChildrenHtml()
+ {
+ }
+ /**
+ * Get Basic elements' array
+ *
+ * @return AbstractElement[]
+ */
+ public function getBasicChildren()
+ {
+ }
+ /**
+ * Get Basic elements' html in sorted order
+ *
+ * @return string
+ */
+ public function getBasicChildrenHtml()
+ {
+ }
+ /**
+ * Get Number of Basic Children
+ *
+ * @return int
+ */
+ public function getCountBasicChildren()
+ {
+ }
+ /**
+ * Get Advanced elements'
+ *
+ * @return array
+ */
+ public function getAdvancedChildren()
+ {
+ }
+ /**
+ * Get Advanced elements' html in sorted order
+ *
+ * @return string
+ */
+ public function getAdvancedChildrenHtml()
+ {
+ }
+ /**
+ * Whether fieldset contains advance section
+ *
+ * @return bool
+ */
+ public function hasAdvanced()
+ {
+ }
+ /**
+ * Get SubFieldset
+ *
+ * @return AbstractElement[]
+ */
+ public function getSubFieldset()
+ {
+ }
+ /**
+ * Enter description here...
+ *
+ * @return string
+ */
+ public function getSubFieldsetHtml()
+ {
+ }
+ /**
+ * Enter description here...
+ *
+ * @return string
+ */
+ public function getDefaultHtml()
+ {
+ }
+ /**
+ * Add field to fieldset
+ *
+ * @param string $elementId
+ * @param string $type
+ * @param array $config
+ * @param bool $after
+ * @param bool $isAdvanced
+ * @return AbstractElement
+ */
+ public function addField($elementId, $type, $config, $after = false, $isAdvanced = false)
+ {
+ }
+ /**
+ * Return elements as html string
+ *
+ * @param AbstractElement[] $elements
+ * @return string
+ */
+ protected function _elementsToHtml($elements)
+ {
+ }
+ }
+ /**
+ * Multi-select form element widget.
+ */
+ class Multiselect extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ * @param SecureHtmlRenderer|null $secureRenderer
+ * @param Random|null $random
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [], ?\Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer = null, ?\Magento\Framework\Math\Random $random = null)
+ {
+ }
+ /**
+ * Get the name
+ *
+ * @return string
+ */
+ public function getName()
+ {
+ }
+ /**
+ * Get the element as HTML
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Get the HTML attributes
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ /**
+ * Get the default HTML
+ *
+ * @return string
+ */
+ public function getDefaultHtml()
+ {
+ }
+ /**
+ * Get the name of the JS object
+ *
+ * @return string
+ */
+ public function getJsObjectName()
+ {
+ }
+ /**
+ * Render an option for the select.
+ *
+ * @param array $option
+ * @param string[] $selected
+ * @return string
+ */
+ protected function _optionToHtml($option, $selected)
+ {
+ }
+ }
+ /**
+ * Form editable multiselect element.
+ */
+ class Editablemultiselect extends \Magento\Framework\Data\Form\Element\Multiselect
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ * @param \Magento\Framework\Serialize\Serializer\Json|null $serializer
+ * @param SecureHtmlRenderer|null $secureRenderer
+ * @param Random|null $random
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, array $data = [], \Magento\Framework\Serialize\Serializer\Json $serializer = null, ?\Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer = null, ?\Magento\Framework\Math\Random $random = null)
+ {
+ }
+ /**
+ * Name of the default JavaScript class that is used to make multiselect editable
+ *
+ * This class must define init() method and receive configuration in the constructor
+ */
+ public const DEFAULT_ELEMENT_JS_CLASS = 'EditableMultiselect';
+ /**
+ * Retrieve HTML markup of the element
+ *
+ * @return string
+ * @throws \InvalidArgumentException
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Retrieve HTML markup of given select option
+ *
+ * @param array $option
+ * @param string[] $selected
+ *
+ * @return string
+ */
+ protected function _optionToHtml($option, $selected)
+ {
+ }
+ }
+ /**
+ * Date element
+ */
+ class Date extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @var \DateTime
+ */
+ protected $_value;
+ /**
+ * @var TimezoneInterface
+ */
+ protected $localeDate;
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param TimezoneInterface $localeDate
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate, $data = [])
+ {
+ }
+ /**
+ * Initial scope of method was to limit timestamp on x64 systems to mimic x32 systems,
+ * but keeping the method for compatibility:
+ * If script executes on x64 system, converts large numeric values to timestamp limit
+ *
+ * @param int $value
+ * @return int
+ */
+ protected function _toTimestamp($value)
+ {
+ }
+ /**
+ * Set date value
+ *
+ * @param mixed $value
+ * @return $this
+ */
+ public function setValue($value)
+ {
+ }
+ /**
+ * Get date value as string.
+ *
+ * Format can be specified, or it will be taken from $this->getFormat()
+ *
+ * @param string $format (compatible with \DateTime)
+ * @return string
+ */
+ public function getValue($format = null)
+ {
+ }
+ /**
+ * Get value instance, if any
+ *
+ * @return \DateTime
+ */
+ public function getValueInstance()
+ {
+ }
+ /**
+ * Output the input field and assign calendar instance to it.
+ * In order to output the date:
+ * - the value must be instantiated (\DateTime)
+ * - output format must be set (compatible with \DateTime)
+ *
+ * @throws \Exception
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ }
+ class Multiline extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Get HTML attributes
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ /**
+ * Get label HTML
+ *
+ * @param int $suffix
+ * @param string $scopeLabel
+ *
+ * @return string
+ */
+ public function getLabelHtml($suffix = 0, $scopeLabel = '')
+ {
+ }
+ /**
+ * Get element HTML
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Get default HTML
+ *
+ * @return mixed
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function getDefaultHtml()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getEscapedValue($index = null)
+ {
+ }
+ }
+ /**
+ * Link form element widget.
+ */
+ class Link extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ * @param SecureHtmlRenderer|null $secureHtmlRenderer
+ * @param Random|null $random
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [], ?\Magento\Framework\View\Helper\SecureHtmlRenderer $secureHtmlRenderer = null, ?\Magento\Framework\Math\Random $random = null)
+ {
+ }
+ /**
+ * Generates element html
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Prepare array of anchor attributes
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ }
+ /**
+ * Radio buttons form element widget.
+ */
+ class Radios extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ * @param SecureHtmlRenderer|null $secureRenderer
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [], ?\Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer = null)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Render choices.
+ *
+ * @param array $option
+ * @param string[] $selected
+ * @return string
+ */
+ protected function _optionToHtml($option, $selected)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ /**
+ * Get a choice's HTML attributes.
+ *
+ * @param array $option
+ * @return string
+ */
+ protected function getRadioButtonAttributes($option)
+ {
+ }
+ }
+ /**
+ * Gallery form element widget.
+ */
+ class Gallery extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ * @param SecureHtmlRenderer|null $secureRenderer
+ * @param Random|null $random
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [], ?\Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer = null, ?\Magento\Framework\Math\Random $random = null)
+ {
+ }
+ /**
+ * @inheritDoc
+ *
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getName()
+ {
+ }
+ /**
+ * Get name in the usual way.
+ *
+ * @return string|null
+ */
+ public function getParentName()
+ {
+ }
+ }
+ class Column extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param \Magento\Framework\Data\Form\Element\Factory $factoryElement
+ * @param \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection
+ * @param \Magento\Framework\Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ }
+ /**
+ * Class Password
+ *
+ * Password input type
+ */
+ class Password extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Get field html
+ *
+ * @return mixed
+ */
+ public function getHtml()
+ {
+ }
+ }
+ class Obscure extends \Magento\Framework\Data\Form\Element\Password
+ {
+ /**
+ * @var string
+ */
+ protected $_obscuredValue = '******';
+ /**
+ * Hide value to make sure it will not show in HTML
+ *
+ * @param string $index
+ * @return string
+ */
+ public function getEscapedValue($index = null)
+ {
+ }
+ /**
+ * Returns list of html attributes possible to output in HTML
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ }
+ /**
+ * Form editor element
+ */
+ class Editor extends \Magento\Framework\Data\Form\Element\Textarea
+ {
+ /**
+ * Editor constructor.
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ * @param \Magento\Framework\Serialize\Serializer\Json|null $serializer
+ * @param Random|null $random
+ * @param SecureHtmlRenderer|null $secureRenderer
+ * @throws \RuntimeException
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [], \Magento\Framework\Serialize\Serializer\Json $serializer = null, ?\Magento\Framework\Math\Random $random = null, ?\Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer = null)
+ {
+ }
+ /**
+ * Returns buttons translation
+ *
+ * @return array
+ */
+ protected function getButtonTranslations()
+ {
+ }
+ /**
+ * Returns JS config
+ *
+ * @return bool|string
+ * @throws \InvalidArgumentException
+ */
+ protected function getJsonConfig()
+ {
+ }
+ /**
+ * Fetch config options from plugin. If $key is passed, return only that option key's value
+ *
+ * @param string $pluginName
+ * @param string|null $key
+ * @return mixed all options or single option if $key is passed; null if nonexistent
+ */
+ public function getPluginConfigOptions($pluginName, $key = null)
+ {
+ }
+ /**
+ * Returns element html
+ *
+ * @return string
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Returns theme
+ *
+ * @return mixed
+ */
+ public function getTheme()
+ {
+ }
+ /**
+ * Return Editor top Buttons HTML
+ *
+ * @return string
+ */
+ protected function _getButtonsHtml()
+ {
+ }
+ /**
+ * Return HTML button to toggling WYSIWYG
+ *
+ * @param bool $visible
+ * @return string
+ */
+ protected function _getToggleButtonHtml($visible = true)
+ {
+ }
+ /**
+ * Prepare Html buttons for additional WYSIWYG features
+ *
+ * @param bool $visible Display button or not
+ * @return string
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ protected function _getPluginButtonsHtml($visible = true)
+ {
+ }
+ /**
+ * Prepare button options array to create button html
+ *
+ * @param array $options
+ * @return array
+ */
+ protected function _prepareButtonOptions($options)
+ {
+ }
+ /**
+ * Check if plugin button options have required values
+ *
+ * @param array $pluginOptions
+ * @return boolean
+ */
+ protected function _checkPluginButtonOptions($pluginOptions)
+ {
+ }
+ /**
+ * Convert options
+ *
+ * Convert options by replacing template constructions ( like {{var_name}} )
+ * with data from this element object
+ *
+ * @param array $options
+ * @return array
+ */
+ protected function _prepareOptions($options)
+ {
+ }
+ /**
+ * Return custom button HTML
+ *
+ * @param array $data Button params
+ * @return string
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ protected function _getButtonHtml($data)
+ {
+ }
+ /**
+ * Wraps Editor HTML into div if 'use_container' config option is set to true
+ *
+ * If 'no_display' config option is set to true, the div will be invisible
+ *
+ * @param string $html HTML code to wrap
+ * @return string
+ */
+ protected function _wrapIntoContainer($html)
+ {
+ }
+ /**
+ * Editor config retriever
+ *
+ * @param string $key Config var key
+ * @return mixed
+ */
+ public function getConfig($key = null)
+ {
+ }
+ /**
+ * Translate string using defined helper
+ *
+ * @param string $string String to be translated
+ * @return \Magento\Framework\Phrase
+ */
+ public function translate($string)
+ {
+ }
+ /**
+ * Check whether Wysiwyg is enabled or not
+ *
+ * @return bool
+ */
+ public function isEnabled()
+ {
+ }
+ /**
+ * Check whether Wysiwyg is loaded on demand or not
+ *
+ * @return bool
+ */
+ public function isHidden()
+ {
+ }
+ /**
+ * Is Toggle Button Visible
+ *
+ * @return bool
+ */
+ protected function isToggleButtonVisible()
+ {
+ }
+ /**
+ * Returns inline js to initialize wysiwyg adapter
+ *
+ * @param string $jsSetupObject
+ * @param string $forceLoad
+ * @return string
+ */
+ protected function getInlineJs($jsSetupObject, $forceLoad)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getHtmlId()
+ {
+ }
+ }
+ /**
+ * Label form element.
+ */
+ class Label extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param \Magento\Framework\Data\Form\Element\Factory $factoryElement
+ * @param \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection
+ * @param \Magento\Framework\Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Retrieve Element HTML
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Form\Element\Renderer {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ interface RendererInterface
+ {
+ /**
+ * Render form element as HTML
+ *
+ * @param \Magento\Framework\Data\Form\Element\AbstractElement $element
+ * @return string
+ */
+ public function render(\Magento\Framework\Data\Form\Element\AbstractElement $element);
+ }
+}
+namespace Magento\Framework\Data\Form\Element {
+ class Imagefile extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param \Magento\Framework\Data\Form\Element\Factory $factoryElement
+ * @param \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection
+ * @param \Magento\Framework\Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ }
+ /**
+ * Form text element
+ */
+ class Text extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Get the HTML
+ *
+ * @return mixed
+ */
+ public function getHtml()
+ {
+ }
+ /**
+ * Get the attributes
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ }
+ /**
+ * Form note element
+ */
+ class Note extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Get element HTML
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ }
+ /**
+ * Form select element
+ */
+ class Checkboxes extends \Magento\Framework\Data\Form\Element\AbstractElement
+ {
+ /**
+ * @param Factory $factoryElement
+ * @param CollectionFactory $factoryCollection
+ * @param Escaper $escaper
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, \Magento\Framework\Escaper $escaper, $data = [])
+ {
+ }
+ /**
+ * Retrieve allow attributes
+ *
+ * @return string[]
+ */
+ public function getHtmlAttributes()
+ {
+ }
+ /**
+ * Prepare value list
+ *
+ * @return array
+ */
+ protected function _prepareValues()
+ {
+ }
+ /**
+ * Retrieve HTML
+ *
+ * @return string
+ */
+ public function getElementHtml()
+ {
+ }
+ /**
+ * Was given value selected?
+ *
+ * @param string $value
+ * @return string|null
+ */
+ public function getChecked($value)
+ {
+ }
+ /**
+ * Was value disabled for selection?
+ *
+ * @param string $value
+ * @return string|null
+ */
+ public function getDisabled($value)
+ {
+ }
+ /**
+ * Get onclick event handler.
+ *
+ * @param string $value
+ * @return string|null
+ */
+ public function getOnclick($value = '$value')
+ {
+ }
+ /**
+ * Get onchange event handler.
+ *
+ * @param string $value
+ * @return string|null
+ */
+ public function getOnchange($value = '$value')
+ {
+ }
+ /**
+ * Render a checkbox.
+ *
+ * @param array $option
+ * @return string
+ */
+ protected function _optionToHtml($option)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data {
+ class DataArray extends \Magento\Framework\DataObject
+ {
+ }
+ /**
+ * An associative data structure, that features "nested set" parent-child relations
+ */
+ class Structure implements \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * Reserved keys for storing structural relations
+ */
+ public const PARENT = 'parent';
+ public const CHILDREN = 'children';
+ public const GROUPS = 'groups';
+ /**
+ * @var array
+ */
+ protected $_elements = [];
+ /**
+ * Set elements in constructor
+ *
+ * @param array $elements
+ */
+ public function __construct(array $elements = null)
+ {
+ }
+ /**
+ * Set elements from external source
+ *
+ * @param array $elements
+ * @return void
+ * @throws LocalizedException if any format issues identified
+ */
+ public function importElements(array $elements)
+ {
+ }
+ /**
+ * Verify relations of parent-child
+ *
+ * @param string $elementId
+ * @return void
+ * @throws LocalizedException
+ */
+ protected function _assertParentRelation($elementId)
+ {
+ }
+ /**
+ * Dump all elements
+ *
+ * @return array
+ */
+ public function exportElements()
+ {
+ }
+ /**
+ * Create new element
+ *
+ * @param string $elementId
+ * @param array $data
+ * @return void
+ * @throws LocalizedException if an element with this id already exists
+ */
+ public function createElement($elementId, array $data)
+ {
+ }
+ /**
+ * Get existing element
+ *
+ * @param string $elementId
+ * @return array|bool
+ */
+ public function getElement($elementId)
+ {
+ }
+ /**
+ * Whether specified element exists
+ *
+ * @param string $elementId
+ * @return bool
+ */
+ public function hasElement($elementId)
+ {
+ }
+ /**
+ * Remove element with specified ID from the structure
+ *
+ * Can recursively delete all child elements.
+ * Returns false if there was no element found, therefore was nothing to delete.
+ *
+ * @param string $elementId
+ * @param bool $recursive
+ * @return bool
+ */
+ public function unsetElement($elementId, $recursive = true)
+ {
+ }
+ /**
+ * Set an arbitrary value to specified element attribute
+ *
+ * @param string $elementId
+ * @param string $attribute
+ * @param mixed $value
+ * @throws \InvalidArgumentException
+ * @return $this
+ */
+ public function setAttribute($elementId, $attribute, $value)
+ {
+ }
+ /**
+ * Get element attribute
+ *
+ * @param string $elementId
+ * @param string $attribute
+ * @return mixed
+ */
+ public function getAttribute($elementId, $attribute)
+ {
+ }
+ /**
+ * Rename element ID
+ *
+ * @param string $oldId
+ * @param string $newId
+ * @return $this
+ * @throws LocalizedException if trying to overwrite another element
+ */
+ public function renameElement($oldId, $newId)
+ {
+ }
+ /**
+ * Set element as a child to another element
+ *
+ * @param string $elementId
+ * @param string $parentId
+ * @param string $alias
+ * @param int|null $position
+ * @see _insertChild() for position explanation
+ * @return void
+ * @throws LocalizedException if attempting to set parent as child to its child (recursively)
+ */
+ public function setAsChild($elementId, $parentId, $alias = '', $position = null)
+ {
+ }
+ /**
+ * Unset element as a child of another element
+ *
+ * Note that only parent-child relations will be deleted. Element itself will be retained.
+ * The method is polymorphic:
+ * 1 argument: element ID which is supposedly a child of some element
+ * 2 arguments: parent element ID and child alias
+ *
+ * @param string $elementId ID of an element or its parent element
+ * @param string|null $alias
+ * @return $this
+ */
+ public function unsetChild($elementId, $alias = null)
+ {
+ }
+ /**
+ * Reorder a child element relatively to specified position
+ *
+ * Returns new position of the reordered element
+ *
+ * @param string $parentId
+ * @param string $childId
+ * @param int|null $position
+ * @return int
+ * @see _insertChild() for position explanation
+ */
+ public function reorderChild($parentId, $childId, $position)
+ {
+ }
+ /**
+ * Reorder an element relatively to its sibling
+ *
+ * $offset possible values:
+ * 1, 2 -- set after the sibling towards end -- by 1, by 2 positions, etc
+ * -1, -2 -- set before the sibling towards start -- by 1, by 2 positions, etc...
+ *
+ * Both $childId and $siblingId must be children of the specified $parentId
+ * Returns new position of the reordered element
+ *
+ * @param string $parentId
+ * @param string $childId
+ * @param string $siblingId
+ * @param int $offset
+ * @return int
+ */
+ public function reorderToSibling($parentId, $childId, $siblingId, $offset)
+ {
+ }
+ /**
+ * Get child ID by parent ID and alias
+ *
+ * @param string $parentId
+ * @param string $alias
+ * @return string|bool
+ */
+ public function getChildId($parentId, $alias)
+ {
+ }
+ /**
+ * Get all children
+ *
+ * Returns in format 'id' => 'alias'
+ *
+ * @param string $parentId
+ * @return array
+ */
+ public function getChildren($parentId)
+ {
+ }
+ /**
+ * Get name of parent element
+ *
+ * @param string $childId
+ * @return string|bool
+ */
+ public function getParentId($childId)
+ {
+ }
+ /**
+ * Get element alias by name
+ *
+ * @param string $parentId
+ * @param string $childId
+ * @return string|bool
+ */
+ public function getChildAlias($parentId, $childId)
+ {
+ }
+ /**
+ * Add element to parent group
+ *
+ * @param string $childId
+ * @param string $groupName
+ * @return bool
+ */
+ public function addToParentGroup($childId, $groupName)
+ {
+ }
+ /**
+ * Get element IDs for specified group
+ *
+ * Note that it is expected behavior if a child has been moved out from this parent,
+ * but still remained in the group of old parent. The method will return only actual children.
+ * This is intentional, in case if the child returns back to the old parent.
+ *
+ * @param string $parentId Name of an element containing group
+ * @param string $groupName
+ * @return array
+ */
+ public function getGroupChildNames($parentId, $groupName)
+ {
+ }
+ /**
+ * Calculate a relative offset of a child element in specified parent
+ *
+ * @param string $parentId
+ * @param string $childId
+ * @return int
+ * @throws LocalizedException if specified elements have no parent-child relation
+ */
+ protected function _getChildOffset($parentId, $childId)
+ {
+ }
+ /**
+ * Insert an existing element as a child to existing element
+ *
+ * The element must not be a child to any other element
+ * The target parent element must not have it as a child already
+ *
+ * Offset -- into which position to insert:
+ * 0 -- set as 1st
+ * 1, 2 -- after 1st, second, etc...
+ * -1, -2 -- before last, before second last, etc...
+ * null -- set as last
+ *
+ * @param string $targetParentId
+ * @param string $elementId
+ * @param int|null $offset
+ * @param string $alias
+ * @return void
+ * @throws LocalizedException
+ */
+ protected function _insertChild($targetParentId, $elementId, $offset, $alias)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ }
+ class Schema extends \Magento\Framework\DataObject
+ {
+ /**
+ * @param mixed $schema
+ * @return void
+ */
+ public function load($schema)
+ {
+ }
+ /**
+ * @param mixed $rawData
+ * @return DataArray
+ */
+ public function extract($rawData)
+ {
+ }
+ }
+ /**
+ * Class SearchResultIteratorFactory
+ */
+ class SearchResultIteratorFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create SearchResultIterator object
+ *
+ * @param string $className
+ * @param array $arguments
+ * @return SearchResultIterator
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function create($className, array $arguments = [])
+ {
+ }
+ }
+ /**
+ * Form factory class
+ *
+ * @api
+ */
+ class FormFactory
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * Instance name to create
+ *
+ * @var string
+ */
+ protected $_instanceName;
+ /**
+ * Factory construct
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Data\Form::class)
+ {
+ }
+ /**
+ * Create form instance
+ *
+ * @param array $data
+ * @return \Magento\Framework\Data\Form
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit {
+ /**
+ * Tests for \Magento\Framework\Data\FormFactory
+ * @SuppressWarnings(PHPMD.LongVariable)
+ */
+ class FormTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_factoryElementMock;
+ /**
+ * @var MockObject
+ */
+ protected $_factoryCollectionMock;
+ /**
+ * @var MockObject
+ */
+ protected $_formKeyMock;
+ /**
+ * @var \Magento\Framework\Data\Form
+ */
+ protected $_form;
+ protected function setUp() : void
+ {
+ }
+ public function testFormKeyUsing()
+ {
+ }
+ public function testSettersGetters()
+ {
+ }
+ public function testElementExistsException()
+ {
+ }
+ public function testElementOperations()
+ {
+ }
+ }
+ /**
+ * Tests for \Magento\Framework\Data\FormFactory
+ */
+ class FormFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ protected function setUp() : void
+ {
+ }
+ public function testWrongTypeException()
+ {
+ }
+ public function testCreate()
+ {
+ }
+ }
+ class AbstractSearchResultTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var AbstractSearchResult
+ */
+ protected $searchResult;
+ /**
+ * @var QueryInterface|MockObject
+ */
+ protected $query;
+ /**
+ * @var EntityFactoryInterface|MockObject
+ */
+ protected $entityFactory;
+ /**
+ * @var CriteriaInterface|MockObject
+ */
+ protected $criteria;
+ /**
+ * @var MockObject
+ */
+ protected $eventManagerMock;
+ /**
+ * @var MockObject
+ */
+ protected $searchResultIteratorMock;
+ protected function setUp() : void
+ {
+ }
+ public function testGetItems()
+ {
+ }
+ public function testGetTotalCount()
+ {
+ }
+ public function testGetSearchCriteria()
+ {
+ }
+ public function testGetSize()
+ {
+ }
+ }
+ class SearchResultProcessorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var SearchResultProcessor
+ */
+ protected $searchResultProcessor;
+ /**
+ * @var MockObject
+ */
+ protected $searchResultCollectionMock;
+ /**
+ * @var MockObject
+ */
+ protected $searchCriteriaMock;
+ protected function setUp() : void
+ {
+ }
+ public function testGetCurrentPage()
+ {
+ }
+ public function testGetPageSize()
+ {
+ }
+ public function testGetFirstItem()
+ {
+ }
+ public function testGetLastItem()
+ {
+ }
+ public function testGetAllIds()
+ {
+ }
+ public function testGetItemById()
+ {
+ }
+ public function testGetColumnValues()
+ {
+ }
+ public function testGetItemsByColumnValue()
+ {
+ }
+ public function testGetItemByColumnValue()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Stub {
+ class DataObject extends \Magento\Framework\Data\AbstractDataObject
+ {
+ /**
+ * @param array $data
+ */
+ public function setData(array $data)
+ {
+ }
+ /**
+ * @param string $key
+ * @return mixed|null
+ *
+ * phpcs:disable Generic.CodeAnalysis.UselessOverridingMethod
+ */
+ public function get($key)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data {
+ /**
+ * Class AbstractSearchCriteriaBuilder
+ *
+ * @package Magento\Framework\Data
+ */
+ abstract class AbstractSearchCriteriaBuilder
+ {
+ /**
+ * @var ObjectFactory
+ */
+ protected $objectFactory;
+ /**
+ * @var string
+ */
+ protected $resultObjectInterface;
+ /**
+ * @param Logger $logger
+ * @param ObjectFactory $objectFactory
+ */
+ public function __construct(\Psr\Log\LoggerInterface $logger, \Magento\Framework\Data\ObjectFactory $objectFactory)
+ {
+ }
+ /**
+ * Initialization
+ *
+ * @return string
+ */
+ protected abstract function init();
+ /**
+ * Retrieve interface for result
+ *
+ * @return string
+ */
+ protected function getResultObjectInterface()
+ {
+ }
+ /**
+ * Create result object
+ *
+ * @return SearchResultInterface
+ */
+ public function make()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Stub {
+ class SearchCriteriaBuilder extends \Magento\Framework\Data\AbstractSearchCriteriaBuilder
+ {
+ /**
+ * @return string|void
+ */
+ public function init()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data {
+ /**
+ * Interface SearchResultInterface
+ *
+ * @api
+ */
+ interface SearchResultInterface
+ {
+ /**
+ * Retrieve collection items
+ *
+ * @return \Magento\Framework\DataObject[]
+ */
+ public function getItems();
+ /**
+ * Retrieve count of currently loaded items
+ *
+ * @return int
+ */
+ public function getTotalCount();
+ /**
+ * @return \Magento\Framework\Api\CriteriaInterface
+ */
+ public function getSearchCriteria();
+ }
+ /**
+ * Class AbstractSearchResult
+ */
+ abstract class AbstractSearchResult extends \Magento\Framework\Data\AbstractDataObject implements \Magento\Framework\Data\SearchResultInterface
+ {
+ /**
+ * Data Interface name
+ *
+ * @var string
+ */
+ protected $dataInterface = \Magento\Framework\DataObject::class;
+ /**
+ * Name prefix of events that are dispatched by model
+ *
+ * @var string
+ */
+ protected $eventPrefix = '';
+ /**
+ * Name of event parameter
+ *
+ * @var string
+ */
+ protected $eventObject = '';
+ /**
+ * Event manager proxy
+ *
+ * @var \Magento\Framework\Event\ManagerInterface
+ */
+ protected $eventManager = null;
+ /**
+ * Total items number
+ *
+ * @var int
+ */
+ protected $totalRecords;
+ /**
+ * Loading state flag
+ *
+ * @var bool
+ */
+ protected $isLoaded;
+ /**
+ * @var \Magento\Framework\Data\Collection\EntityFactoryInterface
+ */
+ protected $entityFactory;
+ /**
+ * @var \Magento\Framework\DB\QueryInterface
+ */
+ protected $query;
+ /**
+ * @var \Magento\Framework\DB\Select
+ * @deprecated 101.0.0
+ */
+ protected $select;
+ /**
+ * @var \Magento\Framework\Data\SearchResultIteratorFactory
+ */
+ protected $resultIteratorFactory;
+ /**
+ * @param \Magento\Framework\DB\QueryInterface $query
+ * @param \Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory
+ * @param \Magento\Framework\Event\ManagerInterface $eventManager
+ * @param \Magento\Framework\Data\SearchResultIteratorFactory $resultIteratorFactory
+ */
+ public function __construct(\Magento\Framework\DB\QueryInterface $query, \Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Framework\Data\SearchResultIteratorFactory $resultIteratorFactory)
+ {
+ }
+ /**
+ * Standard query builder initialization
+ *
+ * @return void
+ */
+ protected abstract function init();
+ /**
+ * @return \Magento\Framework\DataObject[]
+ */
+ public function getItems()
+ {
+ }
+ /**
+ * @param \Magento\Framework\DataObject[] $items
+ * @return $this
+ */
+ public function setItems(array $items = null)
+ {
+ }
+ /**
+ * @return int
+ */
+ public function getTotalCount()
+ {
+ }
+ /**
+ * @param int $totalCount
+ * @return $this
+ */
+ public function setTotalCount($totalCount)
+ {
+ }
+ /**
+ * @return \Magento\Framework\Api\CriteriaInterface
+ */
+ public function getSearchCriteria()
+ {
+ }
+ /**
+ * @param \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function setSearchCriteria(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria = null)
+ {
+ }
+ /**
+ * @return \Magento\Framework\Data\SearchResultIterator
+ */
+ public function createIterator()
+ {
+ }
+ /**
+ * @param array $arguments
+ * @return \Magento\Framework\DataObject|mixed
+ */
+ public function createDataObject(array $arguments = [])
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getIdFieldName()
+ {
+ }
+ /**
+ * @return int
+ */
+ public function getSize()
+ {
+ }
+ /**
+ * Get collection item identifier
+ *
+ * @param \Magento\Framework\DataObject $item
+ * @return mixed
+ */
+ public function getItemId(\Magento\Framework\DataObject $item)
+ {
+ }
+ /**
+ * @return bool
+ */
+ protected function isLoaded()
+ {
+ }
+ /**
+ * Load data
+ *
+ * @return void
+ */
+ protected function load()
+ {
+ }
+ /**
+ * Set loading status flag
+ *
+ * @param bool $flag
+ * @return void
+ */
+ protected function setIsLoaded($flag = true)
+ {
+ }
+ /**
+ * Adding item to item array
+ *
+ * @param \Magento\Framework\DataObject $item
+ * @return void
+ * @throws \Exception
+ */
+ protected function addItem(\Magento\Framework\DataObject $item)
+ {
+ }
+ /**
+ * Dispatch "before" load method events
+ *
+ * @return void
+ */
+ protected function beforeLoad()
+ {
+ }
+ /**
+ * Dispatch "after" load method events
+ *
+ * @return void
+ */
+ protected function afterLoad()
+ {
+ }
+ /**
+ * Set Data Interface name for collection items
+ *
+ * @param string $dataInterface
+ * @return void
+ */
+ protected function setDataInterfaceName($dataInterface)
+ {
+ }
+ /**
+ * Get Data Interface name for collection items
+ *
+ * @return string
+ */
+ protected function getDataInterfaceName()
+ {
+ }
+ /**
+ * @return \Magento\Framework\DB\QueryInterface
+ */
+ protected function getQuery()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Stub {
+ class SearchResult extends \Magento\Framework\Data\AbstractSearchResult
+ {
+ public function init()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Argument {
+ class XsdTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Path to xsd schema file for validating argument types
+ * @var string
+ */
+ protected $_typesXsdSchema;
+ /**
+ * @var XsdValidator
+ */
+ protected $_xsdValidator;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $xmlString
+ * @param array $expectedError
+ * @dataProvider schemaCorrectlyIdentifiesInvalidTypesXmlDataProvider
+ */
+ public function testSchemaCorrectlyIdentifiesInvalidTypesXml($xmlString, $expectedError)
+ {
+ }
+ /**
+ * Data provider with invalid type declaration
+ *
+ * @return array
+ */
+ public function schemaCorrectlyIdentifiesInvalidTypesXmlDataProvider()
+ {
+ }
+ public function testSchemaCorrectlyIdentifiesValidXml()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Argument\Interpreter {
+ class NumberTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Number
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ *
+ * @dataProvider evaluateExceptionDataProvider
+ */
+ public function testEvaluateException($input)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function evaluateExceptionDataProvider()
+ {
+ }
+ /**
+ * @param array $input
+ * @param bool $expected
+ *
+ * @dataProvider evaluateDataProvider
+ */
+ public function testEvaluate($input, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function evaluateDataProvider()
+ {
+ }
+ }
+ class ConstantTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testEvaluate()
+ {
+ }
+ /**
+ * @dataProvider evaluateBadValueDataProvider
+ */
+ public function testEvaluateBadValue($value)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function evaluateBadValueDataProvider()
+ {
+ }
+ }
+ class NullTypeTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testEvaluate()
+ {
+ }
+ }
+ class BooleanTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Boolean
+ */
+ protected $_model;
+ /**
+ * @var MockObject
+ */
+ protected $_booleanUtils;
+ protected function setUp() : void
+ {
+ }
+ public function testEvaluateException()
+ {
+ }
+ public function testEvaluate()
+ {
+ }
+ }
+ class ArrayTypeTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject|InterpreterInterface
+ */
+ protected $_itemInterpreter;
+ /**
+ * @var ArrayType
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ *
+ * @dataProvider evaluateExceptionDataProvider
+ */
+ public function testEvaluateException($inputData)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function evaluateExceptionDataProvider()
+ {
+ }
+ /**
+ * @param array $input
+ * @param array $expected
+ *
+ * @dataProvider evaluateDataProvider
+ */
+ public function testEvaluate(array $input, array $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function evaluateDataProvider()
+ {
+ }
+ }
+ class CompositeTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var InterpreterInterface
+ */
+ protected $_interpreterOne;
+ /**
+ * @var InterpreterInterface
+ */
+ protected $_interpreterTwo;
+ /**
+ * @var Composite
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ public function testConstructWrongInterpreter()
+ {
+ }
+ /**
+ * @param array $input
+ * @param string $expectedExceptionMessage
+ *
+ * @dataProvider evaluateWrongDiscriminatorDataProvider
+ */
+ public function testEvaluateWrongDiscriminator($input, $expectedExceptionMessage)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function evaluateWrongDiscriminatorDataProvider()
+ {
+ }
+ public function testEvaluate()
+ {
+ }
+ public function testAddInterpreter()
+ {
+ }
+ public function testAddInterpreterException()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Form {
+ class AbstractFormTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $factoryElementMock;
+ /**
+ * @var MockObject
+ */
+ protected $factoryCollectionMock;
+ /**
+ * @var MockObject
+ */
+ protected $elementMock;
+ /**
+ * @var MockObject
+ */
+ protected $allElementsMock;
+ /**
+ * @var AbstractForm
+ */
+ protected $abstractForm;
+ protected function setUp() : void
+ {
+ }
+ public function testAddElement()
+ {
+ }
+ public function testAddField()
+ {
+ }
+ public function testAddFieldset()
+ {
+ }
+ public function testAddColumn()
+ {
+ }
+ public function testAddCustomAttribute()
+ {
+ }
+ /**
+ * @param array $keys
+ * @param array $data
+ * @param array $customAttributes
+ * @param string $result
+ * @dataProvider dataProviderSerialize
+ */
+ public function testSerialize($keys, $data, $customAttributes, $result)
+ {
+ }
+ /**
+ * 1. Keys
+ * 2. Data
+ * 3. Custom Attributes
+ * 4. Result
+ *
+ * @return array
+ */
+ public function dataProviderSerialize()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Form\FormKey {
+ class ValidatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Validator
+ */
+ protected $_model;
+ /**
+ * @var MockObject
+ */
+ protected $_formKeyMock;
+ /**
+ * @var MockObject
+ */
+ protected $_requestMock;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $formKey
+ * @param bool $expected
+ * @dataProvider validateDataProvider
+ */
+ public function testValidate($formKey, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function validateDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Form {
+ /**
+ * Test for Magento\Framework\Data\Form\FormKey
+ */
+ class FormKeyTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Random|MockObject
+ */
+ protected $mathRandomMock;
+ /**
+ * @var SessionManager|MockObject
+ */
+ protected $sessionMock;
+ /**
+ * @var Escaper|MockObject
+ */
+ protected $escaperMock;
+ /**
+ * @var FormKey
+ */
+ protected $formKey;
+ protected function setUp() : void
+ {
+ }
+ public function testGetFormKeyNotExist()
+ {
+ }
+ public function testGetFormKeyExists()
+ {
+ }
+ public function testIsPresent()
+ {
+ }
+ public function testSet()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Form\Element {
+ /**
+ * Tests for \Magento\Framework\Data\Form\Element\Label
+ */
+ class LabelTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Label
+ */
+ protected $_label;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Label::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Label::getElementHtml
+ */
+ public function testGetElementHtml()
+ {
+ }
+ }
+ /**
+ * Tests for \Magento\Framework\Data\Form\Element\AbstractElement
+ */
+ class AbstractElementTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var AbstractElement|MockObject
+ */
+ protected $_model;
+ /**
+ * @var Factory|MockObject
+ */
+ protected $_factoryMock;
+ /**
+ * @var CollectionFactory|MockObject
+ */
+ protected $_collectionFactoryMock;
+ /**
+ * @var Escaper|MockObject
+ */
+ protected $_escaperMock;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::addElement()
+ */
+ public function testAddElement()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlId()
+ */
+ public function testGetHtmlId()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getName()
+ */
+ public function testGetNameWithoutSuffix()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getName()
+ */
+ public function testGetNameWithSuffix()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::removeField()
+ */
+ public function testRemoveField()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlAttributes()
+ */
+ public function testGetHtmlAttributes()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::addClass()
+ */
+ public function testAddClass()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::removeClass()
+ */
+ public function testRemoveClass()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getEscapedValue()
+ */
+ public function testGetEscapedValueWithoutFilter()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getEscapedValue()
+ */
+ public function testGetEscapedValueWithFilter()
+ {
+ }
+ /**
+ * @param array $initialData
+ * @param string $expectedValue
+ * @dataProvider getElementHtmlDataProvider
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getElementHtml()
+ */
+ public function testGetElementHtml(array $initialData, $expectedValue)
+ {
+ }
+ /**
+ * @param array $initialData
+ * @param string $expectedValue
+ * @dataProvider getLabelHtmlDataProvider
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getLabelHtml()
+ */
+ public function testGetLabelHtml(array $initialData, $expectedValue)
+ {
+ }
+ /**
+ * @param array $initialData
+ * @param string $expectedValue
+ * @dataProvider testGetDefaultHtmlDataProvider
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getDefaultHtml()
+ */
+ public function testGetDefaultHtml(array $initialData, $expectedValue)
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtml()
+ */
+ public function testGetHtmlWithoutRenderer()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtml()
+ */
+ public function testGetHtmlWithRenderer()
+ {
+ }
+ /**
+ * @param array $initialData
+ * @param string $expectedValue
+ * @dataProvider serializeDataProvider
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::serialize()
+ */
+ public function testSerialize(array $initialData, $expectedValue)
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlContainerId()
+ */
+ public function testGetHtmlContainerIdWithoutId()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlContainerId()
+ */
+ public function testGetHtmlContainerIdWithContainerId()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlContainerId()
+ */
+ public function testGetHtmlContainerIdWithFieldContainerIdPrefix()
+ {
+ }
+ /**
+ * @param array $initialData
+ * @param string $expectedValue
+ * @dataProvider addElementValuesDataProvider
+ * @covers \Magento\Framework\Data\Form\Element\AbstractElement::addElementValues()
+ */
+ public function testAddElementValues(array $initialData, $expectedValue)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function addElementValuesDataProvider()
+ {
+ }
+ /**
+ * @return array
+ */
+ public function serializeDataProvider()
+ {
+ }
+ /**
+ * @return array
+ */
+ public function testGetDefaultHtmlDataProvider()
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getLabelHtmlDataProvider()
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getElementHtmlDataProvider()
+ {
+ }
+ }
+ class ResetTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Reset
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Reset::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ }
+ class ImagefileTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Imagefile
+ */
+ protected $_imagefile;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Imagefile::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ }
+ class TextTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Text
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Text::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Text::getHtml
+ */
+ public function testGetHtml()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Text::getHtmlAttributes
+ */
+ public function testGetHtmlAttributes()
+ {
+ }
+ }
+ class FactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Factory
+ */
+ protected $_factory;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $type
+ * @dataProvider createPositiveDataProvider
+ */
+ public function testCreatePositive($type)
+ {
+ }
+ /**
+ * @param string $type
+ * @dataProvider createPositiveDataProvider
+ */
+ public function testCreatePositiveWithNotEmptyConfig($type)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function createPositiveDataProvider()
+ {
+ }
+ /**
+ * @param string $type
+ * @dataProvider createExceptionReflectionExceptionDataProvider
+ */
+ public function testCreateExceptionReflectionException($type)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function createExceptionReflectionExceptionDataProvider()
+ {
+ }
+ /**
+ * @param string $type
+ * @dataProvider createExceptionInvalidArgumentDataProvider
+ */
+ public function testCreateExceptionInvalidArgument($type)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function createExceptionInvalidArgumentDataProvider()
+ {
+ }
+ }
+ class ColumnTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Column
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Column::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ }
+ class RadioTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Radio
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Radio::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ }
+ class HiddenTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Hidden
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Hidden::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Hidden::getDefaultHtml
+ */
+ public function testGetDefaultHtml()
+ {
+ }
+ }
+ class DateTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Date
+ */
+ protected $model;
+ /**
+ * @var Factory|MockObject
+ */
+ protected $factoryMock;
+ /**
+ * @var CollectionFactory|MockObject
+ */
+ protected $collectionFactoryMock;
+ /**
+ * @var Escaper|MockObject
+ */
+ protected $escaperMock;
+ /**
+ * @var TimezoneInterface|MockObject
+ */
+ protected $localeDateMock;
+ protected function setUp() : void
+ {
+ }
+ public function testGetElementHtmlException()
+ {
+ }
+ /**
+ * @param $fieldName
+ * @dataProvider providerGetElementHtmlDateFormat
+ */
+ public function testGetElementHtmlDateFormat($fieldName)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function providerGetElementHtmlDateFormat()
+ {
+ }
+ /**
+ * @param $exactly
+ * @return MockObject
+ */
+ protected function getFormMock($exactly)
+ {
+ }
+ }
+ class CheckboxTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Checkbox
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Checkbox::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Checkbox::getHtmlAttributes
+ */
+ public function testGetHtmlAttributes()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Checkbox::getElementHtml
+ */
+ public function testGetElementHtml()
+ {
+ }
+ }
+ class EditorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Editor
+ */
+ protected $model;
+ /**
+ * @var Factory|MockObject
+ */
+ protected $factoryMock;
+ /**
+ * @var CollectionFactory|MockObject
+ */
+ protected $collectionFactoryMock;
+ /**
+ * @var Escaper|MockObject
+ */
+ protected $escaperMock;
+ /**
+ * @var DataObject|MockObject
+ */
+ protected $formMock;
+ /**
+ * @var DataObject|MockObject
+ */
+ protected $configMock;
+ /**
+ * @var ObjectManager
+ */
+ protected $objectManager;
+ protected function setUp() : void
+ {
+ }
+ public function testConstruct()
+ {
+ }
+ public function testGetElementHtml()
+ {
+ }
+ /**
+ * @param bool $expected
+ * @param bool $globalFlag
+ * @param bool $attributeFlag
+ * @dataProvider isEnabledDataProvider
+ * @return void
+ */
+ public function testIsEnabled($expected, $globalFlag, $attributeFlag = null)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function isEnabledDataProvider()
+ {
+ }
+ public function testIsHidden()
+ {
+ }
+ public function testTranslate()
+ {
+ }
+ public function testGetConfig()
+ {
+ }
+ /**
+ * Test protected `getTranslatedString` method via public `getElementHtml` method
+ */
+ public function testGetTranslatedString()
+ {
+ }
+ }
+ class FileTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var File
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\File::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ }
+ /**
+ * Test for the widget.
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ class MultiselectTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Multiselect
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Verify that hidden input is present in multiselect.
+ *
+ * @covers \Magento\Framework\Data\Form\Element\Multiselect::getElementHtml
+ * @return void
+ */
+ public function testHiddenFieldPresentInMultiSelect()
+ {
+ }
+ /**
+ * Verify that hidden input is present in multiselect when multiselect is disabled.
+ *
+ * @return void
+ */
+ public function testHiddenDisabledFieldPresentInMultiSelect()
+ {
+ }
+ /**
+ * Verify that hidden input is not present in multiselect when multiselect is not disabled.
+ *
+ * @covers \Magento\Framework\Data\Form\Element\Multiselect::getElementHtml
+ * @return void
+ */
+ public function testHiddenDisabledFieldNotPresentInMultiSelect()
+ {
+ }
+ /**
+ * Verify that js element is added.
+ *
+ * @return void
+ */
+ public function testGetAfterElementJs()
+ {
+ }
+ }
+ class EditablemultiselectTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Editablemultiselect
+ */
+ protected $_model;
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ public function testGetElementHtmlRendersDataAttributesWhenDisabled()
+ {
+ }
+ public function testGetElementHtmlRendersRelatedJsClassInitialization()
+ {
+ }
+ }
+ class CollectionFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var CollectionFactory
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\CollectionFactory::create
+ */
+ public function testCreate()
+ {
+ }
+ }
+ class PasswordTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Password
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Password::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Password::getHtml
+ */
+ public function testGetHtml()
+ {
+ }
+ }
+ class LinkTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Link
+ */
+ protected $_link;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Link::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Link::getElementHtml
+ */
+ public function testGetElementHtml()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Link::getHtmlAttributes
+ */
+ public function testGetHtmlAttributes()
+ {
+ }
+ }
+ class ButtonTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Button
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Button::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Button::getHtmlAttributes
+ */
+ public function testGetHtmlAttributes()
+ {
+ }
+ }
+ /**
+ * Tests for \Magento\Framework\Data\Form\Element\Obscure
+ */
+ class ObscureTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Obscure
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Obscure::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Obscure::getEscapedValue
+ */
+ public function testGetEscapedValue()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Obscure::getHtmlAttributes
+ */
+ public function testGetHtmlAttributes()
+ {
+ }
+ }
+ class NoteTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Note
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Note::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Note::getElementHtml
+ */
+ public function testGetElementHtml()
+ {
+ }
+ }
+ /**
+ * Test for the widget.
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ class ImageTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var MockObject
+ */
+ protected $urlBuilder;
+ /**
+ * @var Image
+ */
+ protected $_image;
+ /**
+ * @var array
+ */
+ protected $testData;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Image::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Image::getName
+ */
+ public function testGetName()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Image::getElementHtml
+ */
+ public function testGetElementHtmlWithoutValue()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Image::getElementHtml
+ */
+ public function testGetElementHtmlWithValue()
+ {
+ }
+ }
+ /**
+ * Tests for \Magento\Framework\Data\Form\Element\Textarea class.
+ */
+ class TextareaTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Textarea
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Textarea::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Textarea::getElementHtml
+ */
+ public function testGetElementHtml()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Textarea::getHtmlAttributes
+ */
+ public function testGetHtmlAttributes()
+ {
+ }
+ }
+ class SubmitTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject
+ */
+ protected $_objectManagerMock;
+ /**
+ * @var Submit
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Submit::__construct
+ */
+ public function testConstruct()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Data\Form\Element\Submit::getHtml
+ */
+ public function testGetHtml()
+ {
+ }
+ }
+ /**
+ * Test for \Magento\Framework\Data\Form\Element\Multiline
+ */
+ class MultilineTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Multiline
+ */
+ protected $element;
+ /**
+ * @var Factory|MockObject
+ */
+ protected $elementFactory;
+ /**
+ * @var CollectionFactory|MockObject
+ */
+ protected $collectionFactory;
+ /**
+ * @var Escaper|MockObject
+ */
+ protected $escaper;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param mixed $value
+ * @param int $index
+ * @param string $resultValue
+ * @return void
+ * @dataProvider dataProviderValues
+ */
+ public function testGetEscapedValue($value, $index, $resultValue)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function dataProviderValues()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Form {
+ class FilterFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var FilterFactory
+ */
+ protected $factory;
+ /**
+ * @var ObjectManagerInterface|MockObject
+ */
+ protected $objectManager;
+ protected function setUp() : void
+ {
+ }
+ public function testCreate()
+ {
+ }
+ public function testCreateWithException()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Criteria {
+ class Sample extends \Magento\Framework\Data\AbstractCriteria
+ {
+ }
+}
+namespace Magento\Framework\Data\Test\Unit {
+ class AbstractDataObjectTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testToArray()
+ {
+ }
+ public function testGet()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Helper {
+ class PostHelperTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGetPostData()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit {
+ class GraphTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @param array $nodes
+ * @param array $relations
+ * @dataProvider constructorErrorDataProvider
+ */
+ public function testConstructorError($nodes, $relations)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function constructorErrorDataProvider()
+ {
+ }
+ /**
+ * \Exceptions are covered by testConstructorError()
+ */
+ public function testAddRelation()
+ {
+ }
+ public function testGetRelations()
+ {
+ }
+ public function testFindCycle()
+ {
+ }
+ public function testDfs()
+ {
+ }
+ public function testFindPathsToReachableNodes()
+ {
+ }
+ }
+ class AbstractCriteriaTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Sample
+ */
+ protected $criteria;
+ /**
+ * Set up
+ *
+ * @return void
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Run test addField method
+ *
+ * @param string|array $field
+ * @param string|null $alias
+ * @param array $result
+ * @return void
+ *
+ * @dataProvider dataProviderAddField
+ */
+ public function testAddField($field, $alias, array $result)
+ {
+ }
+ /**
+ * Run test addFilter method
+ *
+ * @param string $name
+ * @param string|array $field
+ * @param string|int|array $condition
+ * @param string $type
+ * @param array $result
+ * @return void
+ *
+ * @dataProvider dataProviderAddFilter
+ */
+ public function testAddFilter($name, $field, $condition, $type, array $result)
+ {
+ }
+ /**
+ * Run test addOrder method
+ *
+ * @param string $field
+ * @param string $direction
+ * @param bool $unShift
+ * @param array $result
+ * @return void
+ *
+ * @dataProvider dataProviderAddOrder
+ */
+ public function testAddOrder($field, $direction, $unShift, array $result)
+ {
+ }
+ /**
+ * Run test setLimit method
+ *
+ * @param int $offset
+ * @param int $size
+ * @param array $result
+ * @return void
+ *
+ * @dataProvider dataProviderSetLimit
+ */
+ public function testSetLimit($offset, $size, array $result)
+ {
+ }
+ /**
+ * Run test removeField method
+ *
+ * @param array $actualField
+ * @param string|null $field
+ * @param bool $isAlias Alias identifier
+ * @param array $result
+ * @return void
+ *
+ * @dataProvider dataProviderRemoveField
+ */
+ public function testRemoveField(array $actualField, $field, $isAlias, array $result)
+ {
+ }
+ /**
+ * Run test removeAllFields method
+ *
+ * @param array $actualField
+ * @param array $result
+ * @return void
+ *
+ * @dataProvider dataProviderRemoveAllFields
+ */
+ public function testRemoveAllFields(array $actualField, array $result)
+ {
+ }
+ /**
+ * Run test removeFilter method
+ *
+ * @param array $actualField
+ * @param string $name
+ * @param array $result
+ * @return void
+ *
+ * @dataProvider dataProviderRemoveFilter
+ */
+ public function testRemoveFilter(array $actualField, $name, array $result)
+ {
+ }
+ /**
+ * Run test removeAllFilters method
+ *
+ * @param array $actualField
+ * @param array $result
+ * @return void
+ *
+ * @dataProvider dataProviderRemoveAllFilters
+ */
+ public function testRemoveAllFilters(array $actualField, array $result)
+ {
+ }
+ /**
+ * Run test reset method
+ *
+ * @param array $result
+ * @return void
+ *
+ * @dataProvider dataProviderReset
+ */
+ public function testReset(array $result)
+ {
+ }
+ /**
+ * Data provider for reset method
+ *
+ * @return array
+ */
+ public function dataProviderReset()
+ {
+ }
+ /**
+ * Data provider for removeAllFilters method
+ *
+ * @return array
+ */
+ public function dataProviderRemoveAllFilters()
+ {
+ }
+ /**
+ * Data provider for removeFilter method
+ *
+ * @return array
+ */
+ public function dataProviderRemoveFilter()
+ {
+ }
+ /**
+ * Data provider for removeAllFields method
+ *
+ * @return array
+ */
+ public function dataProviderRemoveAllFields()
+ {
+ }
+ /**
+ * Data provider for removeField method
+ *
+ * @return array
+ */
+ public function dataProviderRemoveField()
+ {
+ }
+ /**
+ * Data provider for setLimit method
+ *
+ * @return array
+ */
+ public function dataProviderSetLimit()
+ {
+ }
+ /**
+ * Data provider for addOrder method
+ *
+ * @return array
+ */
+ public function dataProviderAddOrder()
+ {
+ }
+ /**
+ * Data provider for addFilter
+ *
+ * @return array
+ */
+ public function dataProviderAddFilter()
+ {
+ }
+ /**
+ * Data provider for addField
+ *
+ * @return array
+ */
+ public function dataProviderAddField()
+ {
+ }
+ }
+ class SearchCriteriaBuilderTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testMake()
+ {
+ }
+ }
+ class CollectionTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Collection
+ */
+ protected $_model;
+ /**
+ * Set up.
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test for method removeAllItems.
+ *
+ * @return void
+ */
+ public function testRemoveAllItems()
+ {
+ }
+ /**
+ * Test loadWithFilter()
+ *
+ * @return void
+ */
+ public function testLoadWithFilter()
+ {
+ }
+ /**
+ * Test for method etItemObjectClass
+ *
+ * @dataProvider setItemObjectClassDataProvider
+ */
+ public function testSetItemObjectClass($class)
+ {
+ }
+ /**
+ * Data provider.
+ *
+ * @return array
+ */
+ public function setItemObjectClassDataProvider()
+ {
+ }
+ /**
+ * Test for method setItemObjectClass with exception.
+ */
+ public function testSetItemObjectClassException()
+ {
+ }
+ /**
+ * Test for method addFilter.
+ *
+ * @return void
+ */
+ public function testAddFilter()
+ {
+ }
+ /**
+ * Test for method getFilters.
+ *
+ * @return void
+ */
+ public function testGetFilters()
+ {
+ }
+ /**
+ * Test for method get non existion filters.
+ *
+ * @return void
+ */
+ public function testGetNonExistingFilters()
+ {
+ }
+ /**
+ * Test for lag.
+ *
+ * @return void
+ */
+ public function testFlag()
+ {
+ }
+ /**
+ * Test for method getCurPage.
+ *
+ * @return void
+ */
+ public function testGetCurPage()
+ {
+ }
+ /**
+ * Test for method possibleFlowWithItem.
+ *
+ * @return void
+ */
+ public function testPossibleFlowWithItem()
+ {
+ }
+ /**
+ * Test for method eachCallsMethodOnEachItemWithNoArgs.
+ *
+ * @return void
+ */
+ public function testEachCallsMethodOnEachItemWithNoArgs()
+ {
+ }
+ /**
+ * Test for method eachCallsMethodOnEachItemWithArgs.
+ *
+ * @return void
+ */
+ public function testEachCallsMethodOnEachItemWithArgs()
+ {
+ }
+ /**
+ * Test for method callsClosureWithEachItemAndNoArgs.
+ *
+ * @return void
+ */
+ public function testCallsClosureWithEachItemAndNoArgs()
+ {
+ }
+ /**
+ * Test for method callsClosureWithEachItemAndArgs.
+ *
+ * @return void
+ */
+ public function testCallsClosureWithEachItemAndArgs()
+ {
+ }
+ /**
+ * Test for method callsCallableArrayWithEachItemNoArgs.
+ *
+ * @return void
+ */
+ public function testCallsCallableArrayWithEachItemNoArgs()
+ {
+ }
+ /**
+ * Test for method callsCallableArrayWithEachItemAndArgs.
+ *
+ * @return void
+ */
+ public function testCallsCallableArrayWithEachItemAndArgs()
+ {
+ }
+ }
+ /**
+ * Tests for \Magento\Framework\Data\FormFactory
+ * @SuppressWarnings(PHPMD.LongVariable)
+ */
+ class TreeTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Tree
+ */
+ protected $_tree;
+ protected function setUp() : void
+ {
+ }
+ public function testTreeOperations()
+ {
+ }
+ }
+ class StructureTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Structure
+ */
+ protected $_structure;
+ /**
+ * @return void
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param array $elements
+ * @return void
+ * @dataProvider importExportElementsDataProvider
+ */
+ public function testConstructImportExportElements($elements)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function importExportElementsDataProvider()
+ {
+ }
+ /**
+ * @param array $elements
+ * @return void
+ * @dataProvider importExceptionDataProvider
+ */
+ public function testImportException($elements)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function importExceptionDataProvider()
+ {
+ }
+ /**
+ * @param array $elements
+ * @return void
+ * @dataProvider importExceptionElementNotFoundDataProvider
+ */
+ public function testImportExceptionElementNotFound($elements)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function importExceptionElementNotFoundDataProvider()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testCreateGetHasElement()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testCreateElementException()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testUnsetElement()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testSetGetAttribute()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testSetAttributeNoElementException()
+ {
+ }
+ /**
+ * @param string $attribute
+ * @return void
+ * @dataProvider setAttributeArgumentExceptionDataProvider
+ */
+ public function testSetAttributeArgumentException($attribute)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function setAttributeArgumentExceptionDataProvider()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetAttributeNoElementException()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testRenameElement()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testSetAsChild()
+ {
+ }
+ /**
+ * @param int $offset
+ * @param int $expectedOffset
+ * @return void
+ * @dataProvider setAsChildOffsetDataProvider
+ */
+ public function testSetAsChildOffset($offset, $expectedOffset)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function setAsChildOffsetDataProvider()
+ {
+ }
+ /**
+ * @param string $elementId
+ * @param string $parentId
+ * @return void
+ * @dataProvider setAsChildExceptionDataProvider
+ */
+ public function testSetAsChildException($elementId, $parentId)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function setAsChildExceptionDataProvider()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testUnsetChild()
+ {
+ }
+ /**
+ * @param int $initialOffset
+ * @param int $newOffset
+ * @param int $expectedOffset
+ * @return void
+ * @dataProvider reorderChildDataProvider
+ */
+ public function testReorderChild($initialOffset, $newOffset, $expectedOffset)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function reorderChildDataProvider()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testReorderChildException()
+ {
+ }
+ /**
+ * @param int $initialOffset
+ * @param string $sibling
+ * @param int $delta
+ * @param int $expectedOffset
+ * @return void
+ * @dataProvider reorderSiblingDataProvider
+ */
+ public function testReorderToSibling($initialOffset, $sibling, $delta, $expectedOffset)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function reorderSiblingDataProvider()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testReorderToSiblingException()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetChildId()
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetChildrenParentIdChildAlias()
+ {
+ }
+ /**
+ * @return void
+ * @covers \Magento\Framework\Data\Structure::addToParentGroup
+ * @covers \Magento\Framework\Data\Structure::getGroupChildNames
+ */
+ public function testGroups()
+ {
+ }
+ /**
+ * Import a sample valid structure
+ * @return void
+ */
+ protected function _populateSampleStructure()
+ {
+ }
+ /**
+ * Import a sample structure, suitable for testing elements sort order
+ * @return void
+ */
+ protected function _populateSampleSortStructure()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Tree\Node {
+ class CollectionTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Collection
+ */
+ protected $collection;
+ protected function setUp() : void
+ {
+ }
+ public function testAdd()
+ {
+ }
+ public function testOffsets()
+ {
+ }
+ public function testDelete()
+ {
+ }
+ public function testLastNode()
+ {
+ }
+ public function testSearchById()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Collection\Db\FetchStrategy {
+ class CacheTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testFetchCached()
+ {
+ }
+ public function testFetchNotCached()
+ {
+ }
+ }
+ class QueryTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testFetchAll()
+ {
+ }
+ }
+}
+namespace Magento\Framework\TestFramework\Unit\Helper {
+ /**
+ * Class SelectRendererTrait
+ */
+ trait SelectRendererTrait
+ {
+ /**
+ * @param \Magento\Framework\TestFramework\Unit\Helper\ObjectManager $objectManager
+ * @return \Magento\Framework\DB\Select\SelectRenderer
+ */
+ protected function getSelectRenderer(\Magento\Framework\TestFramework\Unit\Helper\ObjectManager $objectManager)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Collection {
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class DbTest extends \PHPUnit\Framework\TestCase
+ {
+ use \Magento\Framework\TestFramework\Unit\Helper\SelectRendererTrait;
+ /**
+ * @var AbstractDb
+ */
+ protected $collection;
+ /**
+ * @var LoggerInterface|MockObject
+ */
+ protected $loggerMock;
+ /**
+ * @var EntityFactory|MockObject
+ */
+ protected $entityFactoryMock;
+ /**
+ * @var FetchStrategyInterface|MockObject
+ */
+ protected $fetchStrategyMock;
+ /**
+ * @var ObjectManager
+ */
+ protected $objectManager;
+ protected function setUp() : void
+ {
+ }
+ protected function tearDown() : void
+ {
+ }
+ public function testSetAddOrder()
+ {
+ }
+ public function testUnshiftOrder()
+ {
+ }
+ /**
+ * Test that adding field to filter builds proper sql WHERE condition
+ */
+ public function testAddFieldToFilter()
+ {
+ }
+ /**
+ * Test that adding multiple fields to filter at once
+ * builds proper sql WHERE condition and created conditions are joined with OR
+ */
+ public function testAddFieldToFilterWithMultipleParams()
+ {
+ }
+ /**
+ * Test that adding field to filter by value which contains question mark produce correct SQL
+ */
+ public function testAddFieldToFilterValueContainsQuestionMark()
+ {
+ }
+ /**
+ * Test that field is quoted when added to SQL via addFieldToFilter()
+ */
+ public function testAddFieldToFilterFieldIsQuoted()
+ {
+ }
+ /**
+ * Test that after cloning collection $this->_select in initial and cloned collections
+ * do not reference the same object
+ *
+ * @covers \Magento\Framework\Data\Collection\AbstractDb::__clone
+ */
+ public function testClone()
+ {
+ }
+ /**
+ * @param bool $printQuery
+ * @param bool $printFlag
+ * @param string $query
+ * @param string $expected
+ *
+ * @dataProvider printLogQueryPrintingDataProvider
+ */
+ public function testPrintLogQueryPrinting($printQuery, $printFlag, $query, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function printLogQueryPrintingDataProvider()
+ {
+ }
+ /**
+ * @param bool $logQuery
+ * @param bool $logFlag
+ * @param int $expectedCalls
+ *
+ * @dataProvider printLogQueryLoggingDataProvider
+ */
+ public function testPrintLogQueryLogging($logQuery, $logFlag, $expectedCalls)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function printLogQueryLoggingDataProvider()
+ {
+ }
+ public function testFetchItem()
+ {
+ }
+ public function testGetSize()
+ {
+ }
+ public function testGetSelectSql()
+ {
+ }
+ public function testGetData()
+ {
+ }
+ /**
+ * @dataProvider distinctDataProvider
+ */
+ public function testDistinct($flag, $expectedFlag)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function distinctDataProvider()
+ {
+ }
+ public function testToOptionHash()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Collection {
+ /**
+ * Base items collection class
+ *
+ * phpcs:disable Magento2.Classes.AbstractApi
+ * @api
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ * @since 100.0.2
+ */
+ abstract class AbstractDb extends \Magento\Framework\Data\Collection
+ {
+ /**
+ * DB connection
+ *
+ * @var \Magento\Framework\DB\Adapter\AdapterInterface
+ */
+ protected $_conn;
+ /**
+ * Select object
+ *
+ * @var \Magento\Framework\DB\Select
+ */
+ protected $_select;
+ /**
+ * Identifier field name for collection items
+ *
+ * Can be used by collections with items without defined
+ *
+ * @var string
+ */
+ protected $_idFieldName;
+ /**
+ * List of bound variables for select
+ *
+ * @var array
+ */
+ protected $_bindParams = [];
+ /**
+ * All collection data array
+ * Used for getData method
+ *
+ * @var array
+ */
+ protected $_data = null;
+ /**
+ * Fields map for correlation names & real selected fields
+ *
+ * @var array
+ */
+ protected $_map = null;
+ /**
+ * Database's statement for fetch item one by one
+ *
+ * @var \Zend_Db_Statement_Pdo
+ */
+ protected $_fetchStmt = null;
+ /**
+ * Whether orders are rendered
+ *
+ * @var bool
+ */
+ protected $_isOrdersRendered = false;
+ /**
+ * @var Logger
+ */
+ protected $_logger;
+ /**
+ * Join processor is set only if extension attributes were joined before the collection was loaded.
+ *
+ * @var \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface|null
+ */
+ protected $extensionAttributesJoinProcessor;
+ /**
+ * @param EntityFactoryInterface $entityFactory
+ * @param Logger $logger
+ * @param FetchStrategyInterface $fetchStrategy
+ * @param \Magento\Framework\DB\Adapter\AdapterInterface $connection
+ */
+ public function __construct(\Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, \Magento\Framework\DB\Adapter\AdapterInterface $connection = null)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ /**
+ * Get resource instance.
+ *
+ * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb
+ */
+ public abstract function getResource();
+ /**
+ * Add variable to bind list
+ *
+ * @param string $name
+ * @param mixed $value
+ *
+ * @return $this
+ */
+ public function addBindParam($name, $value)
+ {
+ }
+ /**
+ * Specify collection objects id field name
+ *
+ * @param string $fieldName
+ *
+ * @return $this
+ */
+ protected function _setIdFieldName($fieldName)
+ {
+ }
+ /**
+ * Id field name getter
+ *
+ * @return string
+ */
+ public function getIdFieldName()
+ {
+ }
+ /**
+ * Get collection item identifier
+ *
+ * @param \Magento\Framework\DataObject $item
+ *
+ * @return mixed
+ */
+ protected function _getItemId(\Magento\Framework\DataObject $item)
+ {
+ }
+ /**
+ * Set database connection adapter
+ *
+ * @param \Magento\Framework\DB\Adapter\AdapterInterface $conn
+ *
+ * @return $this
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function setConnection(\Magento\Framework\DB\Adapter\AdapterInterface $conn)
+ {
+ }
+ /**
+ * Get \Magento\Framework\DB\Select instance
+ *
+ * @return Select
+ */
+ public function getSelect()
+ {
+ }
+ /**
+ * Retrieve connection object
+ *
+ * @return AdapterInterface
+ */
+ public function getConnection()
+ {
+ }
+ /**
+ * Get collection size
+ *
+ * @return int
+ */
+ public function getSize()
+ {
+ }
+ /**
+ * Get SQL for get record count
+ *
+ * @return Select
+ */
+ public function getSelectCountSql()
+ {
+ }
+ /**
+ * Get sql select string or object
+ *
+ * @param bool $stringMode
+ *
+ * @return string|\Magento\Framework\DB\Select
+ */
+ public function getSelectSql($stringMode = false)
+ {
+ }
+ /**
+ * Add select order
+ *
+ * @param string $field
+ * @param string $direction
+ *
+ * @return $this
+ */
+ public function setOrder($field, $direction = self::SORT_ORDER_DESC)
+ {
+ }
+ /**
+ * Sets order and direction.
+ *
+ * @param string $field
+ * @param string $direction
+ *
+ * @return $this
+ */
+ public function addOrder($field, $direction = self::SORT_ORDER_DESC)
+ {
+ }
+ /**
+ * Add select order to the beginning
+ *
+ * @param string $field
+ * @param string $direction
+ *
+ * @return $this
+ */
+ public function unshiftOrder($field, $direction = self::SORT_ORDER_DESC)
+ {
+ }
+ /**
+ * Render sql select conditions
+ *
+ * @return $this
+ */
+ protected function _renderFilters()
+ {
+ }
+ /**
+ * Hook for operations before rendering filters
+ *
+ * @return void
+ * phpcs:disable Magento2.CodeAnalysis.EmptyBlock
+ */
+ protected function _renderFiltersBefore()
+ {
+ }
+ // phpcs:enable
+ /**
+ * Add field filter to collection
+ *
+ * @see self::_getConditionSql for $condition
+ *
+ * @param string|array $field
+ * @param null|string|array $condition
+ *
+ * @return $this
+ */
+ public function addFieldToFilter($field, $condition = null)
+ {
+ }
+ /**
+ * Build sql where condition part
+ *
+ * @param string|array $field
+ * @param null|string|array $condition
+ *
+ * @return string
+ */
+ protected function _translateCondition($field, $condition)
+ {
+ }
+ /**
+ * Try to get mapped field name for filter to collection
+ *
+ * @param string $field
+ *
+ * @return string
+ */
+ protected function _getMappedField($field)
+ {
+ }
+ /**
+ * Retrieve mapper data
+ *
+ * @return array|bool|null
+ */
+ protected function _getMapper()
+ {
+ }
+ /**
+ * Build SQL statement for condition
+ *
+ * If $condition integer or string - exact value will be filtered ('eq' condition)
+ *
+ * If $condition is array - one of the following structures is expected:
+ * - array("from" => $fromValue, "to" => $toValue)
+ * - array("eq" => $equalValue)
+ * - array("neq" => $notEqualValue)
+ * - array("like" => $likeValue)
+ * - array("in" => array($inValues))
+ * - array("nin" => array($notInValues))
+ * - array("notnull" => $valueIsNotNull)
+ * - array("null" => $valueIsNull)
+ * - array("moreq" => $moreOrEqualValue)
+ * - array("gt" => $greaterValue)
+ * - array("lt" => $lessValue)
+ * - array("gteq" => $greaterOrEqualValue)
+ * - array("lteq" => $lessOrEqualValue)
+ * - array("finset" => $valueInSet)
+ * - array("regexp" => $regularExpression)
+ * - array("seq" => $stringValue)
+ * - array("sneq" => $stringValue)
+ *
+ * If non matched - sequential array is expected and OR conditions
+ * will be built using above mentioned structure
+ *
+ * @param string $fieldName
+ * @param integer|string|array $condition
+ *
+ * @return string
+ */
+ protected function _getConditionSql($fieldName, $condition)
+ {
+ }
+ /**
+ * Return the field name for the condition.
+ *
+ * @param string $fieldName
+ *
+ * @return string
+ */
+ protected function _getConditionFieldName($fieldName)
+ {
+ }
+ /**
+ * Render sql select orders
+ *
+ * @return $this
+ */
+ protected function _renderOrders()
+ {
+ }
+ /**
+ * Render sql select limit
+ *
+ * @return $this
+ */
+ protected function _renderLimit()
+ {
+ }
+ /**
+ * Set select distinct
+ *
+ * @param bool $flag
+ *
+ * @return $this
+ */
+ public function distinct($flag)
+ {
+ }
+ /**
+ * Before load action
+ *
+ * @return $this
+ */
+ protected function _beforeLoad()
+ {
+ }
+ /**
+ * Load data
+ *
+ * @param bool $printQuery
+ * @param bool $logQuery
+ *
+ * @return $this
+ */
+ public function load($printQuery = false, $logQuery = false)
+ {
+ }
+ /**
+ * Load data with filter in place
+ *
+ * @param bool $printQuery
+ * @param bool $logQuery
+ *
+ * @return $this
+ */
+ public function loadWithFilter($printQuery = false, $logQuery = false)
+ {
+ }
+ /**
+ * Let do something before add loaded item in collection
+ *
+ * @param \Magento\Framework\DataObject $item
+ *
+ * @return \Magento\Framework\DataObject
+ */
+ protected function beforeAddLoadedItem(\Magento\Framework\DataObject $item)
+ {
+ }
+ /**
+ * Returns an items collection.
+ * Returns a collection item that corresponds to the fetched row
+ * and moves the internal data pointer ahead
+ *
+ * @return \Magento\Framework\Model\AbstractModel|bool
+ */
+ public function fetchItem()
+ {
+ }
+ /**
+ * Overridden to use _idFieldName by default.
+ *
+ * @param string|null $valueField
+ * @param string $labelField
+ * @param array $additional
+ *
+ * @return array
+ */
+ protected function _toOptionArray($valueField = null, $labelField = 'name', $additional = [])
+ {
+ }
+ /**
+ * Overridden to use _idFieldName by default.
+ *
+ * @param string $valueField
+ * @param string $labelField
+ *
+ * @return array
+ */
+ protected function _toOptionHash($valueField = null, $labelField = 'name')
+ {
+ }
+ /**
+ * Get all data array for collection
+ *
+ * @return array
+ */
+ public function getData()
+ {
+ }
+ /**
+ * Process loaded collection data
+ *
+ * @return $this
+ */
+ protected function _afterLoadData()
+ {
+ }
+ /**
+ * Reset loaded for collection data array
+ *
+ * @return $this
+ */
+ public function resetData()
+ {
+ }
+ /**
+ * Process loaded collection
+ *
+ * @return $this
+ */
+ protected function _afterLoad()
+ {
+ }
+ /**
+ * Load the data.
+ *
+ * @param bool $printQuery
+ * @param bool $logQuery
+ *
+ * @return $this
+ */
+ public function loadData($printQuery = false, $logQuery = false)
+ {
+ }
+ /**
+ * Print and/or log query
+ *
+ * @param bool $printQuery
+ * @param bool $logQuery
+ * @param string $sql
+ *
+ * @return $this
+ */
+ public function printLogQuery($printQuery = false, $logQuery = false, $sql = null)
+ {
+ }
+ /**
+ * Log query
+ *
+ * @param string $sql
+ *
+ * @return void
+ */
+ protected function _logQuery($sql)
+ {
+ }
+ /**
+ * Reset collection
+ *
+ * @return $this
+ */
+ protected function _reset()
+ {
+ }
+ /**
+ * Fetch collection data
+ *
+ * @param Select $select
+ *
+ * @return array
+ */
+ protected function _fetchAll(\Magento\Framework\DB\Select $select)
+ {
+ }
+ /**
+ * Add filter to Map
+ *
+ * @param string $filter
+ * @param string $alias
+ * @param string $group Default: 'fields'.
+ *
+ * @return $this
+ */
+ public function addFilterToMap($filter, $alias, $group = 'fields')
+ {
+ }
+ /**
+ * Clone $this->_select during cloning collection, otherwise both collections will share the same $this->_select
+ *
+ * @return void
+ */
+ public function __clone()
+ {
+ }
+ /**
+ * Init select
+ *
+ * @return void
+ * phpcs:disable Magento2.CodeAnalysis.EmptyBlock
+ */
+ protected function _initSelect()
+ {
+ }
+ // phpcs:enable
+ /**
+ * Join extension attribute.
+ *
+ * @param JoinDataInterface $join
+ * @param JoinProcessorInterface $extensionAttributesJoinProcessor
+ *
+ * @return $this
+ */
+ public function joinExtensionAttribute(\Magento\Framework\Api\ExtensionAttribute\JoinDataInterface $join, \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface $extensionAttributesJoinProcessor)
+ {
+ }
+ /**
+ * Get collection item object class name.
+ *
+ * @return string
+ */
+ public function getItemObjectClass()
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 100.0.11
+ */
+ public function __sleep()
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 100.0.11
+ */
+ public function __wakeup()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Test\Unit\Collection {
+ /**
+ * Concrete implementation of abstract collection, created for abstract collection testing purposes.
+ */
+ class DbCollection extends \Magento\Framework\Data\Collection\AbstractDb
+ {
+ /**
+ * Set DB resource for testing purposes.
+ *
+ * @param \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource
+ * @return $this
+ */
+ public function setResource(\Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource)
+ {
+ }
+ /**
+ * Get resource instance.
+ *
+ * @return \Magento\Framework\Model\ResourceModel\Db\AbstractDb
+ */
+ public function getResource()
+ {
+ }
+ }
+ class FilesystemTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param $field
+ * @param $filterValue
+ * @param $row
+ * @param $expected
+ *
+ * @dataProvider testFilterCallbackLikeDataProvider
+ */
+ public function testFilterCallbackLike($field, $filterValue, $row, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function testFilterCallbackLikeDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Wysiwyg {
+ /**
+ * Normalize widget content in Wysiwyg editor
+ */
+ class Normalizer
+ {
+ public const WYSIWYG_RESERVED_CHARACTERS_REPLACEMENT_MAP = ['{' => '^[', '}' => '^]', '"' => '`', '\\' => '|', '<' => '^(', '>' => '^)'];
+ /**
+ * Replace the reserved characters in the content
+ *
+ * @param string $content
+ * @return string
+ */
+ public function replaceReservedCharacters($content)
+ {
+ }
+ /**
+ * Restore the reserved characters in the content
+ *
+ * @param string $content
+ * @return string
+ */
+ public function restoreReservedCharacters($content)
+ {
+ }
+ }
+ /**
+ * Interface ConfigProviderInterface
+ * @api
+ * @since 102.0.0
+ */
+ interface ConfigProviderInterface
+ {
+ /**
+ * @param \Magento\Framework\DataObject $config
+ * @return \Magento\Framework\DataObject
+ * @since 102.0.0
+ */
+ public function getConfig(\Magento\Framework\DataObject $config) : \Magento\Framework\DataObject;
+ }
+}
+namespace Magento\Framework\Data\Helper {
+ class PostHelper extends \Magento\Framework\App\Helper\AbstractHelper
+ {
+ /**
+ * @param Context $context
+ * @param UrlHelper $urlHelper
+ */
+ public function __construct(\Magento\Framework\App\Helper\Context $context, \Magento\Framework\Url\Helper\Data $urlHelper)
+ {
+ }
+ /**
+ * get data for post by javascript in format acceptable to $.mage.dataPost widget
+ *
+ * @param string $url
+ * @param array $data
+ * @return string
+ */
+ public function getPostData($url, array $data = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data {
+ /**
+ * Factory class for @see \Magento\Framework\Data\Tree
+ *
+ * @api
+ */
+ class TreeFactory
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager = null;
+ /**
+ * Instance name to create
+ *
+ * @var string
+ */
+ protected $instanceName = null;
+ /**
+ * Factory constructor
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Data\Tree::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return \Magento\Framework\Data\Tree
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ class SearchResultIterator implements \Iterator
+ {
+ /**
+ * @var SearchResultInterface
+ */
+ protected $searchResult;
+ /**
+ * @var QueryInterface
+ */
+ protected $query;
+ /**
+ * @var array
+ */
+ protected $current;
+ /**
+ * @var int
+ */
+ protected $key = 0;
+ /**
+ * @param AbstractSearchResult $searchResult
+ * @param QueryInterface $query
+ */
+ public function __construct(\Magento\Framework\Data\AbstractSearchResult $searchResult, \Magento\Framework\DB\QueryInterface $query)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ #[\ReturnTypeWillChange]
+ public function current()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ #[\ReturnTypeWillChange]
+ public function next()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ #[\ReturnTypeWillChange]
+ public function key()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ #[\ReturnTypeWillChange]
+ public function valid()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ #[\ReturnTypeWillChange]
+ public function rewind()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Tree {
+ /**
+ * Data DB tree
+ *
+ * Data model:
+ * id | pid | level | order
+ *
+ * @author Magento Core Team
+ */
+ class Db extends \Magento\Framework\Data\Tree
+ {
+ const ID_FIELD = 'id';
+ const PARENT_FIELD = 'parent';
+ const LEVEL_FIELD = 'level';
+ const ORDER_FIELD = 'order';
+ /**
+ * DB connection
+ *
+ * @var \Magento\Framework\DB\Adapter\AdapterInterface
+ */
+ protected $_conn;
+ /**
+ * Data table name
+ *
+ * @var string
+ */
+ protected $_table;
+ /**
+ * SQL select object
+ *
+ * @var \Magento\Framework\DB\Select
+ */
+ protected $_select;
+ /**
+ * Tree structure field name: _idField
+ *
+ * @var string
+ */
+ protected $_idField;
+ /**
+ * Tree structure field name: _parentField
+ *
+ * @var string
+ */
+ protected $_parentField;
+ /**
+ * Tree structure field name: _levelField
+ *
+ * @var string
+ */
+ protected $_levelField;
+ /**
+ * Tree structure field name: _orderField
+ *
+ * @var string
+ */
+ protected $_orderField;
+ /**
+ * Db tree constructor
+ *
+ * $fields = array(
+ * \Magento\Framework\Data\Tree\Db::ID_FIELD => string,
+ * \Magento\Framework\Data\Tree\Db::PARENT_FIELD => string,
+ * \Magento\Framework\Data\Tree\Db::LEVEL_FIELD => string
+ * \Magento\Framework\Data\Tree\Db::ORDER_FIELD => string
+ * )
+ *
+ * @param \Magento\Framework\DB\Adapter\AdapterInterface $connection
+ * @param string $table
+ * @param array $fields
+ * @throws \Exception
+ */
+ public function __construct(\Magento\Framework\DB\Adapter\AdapterInterface $connection, $table, $fields)
+ {
+ }
+ /**
+ * @return \Magento\Framework\DB\Select
+ */
+ public function getDbSelect()
+ {
+ }
+ /**
+ * @param \Magento\Framework\DB\Select $select
+ * @return void
+ */
+ public function setDbSelect($select)
+ {
+ }
+ /**
+ * Load tree
+ *
+ * @param int|Node $parentNode
+ * @param int $recursionLevel recursion level
+ * @return $this
+ * @throws \Exception
+ */
+ public function load($parentNode = null, $recursionLevel = 100)
+ {
+ }
+ /**
+ * @param mixed $nodeId
+ * @return Node
+ */
+ public function loadNode($nodeId)
+ {
+ }
+ /**
+ * @param Node $data
+ * @param Node $parentNode
+ * @param Node $prevNode
+ * @return Node
+ */
+ public function appendChild($data, $parentNode, $prevNode = null)
+ {
+ }
+ /**
+ * Move tree node
+ *
+ * @param Node $node
+ * @param Node $parentNode
+ * @param Node $prevNode
+ * @return void
+ * @throws \Exception
+ */
+ public function moveNodeTo($node, $parentNode, $prevNode = null)
+ {
+ }
+ /**
+ * @param mixed $parentId
+ * @param int $parentLevel
+ * @return $this
+ */
+ protected function _updateChildLevels($parentId, $parentLevel)
+ {
+ }
+ /**
+ * @return $this
+ */
+ protected function _loadFullTree()
+ {
+ }
+ /**
+ * @param Node $node
+ * @return $this
+ * @throws \Exception
+ */
+ public function removeNode($node)
+ {
+ }
+ }
+ /**
+ * Factory class for @see \Magento\Framework\Data\Tree\Node
+ *
+ * @api
+ */
+ class NodeFactory
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Instance name to create
+ *
+ * @var string
+ */
+ protected $instanceName;
+ /**
+ * Factory constructor
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Data\Tree\Node::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return \Magento\Framework\Data\Tree\Node
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Tree\Node {
+ /**
+ * Tree node collection
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Collection implements \ArrayAccess, \IteratorAggregate, \Countable
+ {
+ /**
+ * @param Node $container
+ */
+ public function __construct($container)
+ {
+ }
+ /**
+ * Get the nodes
+ *
+ * @return array
+ */
+ public function getNodes()
+ {
+ }
+ /**
+ * Implementation of \IteratorAggregate::getIterator()
+ *
+ * @return \ArrayIterator
+ */
+ #[\ReturnTypeWillChange]
+ public function getIterator()
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess:offsetSet()
+ *
+ * @param string $key
+ * @param mixed $value
+ * @return void
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetSet($key, $value)
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess:offsetGet()
+ *
+ * @param string $key
+ * @return mixed
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetGet($key)
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess:offsetUnset()
+ *
+ * @param string $key
+ * @return void
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetUnset($key)
+ {
+ }
+ /**
+ * Implementation of \ArrayAccess:offsetExists()
+ *
+ * @param string $key
+ * @return bool
+ */
+ #[\ReturnTypeWillChange]
+ public function offsetExists($key)
+ {
+ }
+ /**
+ * Adds a node to this node
+ *
+ * @param Node $node
+ * @return Node
+ */
+ public function add(\Magento\Framework\Data\Tree\Node $node)
+ {
+ }
+ /**
+ * Delete
+ *
+ * @param Node $node
+ * @return $this
+ */
+ public function delete($node)
+ {
+ }
+ /**
+ * Return count
+ *
+ * @return int
+ */
+ #[\ReturnTypeWillChange]
+ public function count()
+ {
+ }
+ /**
+ * Return the last node
+ *
+ * @return mixed
+ */
+ public function lastNode()
+ {
+ }
+ /**
+ * Search by Id
+ *
+ * @param string $nodeId
+ * @return null
+ */
+ public function searchById($nodeId)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Tree {
+ /**
+ * Data DB tree
+ *
+ * Data model:
+ * id | path | order
+ *
+ * @author Magento Core Team
+ */
+ class Dbp extends \Magento\Framework\Data\Tree
+ {
+ public const ID_FIELD = 'id';
+ public const PATH_FIELD = 'path';
+ public const ORDER_FIELD = 'order';
+ public const LEVEL_FIELD = 'level';
+ /**
+ * DB connection
+ *
+ * @var \Magento\Framework\DB\Adapter\AdapterInterface
+ */
+ protected $_conn;
+ /**
+ * Data table name
+ *
+ * @var string
+ */
+ protected $_table;
+ /**
+ * Indicates if loaded
+ *
+ * @var bool
+ */
+ protected $_loaded = false;
+ /**
+ * SQL select object
+ *
+ * @var \Magento\Framework\DB\Select
+ */
+ protected $_select;
+ /**
+ * Tree structure field: id
+ *
+ * @var string
+ */
+ protected $_idField;
+ /**
+ * Tree structure field: path
+ *
+ * @var string
+ */
+ protected $_pathField;
+ /**
+ * Tree structure field: order
+ *
+ * @var string
+ */
+ protected $_orderField;
+ /**
+ * Tree structure field: level
+ *
+ * @var string
+ */
+ protected $_levelField;
+ /**
+ * Db tree constructor
+ *
+ * $fields = array(
+ * \Magento\Framework\Data\Tree\Dbp::ID_FIELD => string,
+ * \Magento\Framework\Data\Tree\Dbp::PATH_FIELD => string,
+ * \Magento\Framework\Data\Tree\Dbp::ORDER_FIELD => string
+ * \Magento\Framework\Data\Tree\Dbp::LEVEL_FIELD => string
+ * )
+ *
+ * @param \Magento\Framework\DB\Adapter\AdapterInterface $connection
+ * @param string $table
+ * @param array $fields
+ * @throws \Exception
+ */
+ public function __construct(\Magento\Framework\DB\Adapter\AdapterInterface $connection, $table, $fields)
+ {
+ }
+ /**
+ * Retrieve current select object
+ *
+ * @return Select
+ */
+ public function getDbSelect()
+ {
+ }
+ /**
+ * Set Select object
+ *
+ * @param Select $select
+ * @return void
+ */
+ public function setDbSelect($select)
+ {
+ }
+ /**
+ * Load tree
+ *
+ * @param int|Node|string $parentNode
+ * @param int $recursionLevel
+ * @return $this
+ */
+ public function load($parentNode = null, $recursionLevel = 0)
+ {
+ }
+ /**
+ * Add child nodes
+ *
+ * @param array $children
+ * @param string $path
+ * @param Node $parentNode
+ * @param int $level
+ * @return void
+ */
+ public function addChildNodes($children, $path, $parentNode, $level = 0)
+ {
+ }
+ /**
+ * Load node
+ *
+ * @param int|string $nodeId
+ * @return Node
+ */
+ public function loadNode($nodeId)
+ {
+ }
+ /**
+ * Get children
+ *
+ * @param Node $node
+ * @param bool $recursive
+ * @param array $result
+ * @return array
+ */
+ public function getChildren($node, $recursive = true, $result = [])
+ {
+ }
+ /**
+ * Move tree node
+ *
+ * @param Node $node
+ * @param Node $newParent
+ * @param Node $prevNode
+ * @return void
+ * @throws \Exception
+ * @todo Use adapter for generate conditions
+ */
+ public function move($node, $newParent, $prevNode = null)
+ {
+ }
+ /**
+ * Load ensured nodes
+ *
+ * @param object $category
+ * @param Node $rootNode
+ * @return void
+ */
+ public function loadEnsuredNodes($category, $rootNode)
+ {
+ }
+ /**
+ * Add child nodes
+ *
+ * @param array $children
+ * @param string $path
+ * @param Node $parentNode
+ * @param bool $withChildren
+ * @param int $level
+ * @return void
+ */
+ protected function _addChildNodes($children, $path, $parentNode, $withChildren = false, $level = 0)
+ {
+ }
+ }
+ /**
+ * Data tree node
+ *
+ * @api
+ * @author Magento Core Team
+ * @since 100.0.2
+ */
+ class Node extends \Magento\Framework\DataObject
+ {
+ /**
+ * Parent node
+ *
+ * @var Node
+ */
+ protected $_parent;
+ /**
+ * Main tree object
+ *
+ * @var Tree
+ */
+ protected $_tree;
+ /**
+ * Child nodes
+ *
+ * @var Collection
+ */
+ protected $_childNodes;
+ /**
+ * Node ID field name
+ *
+ * @var string
+ */
+ protected $_idField;
+ /**
+ * Data tree node constructor
+ *
+ * @param array $data
+ * @param string $idField
+ * @param Tree $tree
+ * @param Node $parent
+ */
+ public function __construct($data, $idField, $tree, $parent = null)
+ {
+ }
+ /**
+ * Retrieve node id
+ *
+ * @return mixed
+ */
+ public function getId()
+ {
+ }
+ /**
+ * Set node id field name
+ *
+ * @param string $idField
+ * @return $this
+ */
+ public function setIdField($idField)
+ {
+ }
+ /**
+ * Retrieve node id field name
+ *
+ * @return string
+ */
+ public function getIdField()
+ {
+ }
+ /**
+ * Set node tree object
+ *
+ * @param Tree $tree
+ * @return $this
+ */
+ public function setTree(\Magento\Framework\Data\Tree $tree)
+ {
+ }
+ /**
+ * Retrieve node tree object
+ *
+ * @return Tree
+ */
+ public function getTree()
+ {
+ }
+ /**
+ * Set node parent
+ *
+ * @param Node $parent
+ * @return $this
+ */
+ public function setParent($parent)
+ {
+ }
+ /**
+ * Retrieve node parent
+ *
+ * @return Tree
+ */
+ public function getParent()
+ {
+ }
+ /**
+ * Check node children
+ *
+ * @return bool
+ */
+ public function hasChildren()
+ {
+ }
+ /**
+ * @param mixed $level
+ * @return $this
+ */
+ public function setLevel($level)
+ {
+ }
+ /**
+ * @param mixed $path
+ * @return $this
+ */
+ public function setPathId($path)
+ {
+ }
+ /**
+ * @param Node $node
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function isChildOf($node)
+ {
+ }
+ /**
+ * Load node children
+ *
+ * @param int $recursionLevel
+ * @return \Magento\Framework\Data\Tree\Node
+ */
+ public function loadChildren($recursionLevel = 0)
+ {
+ }
+ /**
+ * Retrieve node children collection
+ *
+ * @return Collection
+ */
+ public function getChildren()
+ {
+ }
+ /**
+ * @param array $nodes
+ * @return array
+ */
+ public function getAllChildNodes(&$nodes = [])
+ {
+ }
+ /**
+ * @return mixed
+ */
+ public function getLastChild()
+ {
+ }
+ /**
+ * Add child node
+ *
+ * @param Node $node
+ * @return Node
+ */
+ public function addChild($node)
+ {
+ }
+ /**
+ * @param Node $prevNode
+ * @return $this
+ */
+ public function appendChild($prevNode = null)
+ {
+ }
+ /**
+ * @param Node $parentNode
+ * @param Node $prevNode
+ * @return $this
+ */
+ public function moveTo($parentNode, $prevNode = null)
+ {
+ }
+ /**
+ * @param Node $parentNode
+ * @param Node $prevNode
+ * @return $this
+ */
+ public function copyTo($parentNode, $prevNode = null)
+ {
+ }
+ /**
+ * @param Node $childNode
+ * @return $this
+ */
+ public function removeChild($childNode)
+ {
+ }
+ /**
+ * @param array $prevNodes
+ * @return array
+ */
+ public function getPath(&$prevNodes = [])
+ {
+ }
+ /**
+ * @return mixed
+ */
+ public function getIsActive()
+ {
+ }
+ /**
+ * @return mixed
+ */
+ public function getName()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Collection\Db {
+ /**
+ * Interface \Magento\Framework\Data\Collection\Db\FetchStrategyInterface
+ *
+ * @api
+ */
+ interface FetchStrategyInterface
+ {
+ /**
+ * Retrieve all records
+ *
+ * @param Select $select
+ * @param array $bindParams
+ * @return array
+ */
+ public function fetchAll(\Magento\Framework\DB\Select $select, array $bindParams = []);
+ }
+}
+namespace Magento\Framework\Data\Collection\Db\FetchStrategy {
+ class Query implements \Magento\Framework\Data\Collection\Db\FetchStrategyInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public function fetchAll(\Magento\Framework\DB\Select $select, array $bindParams = [])
+ {
+ }
+ }
+ /**
+ * Retrieve collection data from cache, fail over to another fetch strategy, if cache does not exist yet
+ */
+ class Cache implements \Magento\Framework\Data\Collection\Db\FetchStrategyInterface
+ {
+ /**
+ * @var string
+ */
+ protected $_cacheIdPrefix = '';
+ /**
+ * @var array
+ */
+ protected $_cacheTags = [];
+ /**
+ * @var int|bool|null
+ */
+ protected $_cacheLifetime = null;
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\Cache\FrontendInterface $cache
+ * @param \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
+ * @param string $cacheIdPrefix
+ * @param array $cacheTags
+ * @param int|bool|null $cacheLifetime
+ * @param SerializerInterface|null $serializer
+ */
+ public function __construct(\Magento\Framework\Cache\FrontendInterface $cache, \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, $cacheIdPrefix = '', array $cacheTags = [], $cacheLifetime = null, \Magento\Framework\Serialize\SerializerInterface $serializer = null)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function fetchAll(\Magento\Framework\DB\Select $select, array $bindParams = [])
+ {
+ }
+ /**
+ * Determine cache identifier based on select query
+ *
+ * @param \Magento\Framework\DB\Select|string $select
+ * @return string
+ */
+ protected function _getSelectCacheId($select)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data\Collection {
+ /**
+ * Filesystem items collection
+ *
+ * Can scan a folder for files and/or folders recursively.
+ * Creates \Magento\Framework\DataObject instance for each item, with its filename and base name
+ *
+ * Supports regexp masks that are applied to files and folders base names.
+ * These masks apply before adding items to collection, during filesystem scanning
+ *
+ * Supports dirsFirst feature, that will make directories be before files, regardless of sorting column.
+ *
+ * Supports some fancy filters.
+ *
+ * At least one target directory must be set
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Filesystem extends \Magento\Framework\Data\Collection
+ {
+ /**
+ * Target directory.
+ *
+ * @var string
+ */
+ protected $_targetDirs = [];
+ /**
+ * Whether to collect files.
+ *
+ * @var bool
+ */
+ protected $_collectFiles = true;
+ /**
+ * Whether to collect directories before files.
+ *
+ * @var bool
+ */
+ protected $_dirsFirst = true;
+ /**
+ * Whether to collect recursively.
+ *
+ * @var bool
+ */
+ protected $_collectRecursively = true;
+ /**
+ * Whether to collect dirs.
+ *
+ * @var bool
+ */
+ protected $_collectDirs = false;
+ /**
+ * \Directory names regex pre-filter.
+ *
+ * @var string
+ */
+ protected $_allowedDirsMask = '/^[a-z0-9\\.\\-\\_]+$/i';
+ /**
+ * Filenames regex pre-filter.
+ *
+ * @var string
+ */
+ protected $_allowedFilesMask = '/^[a-z0-9\\.\\-\\_]+\\.[a-z0-9]+$/i';
+ /**
+ * Disallowed filenames regex pre-filter match for better versatility.
+ *
+ * @var string
+ */
+ protected $_disallowedFilesMask = '';
+ /**
+ * Collecting items helper variable.
+ *
+ * @var array
+ */
+ protected $_collectedDirs = [];
+ /**
+ * Collecting items helper variable.
+ *
+ * @var array
+ */
+ protected $_collectedFiles = [];
+ /**
+ * @param EntityFactoryInterface|null $_entityFactory
+ * @param \Magento\Framework\Filesystem $filesystem
+ */
+ public function __construct(\Magento\Framework\Data\Collection\EntityFactoryInterface $_entityFactory = null, \Magento\Framework\Filesystem $filesystem = null)
+ {
+ }
+ /**
+ * Allowed dirs mask setter. Set empty to not filter.
+ *
+ * @param string $regex
+ * @return $this
+ */
+ public function setDirsFilter($regex)
+ {
+ }
+ /**
+ * Allowed files mask setter. Set empty to not filter.
+ *
+ * @param string $regex
+ * @return $this
+ */
+ public function setFilesFilter($regex)
+ {
+ }
+ /**
+ * Disallowed files mask setter. Set empty value to not use this filter.
+ *
+ * @param string $regex
+ * @return $this
+ */
+ public function setDisallowedFilesFilter($regex)
+ {
+ }
+ /**
+ * Set whether to collect dirs.
+ *
+ * @param bool $value
+ * @return $this
+ */
+ public function setCollectDirs($value)
+ {
+ }
+ /**
+ * Set whether to collect files.
+ *
+ * @param bool $value
+ * @return $this
+ */
+ public function setCollectFiles($value)
+ {
+ }
+ /**
+ * Set whether to collect recursively.
+ *
+ * @param bool $value
+ * @return $this
+ */
+ public function setCollectRecursively($value)
+ {
+ }
+ /**
+ * Target directory setter. Adds directory to be scanned.
+ *
+ * @param string $value
+ * @return $this
+ * @throws \Exception
+ */
+ public function addTargetDir($value)
+ {
+ }
+ /**
+ * Set whether to collect directories before files. Works *before* sorting.
+ *
+ * @param bool $value
+ * @return $this
+ */
+ public function setDirsFirst($value)
+ {
+ }
+ /**
+ * Get files from specified directory recursively (if needed).
+ *
+ * @param string|array $dir
+ * @return void
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * @throws FileSystemException
+ */
+ protected function _collectRecursive($dir)
+ {
+ }
+ /**
+ * Launch data collecting.
+ *
+ * @param bool $printQuery
+ * @param bool $logQuery
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ * @throws \Exception
+ */
+ public function loadData($printQuery = false, $logQuery = false)
+ {
+ }
+ /**
+ * Callback for sorting items. Currently supports only sorting by one column.
+ *
+ * @param array $a
+ * @param array $b
+ * @return int|void
+ */
+ protected function _usort($a, $b)
+ {
+ }
+ /**
+ * Set select order. Currently supports only sorting by one column.
+ *
+ * @param string $field
+ * @param string $direction
+ * @return Collection
+ */
+ public function setOrder($field, $direction = self::SORT_ORDER_DESC)
+ {
+ }
+ /**
+ * Generate item row basing on the filename.
+ *
+ * @param string $filename
+ * @return array
+ */
+ protected function _generateRow($filename)
+ {
+ }
+ /**
+ * Set a custom filter with callback
+ * The callback must take 3 params:
+ * string $field - field key,
+ * mixed $filterValue - value to filter by,
+ * array $row - a generated row (before generating varien objects)
+ *
+ * @param string $field
+ * @param mixed $value
+ * @param string $type 'and'|'or'
+ * @param callable $callback
+ * @param bool $isInverted
+ * @return $this
+ */
+ public function addCallbackFilter($field, $value, $type, $callback, $isInverted = false)
+ {
+ }
+ /**
+ * The filters renderer and caller. Applies to each row, renders once.
+ *
+ * @param array $row
+ * @return bool
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function _filterRow($row)
+ {
+ }
+ /**
+ * Invokes specified callback. Skips, if there is no filtered key in the row.
+ *
+ * @param callable $callback
+ * @param array $callbackParams
+ * @return bool
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ protected function _invokeFilter($callback, $callbackParams)
+ {
+ }
+ /**
+ * Fancy field filter.
+ *
+ * @param string $field
+ * @param mixed $cond
+ * @param string $type 'and' | 'or'
+ * @see Db::addFieldToFilter()
+ * @return $this
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ */
+ public function addFieldToFilter($field, $cond, $type = 'and')
+ {
+ }
+ /**
+ * Prepare a bracket into filters.
+ *
+ * @param string $bracket
+ * @param bool $isAnd
+ * @return $this
+ */
+ protected function _addFilterBracket($bracket = '(', $isAnd = true)
+ {
+ }
+ /**
+ * Render condition sign before element, if required.
+ *
+ * @param int $increment
+ * @param bool $isAnd
+ * @return string
+ */
+ protected function _renderConditionBeforeFilterElement($increment, $isAnd)
+ {
+ }
+ /**
+ * Does nothing. Intentionally disabled parent method.
+ *
+ * @param string $field
+ * @param string $value
+ * @param string $type
+ * @return $this
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function addFilter($field, $value, $type = 'and')
+ {
+ }
+ /**
+ * Get all ids of collected items.
+ *
+ * @return array
+ */
+ public function getAllIds()
+ {
+ }
+ /**
+ * Callback method for 'like' fancy filter.
+ *
+ * @param string $field
+ * @param mixed $filterValue
+ * @param array $row
+ * @return bool
+ * @see addFieldToFilter()
+ * @see addCallbackFilter()
+ */
+ public function filterCallbackLike($field, $filterValue, $row)
+ {
+ }
+ /**
+ * Callback method for 'eq' fancy filter.
+ *
+ * @param string $field
+ * @param mixed $filterValue
+ * @param array $row
+ * @return bool
+ * @see addFieldToFilter()
+ * @see addCallbackFilter()
+ */
+ public function filterCallbackEq($field, $filterValue, $row)
+ {
+ }
+ /**
+ * Callback method for 'in' fancy filter.
+ *
+ * @param string $field
+ * @param mixed $filterValue
+ * @param array $row
+ * @return bool
+ * @see addFieldToFilter()
+ * @see addCallbackFilter()
+ */
+ public function filterCallbackInArray($field, $filterValue, $row)
+ {
+ }
+ /**
+ * Callback method for 'isnull' fancy filter.
+ *
+ * @param string $field
+ * @param mixed $filterValue
+ * @param array $row
+ * @return bool
+ * @see addFieldToFilter()
+ * @see addCallbackFilter()
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function filterCallbackIsNull($field, $filterValue, $row)
+ {
+ }
+ /**
+ * Callback method for 'moreq' fancy filter.
+ *
+ * @param string $field
+ * @param mixed $filterValue
+ * @param array $row
+ * @return bool
+ * @see addFieldToFilter()
+ * @see addCallbackFilter()
+ */
+ public function filterCallbackIsMoreThan($field, $filterValue, $row)
+ {
+ }
+ /**
+ * Callback method for 'lteq' fancy filter.
+ *
+ * @param string $field
+ * @param mixed $filterValue
+ * @param array $row
+ * @return bool
+ * @see addFieldToFilter()
+ * @see addCallbackFilter()
+ */
+ public function filterCallbackIsLessThan($field, $filterValue, $row)
+ {
+ }
+ }
+ /**
+ * Interface \Magento\Framework\Data\Collection\EntityFactoryInterface
+ *
+ * @api
+ */
+ interface EntityFactoryInterface
+ {
+ /**
+ * Create new object instance
+ *
+ * @param string $type
+ * @param array $arguments
+ * @return mixed
+ */
+ public function create($type, array $arguments = []);
+ }
+ class EntityFactory implements \Magento\Framework\Data\Collection\EntityFactoryInterface
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager = null;
+ /**
+ * Factory constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param string $className
+ * @param array $data
+ * @throws \LogicException
+ * @return \Magento\Framework\DataObject
+ */
+ public function create($className, array $data = [])
+ {
+ }
+ }
+ /**
+ * Model object factory
+ */
+ class ModelFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create new model object
+ *
+ * @param string $model
+ * @param array $data
+ * @throws \InvalidArgumentException
+ * @return \Magento\Framework\Model\AbstractModel
+ */
+ public function create($model, array $data = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Data {
+ /**
+ * Interface ValueSourceInterface
+ *
+ * @api
+ */
+ interface ValueSourceInterface
+ {
+ /**
+ * Get value by name
+ *
+ * @param string $name
+ * @return mixed
+ */
+ public function getValue($name);
+ }
+}
+namespace Magento\Framework\Notification {
+ /**
+ * Interface for system messages
+ *
+ * Interface MessageInterface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface MessageInterface
+ {
+ const SEVERITY_CRITICAL = 1;
+ const SEVERITY_MAJOR = 2;
+ const SEVERITY_MINOR = 3;
+ const SEVERITY_NOTICE = 4;
+ /**
+ * Retrieve unique message identity
+ *
+ * @return string
+ */
+ public function getIdentity();
+ /**
+ * Check whether
+ *
+ * @return bool
+ */
+ public function isDisplayed();
+ /**
+ * Retrieve message text
+ *
+ * @return string
+ */
+ public function getText();
+ /**
+ * Retrieve message severity
+ *
+ * @return int
+ */
+ public function getSeverity();
+ }
+}
+namespace Magento\Framework\Notification\Test\Unit {
+ class NotifierPoolTest extends \PHPUnit\Framework\TestCase
+ {
+ /** @var NotifierPool */
+ protected $notifierPool;
+ /** @var ObjectManagerHelper */
+ protected $objectManagerHelper;
+ /** @var NotifierList|MockObject */
+ protected $notifierList;
+ /**
+ * @var NotifierPool[]|MockObject[]
+ */
+ protected $notifiers;
+ protected function setUp() : void
+ {
+ }
+ public function testAdd()
+ {
+ }
+ public function testAddCritical()
+ {
+ }
+ public function testAddMajor()
+ {
+ }
+ public function testAddMinor()
+ {
+ }
+ public function testAddNotice()
+ {
+ }
+ }
+ class NotifierListTest extends \PHPUnit\Framework\TestCase
+ {
+ /** @var ObjectManagerHelper */
+ protected $objectManagerHelper;
+ /** @var ObjectManagerInterface|MockObject */
+ protected $objectManager;
+ protected function setUp() : void
+ {
+ }
+ public function testAsArraySuccess()
+ {
+ }
+ public function testAsArrayException()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Notification {
+ /**
+ * Interface for notifiers
+ *
+ * Interface NotifierInterface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface NotifierInterface
+ {
+ /**
+ * Add new message
+ *
+ * @param int $severity
+ * @param string $title
+ * @param string|string[] $description
+ * @param string $url
+ * @param bool $isInternal
+ * @throws \Magento\Framework\Exception\LocalizedException
+ * @return $this
+ */
+ public function add($severity, $title, $description, $url = '', $isInternal = true);
+ /**
+ * Add critical severity message
+ *
+ * @param string $title
+ * @param string|string[] $description
+ * @param string $url
+ * @param bool $isInternal
+ * @return $this
+ */
+ public function addCritical($title, $description, $url = '', $isInternal = true);
+ /**
+ * Add major severity message
+ *
+ * @param string $title
+ * @param string|string[] $description
+ * @param string $url
+ * @param bool $isInternal
+ * @return $this
+ */
+ public function addMajor($title, $description, $url = '', $isInternal = true);
+ /**
+ * Add minor severity message
+ *
+ * @param string $title
+ * @param string|string[] $description
+ * @param string $url
+ * @param bool $isInternal
+ * @return $this
+ */
+ public function addMinor($title, $description, $url = '', $isInternal = true);
+ /**
+ * Add notice
+ *
+ * @param string $title
+ * @param string|string[] $description
+ * @param string $url
+ * @param bool $isInternal
+ * @return $this
+ */
+ public function addNotice($title, $description, $url = '', $isInternal = true);
+ }
+ /**
+ * Default notifiers. Iterates through all registered notifiers to process message
+ *
+ * Class NotifierPool
+ */
+ class NotifierPool implements \Magento\Framework\Notification\NotifierInterface
+ {
+ /**
+ * @var NotifierList
+ */
+ protected $notifierList;
+ /**
+ * @param NotifierList $notifierList
+ */
+ public function __construct(\Magento\Framework\Notification\NotifierList $notifierList)
+ {
+ }
+ /**
+ * Add new message
+ *
+ * @param int $severity
+ * @param string $title
+ * @param string|string[] $description
+ * @param string $url
+ * @param bool $isInternal
+ * @throws \Magento\Framework\Exception\LocalizedException
+ * @return $this
+ */
+ public function add($severity, $title, $description, $url = '', $isInternal = true)
+ {
+ }
+ /**
+ * Add critical severity message
+ *
+ * @param string $title
+ * @param string|string[] $description
+ * @param string $url
+ * @param bool $isInternal
+ * @return $this
+ */
+ public function addCritical($title, $description, $url = '', $isInternal = true)
+ {
+ }
+ /**
+ * Add major severity message
+ *
+ * @param string $title
+ * @param string|string[] $description
+ * @param string $url
+ * @param bool $isInternal
+ * @return $this
+ */
+ public function addMajor($title, $description, $url = '', $isInternal = true)
+ {
+ }
+ /**
+ * Add minor severity message
+ *
+ * @param string $title
+ * @param string|string[] $description
+ * @param string $url
+ * @param bool $isInternal
+ * @return $this
+ */
+ public function addMinor($title, $description, $url = '', $isInternal = true)
+ {
+ }
+ /**
+ * Add notice
+ *
+ * @param string $title
+ * @param string|string[] $description
+ * @param string $url
+ * @param bool $isInternal
+ * @return $this
+ */
+ public function addNotice($title, $description, $url = '', $isInternal = true)
+ {
+ }
+ }
+ /**
+ * Class for processing the list of system messages
+ *
+ * Class MessageList
+ * @api
+ * @since 100.0.2
+ */
+ class MessageList
+ {
+ /**
+ * List of configured message classes
+ *
+ * @var array
+ */
+ protected $_messageClasses;
+ /**
+ * List of messages
+ *
+ * @var array
+ */
+ protected $_messages;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param array $messages
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $messages = [])
+ {
+ }
+ /**
+ * Load messages to display
+ *
+ * @return void
+ * @throws \InvalidArgumentException
+ * @throws \UnexpectedValueException
+ */
+ protected function _loadMessages()
+ {
+ }
+ /**
+ * Retrieve message by
+ *
+ * @param string $identity
+ * @return null|\Magento\Framework\Notification\MessageInterface
+ */
+ public function getMessageByIdentity($identity)
+ {
+ }
+ /**
+ * Retrieve list of all messages
+ *
+ * @return \Magento\Framework\Notification\MessageInterface[]
+ */
+ public function asArray()
+ {
+ }
+ }
+ /**
+ * List of registered system notifiers
+ * @api
+ *
+ * @since 100.0.2
+ */
+ class NotifierList
+ {
+ /**
+ * Object manager
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * List of notifiers
+ *
+ * @var NotifierInterface[]|string[]
+ */
+ protected $notifiers;
+ /**
+ * Whether the list of notifiers is verified (all notifiers should implement NotifierInterface interface)
+ *
+ * @var bool
+ */
+ protected $isNotifiersVerified;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param NotifierInterface[]|string[] $notifiers
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $notifiers = [])
+ {
+ }
+ /**
+ * Returning list of notifiers.
+ *
+ * @return NotifierInterface[]
+ * @throws \InvalidArgumentException
+ */
+ public function asArray()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Parse {
+ class Zip
+ {
+ /**
+ * Retrieve array of regions characterized by provided params
+ *
+ * @param string $state
+ * @param string $zip
+ * @return string[]
+ */
+ public static function parseRegions($state, $zip)
+ {
+ }
+ /**
+ * Retrieve array of regions characterized by provided zip code
+ *
+ * @param string $zip
+ * @return string[]
+ */
+ public static function parseZip($zip)
+ {
+ }
+ /**
+ * Convert a Magento zip range to an array of zip patterns
+ * (e.g., 12000-13999 -> [12*, 13*])
+ *
+ * @param string $zipRange
+ * @return array
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ */
+ public static function zipRangeToZipPattern($zipRange)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module {
+ /**
+ * Factory to create PackageInfo class
+ */
+ class PackageInfoFactory
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager = null;
+ /**
+ * Factory constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @return \Magento\Framework\Module\PackageInfo
+ */
+ public function create()
+ {
+ }
+ }
+ /**
+ * Checks for conflicts between modules
+ */
+ class ConflictChecker
+ {
+ /**
+ * Constructor
+ *
+ * @param ModuleList $list
+ * @param PackageInfoFactory $packageInfoFactory
+ */
+ public function __construct(\Magento\Framework\Module\ModuleList $list, \Magento\Framework\Module\PackageInfoFactory $packageInfoFactory)
+ {
+ }
+ /**
+ * Check if enabling module will conflict any modules
+ *
+ * @param string[] $moduleNames
+ * @param string[] $currentlyEnabledModules
+ *
+ * @return array
+ */
+ public function checkConflictsWhenEnableModules($moduleNames, $currentlyEnabledModules = null)
+ {
+ }
+ }
+ /**
+ * Interface \Magento\Framework\Module\ModuleListInterface
+ *
+ * @api
+ */
+ interface ModuleListInterface
+ {
+ /**
+ * Get list of all modules
+ *
+ * Returns an array where key is module name and value is an array with module meta-information
+ *
+ * @return array
+ */
+ public function getAll();
+ /**
+ * Get module declaration data
+ *
+ * Returns an array with meta-information about one module by specified name
+ *
+ * @param string $name
+ * @return array|null
+ */
+ public function getOne($name);
+ /**
+ * Enumerates the list of names of modules
+ *
+ * @return string[]
+ */
+ public function getNames();
+ /**
+ * Checks whether the specified module is present in the list
+ *
+ * @param string $name
+ * @return bool
+ */
+ public function has($name);
+ }
+ /**
+ * A list of modules in the Magento application
+ *
+ * Encapsulates information about whether modules are enabled or not.
+ * Represents only enabled modules through its interface
+ */
+ class ModuleList implements \Magento\Framework\Module\ModuleListInterface
+ {
+ /**
+ * Constructor
+ *
+ * @param DeploymentConfig $config
+ * @param ModuleList\Loader $loader
+ */
+ public function __construct(\Magento\Framework\App\DeploymentConfig $config, \Magento\Framework\Module\ModuleList\Loader $loader)
+ {
+ }
+ /**
+ * @inheritdoc
+ *
+ * Note that this triggers loading definitions of all existing modules in the system.
+ * Use this method only when you actually need modules' declared meta-information.
+ *
+ * @see getNames()
+ */
+ public function getAll()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getOne($name)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getNames()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function has($name)
+ {
+ }
+ /**
+ * Checks if module list information is available.
+ *
+ * @return bool
+ */
+ public function isModuleInfoAvailable()
+ {
+ }
+ /**
+ * Disable show internals with var_dump
+ *
+ * @see https://www.php.net/manual/en/language.oop5.magic.php#object.debuginfo
+ *
+ * @return array|null
+ */
+ public function __debugInfo() : ?array
+ {
+ }
+ }
+ /**
+ * Class DbVersionInfo
+ *
+ */
+ class DbVersionInfo
+ {
+ /**#@+
+ * Constants defined for keys of version info array
+ */
+ const KEY_MODULE = 'module';
+ const KEY_TYPE = 'type';
+ const KEY_CURRENT = 'current';
+ const KEY_REQUIRED = 'required';
+ /**
+ * @param ModuleListInterface $moduleList
+ * @param ResourceInterface $moduleResource
+ */
+ public function __construct(\Magento\Framework\Module\ModuleListInterface $moduleList, \Magento\Framework\Module\ResourceInterface $moduleResource)
+ {
+ }
+ /**
+ * Check if DB schema is up to date
+ *
+ * @param string $moduleName
+ * @return bool
+ */
+ public function isSchemaUpToDate($moduleName)
+ {
+ }
+ /**
+ * @param string $moduleName
+ * @return bool
+ */
+ public function isDataUpToDate($moduleName)
+ {
+ }
+ /**
+ * Get array of errors if DB is out of date, return [] if DB is current.
+ *
+ * @return string[] Array of errors, each error contains module name, current version, required version,
+ * and type (schema or data). The array will be empty if all schema and data are current.
+ */
+ public function getDbVersionErrors()
+ {
+ }
+ }
+ /**
+ * A service for controlling module status
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class Status
+ {
+ /**
+ * Constructor
+ *
+ * @param ModuleList\Loader $loader
+ * @param ModuleList $list
+ * @param Writer $writer
+ * @param ConflictChecker $conflictChecker
+ * @param DependencyChecker $dependencyChecker
+ */
+ public function __construct(\Magento\Framework\Module\ModuleList\Loader $loader, \Magento\Framework\Module\ModuleList $list, \Magento\Framework\App\DeploymentConfig\Writer $writer, \Magento\Framework\Module\ConflictChecker $conflictChecker, \Magento\Framework\Module\DependencyChecker $dependencyChecker)
+ {
+ }
+ /**
+ * Whether it is allowed to enable or disable specified modules
+ *
+ * @param bool $isEnabled
+ * @param string[] $modulesToBeChanged
+ * @param string[] $currentlyEnabledModules
+ * @param bool $prettyMessage
+ *
+ * @return string[]
+ */
+ public function checkConstraints($isEnabled, $modulesToBeChanged, $currentlyEnabledModules = null, $prettyMessage = false)
+ {
+ }
+ /**
+ * Sets specified modules to enabled or disabled state
+ *
+ * Performs other necessary routines, such as cache cleanup
+ *
+ * @param bool $isEnabled
+ * @param string[] $modules
+ * @return void
+ */
+ public function setIsEnabled($isEnabled, $modules)
+ {
+ }
+ /**
+ * Get a list of modules that will be changed
+ *
+ * @param bool $isEnabled
+ * @param string[] $modules
+ * @return string[]
+ */
+ public function getModulesToChange($isEnabled, $modules)
+ {
+ }
+ }
+ /**
+ * Module status manager
+ *
+ * Usage:
+ * ```php
+ * $manager->isEnabled('Vendor_Module');
+ * ```
+ * @api
+ */
+ class Manager
+ {
+ /**
+ * @param Output\ConfigInterface $outputConfig
+ * @param ModuleListInterface $moduleList
+ * @param array $outputConfigPaths
+ */
+ public function __construct(\Magento\Framework\Module\Output\ConfigInterface $outputConfig, \Magento\Framework\Module\ModuleListInterface $moduleList, array $outputConfigPaths = [])
+ {
+ }
+ /**
+ * Whether a module is enabled in the configuration or not
+ *
+ * @param string $moduleName Fully-qualified module name
+ * @return boolean
+ */
+ public function isEnabled($moduleName)
+ {
+ }
+ /**
+ * Whether a module output is permitted by the configuration or not
+ *
+ * @param string $moduleName Fully-qualified module name
+ * @return boolean
+ * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0
+ * version. Module output can still be enabled/disabled in configuration files. However, this functionality should
+ * not be used in future development. Module design should explicitly state dependencies to avoid requiring output
+ * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity
+ * issues that will be addressed in future releases.
+ */
+ public function isOutputEnabled($moduleName)
+ {
+ }
+ /**
+ * Whether a configuration switch for a module output permits output or not
+ *
+ * @param string $moduleName Fully-qualified module name
+ * @return boolean
+ * @deprecated 101.0.0
+ */
+ protected function _isCustomOutputConfigEnabled($moduleName)
+ {
+ }
+ }
+ /**
+ * A list of modules in the Magento application
+ *
+ * Represents all modules, regardless of enabled or not
+ */
+ class FullModuleList implements \Magento\Framework\Module\ModuleListInterface
+ {
+ /**
+ * Constructor
+ *
+ * @param ModuleList\Loader $loader
+ */
+ public function __construct(\Magento\Framework\Module\ModuleList\Loader $loader)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ * @see getNames()
+ */
+ public function getAll()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ * @see has()
+ */
+ public function getOne($name)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getNames()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function has($name)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Plugin {
+ /**
+ * Validation of DB up to date state
+ */
+ class DbStatusValidator
+ {
+ /**
+ * @param FrontendCacheInterface $cache
+ * @param DbVersionInfo $dbVersionInfo
+ * @param DeploymentConfig $deploymentConfig
+ */
+ public function __construct(\Magento\Framework\Cache\FrontendInterface $cache, \Magento\Framework\Module\DbVersionInfo $dbVersionInfo, \Magento\Framework\App\DeploymentConfig $deploymentConfig)
+ {
+ }
+ /**
+ * Perform check if DB is up to date
+ *
+ * @param FrontController $subject
+ * @param RequestInterface $request
+ * @return void
+ * @throws LocalizedException
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function beforeDispatch(\Magento\Framework\App\FrontController $subject, \Magento\Framework\App\RequestInterface $request)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Setup {
+ /**
+ * Factory class for \Magento\Framework\Module\Setup\Migration
+ *
+ * @api
+ */
+ class MigrationFactory
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager = null;
+ /**
+ * Instance name to create
+ *
+ * @var string
+ */
+ protected $_instanceName = null;
+ /**
+ * Factory constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Module\Setup\Migration::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return \Magento\Framework\Module\Setup\Migration
+ * @throws \InvalidArgumentException
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ /**
+ * Replace patterns needed for migration process between Magento versions
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class MigrationData
+ {
+ /**
+ * List of required params
+ *
+ * @var string[]
+ */
+ protected $_requiredParams = ['plain', 'wiki', 'xml', 'serialized'];
+ /**
+ * List of replace patterns
+ *
+ * @var string[]
+ */
+ protected $_patterns = [];
+ /**
+ * @param array $data
+ * @throws \InvalidArgumentException
+ */
+ public function __construct(array $data)
+ {
+ }
+ /**
+ * Get replace pattern
+ *
+ * @return string
+ */
+ public function getPlainFindPattern()
+ {
+ }
+ /**
+ * Get replace pattern
+ *
+ * @return string
+ */
+ public function getWikiFindPattern()
+ {
+ }
+ /**
+ * Get replace pattern
+ *
+ * @return string
+ */
+ public function getXmlFindPattern()
+ {
+ }
+ /**
+ * Get replace pattern
+ *
+ * @return string
+ */
+ public function getSerializedFindPattern()
+ {
+ }
+ }
+}
+namespace Magento\Framework\ObjectManager {
+ /**
+ * Marker interface for constructor modification points.
+ *
+ * All context classes were introduced to allow for backwards compatible constructor modifications
+ * of classes that were supposed to be extended by extension developers.
+ *
+ * Do not call methods of this class directly.
+ *
+ * As Magento moves from inheritance-based APIs all such classes will be deprecated together with
+ * the classes they were introduced for.
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ContextInterface
+ {
+ }
+}
+namespace Magento\Framework\Module\Setup {
+ /**
+ * Constructor modification point for Magento\Framework\Module\Setup.
+ *
+ * All context classes were introduced to allow for backwards compatible constructor modifications
+ * of classes that were supposed to be extended by extension developers.
+ *
+ * Do not call methods of this class directly.
+ *
+ * As Magento moves from inheritance-based APIs all such classes will be deprecated together with
+ * the classes they were introduced for.
+ */
+ class Context implements \Magento\Framework\ObjectManager\ContextInterface
+ {
+ /**
+ * @var \Psr\Log\LoggerInterface
+ */
+ protected $_logger;
+ /**
+ * @var \Magento\Framework\Event\ManagerInterface
+ */
+ protected $_eventManager;
+ /**
+ * @var \Magento\Framework\App\ResourceConnection
+ */
+ protected $_resourceModel;
+ /**
+ * @var \Magento\Framework\Module\Dir\Reader
+ */
+ protected $_modulesReader;
+ /**
+ * @var \Magento\Framework\Module\ModuleListInterface
+ */
+ protected $_moduleList;
+ /**
+ * @var \Magento\Framework\Module\ResourceInterface
+ */
+ protected $_resource;
+ /**
+ * @var \Magento\Framework\Module\Setup\MigrationFactory
+ */
+ protected $_migrationFactory;
+ /**
+ * @var \Magento\Framework\Encryption\EncryptorInterface
+ */
+ protected $_encryptor;
+ /**
+ * @var \Magento\Framework\Filesystem
+ */
+ protected $filesystem;
+ /**
+ * Constructor
+ *
+ * @param \Psr\Log\LoggerInterface $logger
+ * @param \Magento\Framework\Event\ManagerInterface $eventManager
+ * @param \Magento\Framework\App\ResourceConnection $appResource
+ * @param \Magento\Framework\Module\Dir\Reader $modulesReader
+ * @param \Magento\Framework\Module\ModuleListInterface $moduleList
+ * @param \Magento\Framework\Module\ResourceInterface $resource
+ * @param \Magento\Framework\Module\Setup\MigrationFactory $migrationFactory
+ * @param \Magento\Framework\Encryption\EncryptorInterface $encryptor
+ * @param \Magento\Framework\Filesystem $filesystem
+ */
+ public function __construct(\Psr\Log\LoggerInterface $logger, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Framework\App\ResourceConnection $appResource, \Magento\Framework\Module\Dir\Reader $modulesReader, \Magento\Framework\Module\ModuleListInterface $moduleList, \Magento\Framework\Module\ResourceInterface $resource, \Magento\Framework\Module\Setup\MigrationFactory $migrationFactory, \Magento\Framework\Encryption\EncryptorInterface $encryptor, \Magento\Framework\Filesystem $filesystem)
+ {
+ }
+ /**
+ * Retrieve event manager
+ *
+ * @return \Magento\Framework\Event\ManagerInterface
+ */
+ public function getEventManager()
+ {
+ }
+ /**
+ * Retrieve logger
+ *
+ * @return \Psr\Log\LoggerInterface
+ */
+ public function getLogger()
+ {
+ }
+ /**
+ * Retrieve module list
+ *
+ * @return \Magento\Framework\Module\ModuleListInterface
+ */
+ public function getModuleList()
+ {
+ }
+ /**
+ * Retrieve modules reader
+ *
+ * @return \Magento\Framework\Module\Dir\Reader
+ */
+ public function getModulesReader()
+ {
+ }
+ /**
+ * Retrieve resource model
+ *
+ * @return \Magento\Framework\App\ResourceConnection
+ */
+ public function getResourceModel()
+ {
+ }
+ /**
+ * Retrieve migration factory
+ *
+ * @return \Magento\Framework\Module\Setup\MigrationFactory
+ */
+ public function getMigrationFactory()
+ {
+ }
+ /**
+ * Retrieve resource
+ *
+ * @return \Magento\Framework\Module\ResourceInterface
+ */
+ public function getResource()
+ {
+ }
+ /**
+ * Retrieve encryptor
+ *
+ * @return \Magento\Framework\Encryption\EncryptorInterface
+ */
+ public function getEncryptor()
+ {
+ }
+ /**
+ * Retrieve filesystem
+ *
+ * @return \Magento\Framework\Filesystem
+ */
+ public function getFilesystem()
+ {
+ }
+ }
+ /**
+ * Resource setup model with methods needed for migration process between Magento versions
+ *
+ * @api
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @since 100.0.2
+ */
+ class Migration
+ {
+ /**#@+
+ * Type of field content where class alias is used
+ */
+ const FIELD_CONTENT_TYPE_PLAIN = 'plain';
+ const FIELD_CONTENT_TYPE_XML = 'xml';
+ const FIELD_CONTENT_TYPE_WIKI = 'wiki';
+ const FIELD_CONTENT_TYPE_SERIALIZED = 'serialized';
+ /**#@-*/
+ /**#@+
+ * Entity type of alias
+ */
+ const ENTITY_TYPE_MODEL = 'Model';
+ const ENTITY_TYPE_BLOCK = 'Block';
+ const ENTITY_TYPE_RESOURCE = 'Model_Resource';
+ /**#@-*/
+ /**#@+
+ * Replace pattern
+ */
+ const SERIALIZED_REPLACE_PATTERN = 's:%d:"%s"';
+ /**#@-*/
+ /**#@-*/
+ protected $_confPathToMapFile;
+ /**
+ * List of possible entity types sorted by possibility of usage
+ *
+ * @var array
+ */
+ protected $_entityTypes = [self::ENTITY_TYPE_MODEL, self::ENTITY_TYPE_BLOCK, self::ENTITY_TYPE_RESOURCE];
+ /**
+ * Rows per page. To split processing data from tables
+ *
+ * @var int
+ */
+ protected $_rowsPerPage = 100;
+ /**
+ * Replace rules for tables
+ *
+ * [table name] => array(
+ * [field name] => array(
+ * 'entity_type' => [entity type]
+ * 'content_type' => [content type]
+ * 'additional_where' => [additional where]
+ * )
+ * )
+ *
+ * @var array
+ */
+ protected $_replaceRules = [];
+ /**
+ * Aliases to classes map
+ *
+ * [entity type] => array(
+ * [alias] => [class name]
+ * )
+ *
+ * @var array
+ */
+ protected $_aliasesMap;
+ /**
+ * Replacement regexps for specified content types
+ *
+ * @var array
+ */
+ protected $_replacePatterns = [];
+ /**
+ * Path to map file from config
+ *
+ * @var string
+ */
+ protected $_pathToMapFile;
+ /**
+ * List of composite module names
+ *
+ * @var array
+ */
+ protected $_compositeModules;
+ /**
+ * @var \Magento\Framework\Filesystem\Directory\Read
+ */
+ protected $_directory;
+ /**
+ * @var MigrationData
+ */
+ protected $_migrationData;
+ /**
+ * @param ModuleDataSetupInterface $setup
+ * @param Filesystem $filesystem
+ * @param MigrationData $migrationData
+ * @param string $confPathToMapFile
+ * @param array $compositeModules
+ * @param \Magento\Framework\Serialize\Serializer\Json|null $serializer
+ * @throws \RuntimeException
+ */
+ public function __construct(\Magento\Framework\Setup\ModuleDataSetupInterface $setup, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\Module\Setup\MigrationData $migrationData, $confPathToMapFile, $compositeModules = [], \Magento\Framework\Serialize\Serializer\Json $serializer = null)
+ {
+ }
+ /**
+ * Add alias replace rule
+ *
+ * @param string $tableName name of table to replace aliases in
+ * @param string $fieldName name of table column to replace aliases in
+ * @param string $entityType entity type of alias
+ * @param string $fieldContentType type of field content where class alias is used
+ * @param array $primaryKeyFields row pk field(s) to update by
+ * @param string $additionalWhere additional where condition
+ * @return void
+ */
+ public function appendClassAliasReplace($tableName, $fieldName, $entityType = '', $fieldContentType = self::FIELD_CONTENT_TYPE_PLAIN, array $primaryKeyFields = [], $additionalWhere = '')
+ {
+ }
+ /**
+ * Start process of replacing aliases with class names using rules
+ *
+ * @return void
+ */
+ public function doUpdateClassAliases()
+ {
+ }
+ /**
+ * Update class aliases in table
+ *
+ * @param string $tableName name of table to replace aliases in
+ * @param array $tableRules replacing rules for table
+ * @return void
+ */
+ protected function _updateClassAliasesInTable($tableName, array $tableRules)
+ {
+ }
+ /**
+ * Get amount of rows for table column which should be processed
+ *
+ * @param string $tableName name of table to replace aliases in
+ * @param string $fieldName name of table column to replace aliases in
+ * @param string $additionalWhere additional where condition
+ * @return int
+ */
+ protected function _getRowsCount($tableName, $fieldName, $additionalWhere = '')
+ {
+ }
+ /**
+ * Replace aliases with class names in rows
+ *
+ * @param string $tableName name of table to replace aliases in
+ * @param string $fieldName name of table column to replace aliases in
+ * @param array $fieldRule
+ * @param int $currentPage
+ * @return void
+ */
+ protected function _applyFieldRule($tableName, $fieldName, array $fieldRule, $currentPage = 0)
+ {
+ }
+ /**
+ * Update rows data in database
+ *
+ * @param string $tableName
+ * @param string $fieldName
+ * @param array $fieldReplacements
+ * @return void
+ */
+ protected function _updateRowsData($tableName, $fieldName, array $fieldReplacements)
+ {
+ }
+ /**
+ * Get data for table column which should be processed
+ *
+ * @param string $tableName name of table to replace aliases in
+ * @param string $fieldName name of table column to replace aliases in
+ * @param array $fieldsToSelect array of fields to select
+ * @param string $additionalWhere additional where condition
+ * @param int $currPage
+ * @return array
+ */
+ protected function _getTableData($tableName, $fieldName, array $fieldsToSelect, $additionalWhere = '', $currPage = 0)
+ {
+ }
+ /**
+ * Get data with replaced aliases with class names
+ *
+ * @param string $data
+ * @param string $contentType type of data (field content)
+ * @param string $entityType entity type of alias
+ * @return string
+ */
+ protected function _getReplacement($data, $contentType, $entityType = '')
+ {
+ }
+ /**
+ * Get appropriate class name for alias
+ *
+ * @param string $alias
+ * @param string $entityType entity type of alias
+ * @return string
+ */
+ protected function _getCorrespondingClassName($alias, $entityType = '')
+ {
+ }
+ /**
+ * Replacement for model alias and model alias with method
+ *
+ * @param string $data
+ * @param string $entityType
+ * @return string
+ */
+ protected function _getModelReplacement($data, $entityType = '')
+ {
+ }
+ /**
+ * Replaces class aliases using pattern
+ *
+ * @param string $data
+ * @param string $contentType
+ * @param string $entityType
+ * @return string|null
+ */
+ protected function _getPatternReplacement($data, $contentType, $entityType = '')
+ {
+ }
+ /**
+ * Generate class name
+ *
+ * @param string $module
+ * @param string $type
+ * @param string $name
+ * @return string
+ */
+ protected function _getClassName($module, $type, $name = null)
+ {
+ }
+ /**
+ * Whether the given class name is a factory name
+ *
+ * @param string $factoryName
+ * @return bool
+ */
+ protected function _isFactoryName($factoryName)
+ {
+ }
+ /**
+ * Transform factory name into a pair of module and name
+ *
+ * @param string $factoryName
+ * @return array
+ */
+ protected function _getModuleName($factoryName)
+ {
+ }
+ /**
+ * Get composite module name by module alias
+ *
+ * @param string $moduleAlias
+ * @return string|null
+ */
+ protected function _getCompositeModuleName($moduleAlias)
+ {
+ }
+ /**
+ * Search class by alias in map
+ *
+ * @param string $alias
+ * @param string $entityType
+ * @return string
+ */
+ protected function _getAliasFromMap($alias, $entityType = '')
+ {
+ }
+ /**
+ * Store already generated class name for alias
+ *
+ * @param string $entityType
+ * @param string $alias
+ * @param string $className
+ * @return void
+ */
+ protected function _pushToMap($entityType, $alias, $className)
+ {
+ }
+ /**
+ * Retrieve aliases to classes map if exit
+ *
+ * @return array
+ */
+ protected function _getAliasesMap()
+ {
+ }
+ /**
+ * Load aliases to classes map from file
+ *
+ * @param string $pathToMapFile
+ * @return string
+ */
+ protected function _loadMap($pathToMapFile)
+ {
+ }
+ /**
+ * @param string $data
+ * @param string $entityType
+ * @return string
+ */
+ protected function _getAliasInSerializedStringReplacement($data, $entityType = '')
+ {
+ }
+ /**
+ * Parse class aliases from serialized string
+ *
+ * @param string $string
+ * @return array
+ */
+ protected function _parseSerializedString($string)
+ {
+ }
+ /**
+ * List of correspondence between composite module aliases and module names
+ *
+ * @return array
+ */
+ public function getCompositeModules()
+ {
+ }
+ /**
+ * Decodes the given $encodedValue string which is
+ * encoded in the JSON format
+ *
+ * @param string $encodedValue
+ * @param int $objectDecodeType
+ * @return string|int|float|bool|array|null
+ * @throws \InvalidArgumentException
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ * @deprecated 101.0.1
+ * @see \Magento\Framework\Module\Setup\Migration::jsonDecode
+ */
+ protected function _jsonDecode($encodedValue, $objectDecodeType = 1)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module {
+ /**
+ * Resource Model Interface
+ */
+ interface ResourceInterface
+ {
+ /**
+ * Get Module version from DB
+ *
+ * @param string $moduleName
+ * @return false|string
+ */
+ public function getDbVersion($moduleName);
+ /**
+ * Get resource data version
+ *
+ * @param string $moduleName
+ * @return string|false
+ */
+ public function getDataVersion($moduleName);
+ /**
+ * Set Module version
+ *
+ * @param string $moduleName
+ * @param string $version
+ * @return int
+ */
+ public function setDbVersion($moduleName, $version);
+ /**
+ * Set resource data version
+ *
+ * @param string $moduleName
+ * @param string $version
+ * @return void
+ */
+ public function setDataVersion($moduleName, $version);
+ }
+ /**
+ * Provide information of dependencies and conflicts in composer.json files.
+ *
+ * Mapping of package name to module name, and mapping of module name to package version.
+ */
+ class PackageInfo
+ {
+ /**
+ * @var array
+ */
+ protected $nonExistingDependencies = [];
+ /**
+ * @param Dir\Reader $reader
+ * @param ComponentRegistrar $componentRegistrar
+ * @param \Magento\Framework\Serialize\Serializer\Json|null $serializer
+ * @throws \RuntimeException
+ */
+ public function __construct(\Magento\Framework\Module\Dir\Reader $reader, \Magento\Framework\Component\ComponentRegistrar $componentRegistrar, \Magento\Framework\Serialize\Serializer\Json $serializer = null)
+ {
+ }
+ /**
+ * Get module name of a package
+ *
+ * @param string $packageName
+ * @return string
+ */
+ public function getModuleName($packageName)
+ {
+ }
+ /**
+ * Add non existing dependency
+ *
+ * @param string $dependency
+ * @return void
+ */
+ protected function addNonExistingDependency($dependency)
+ {
+ }
+ /**
+ * Return list of non existing dependencies
+ *
+ * @return array
+ */
+ public function getNonExistingDependencies()
+ {
+ }
+ /**
+ * Build module name based on internal package name
+ *
+ * @param string $packageName
+ * @return string|null
+ */
+ protected function convertPackageNameToModuleName($packageName)
+ {
+ }
+ /**
+ * Check if package is internal magento module
+ *
+ * @param string $packageName
+ * @return bool
+ */
+ protected function isMagentoPackage($packageName)
+ {
+ }
+ /**
+ * Get package name of a module
+ *
+ * @param string $moduleName
+ * @return string
+ */
+ public function getPackageName($moduleName)
+ {
+ }
+ /**
+ * Get all module names a module requires
+ *
+ * @param string $moduleName
+ * @return array
+ */
+ public function getRequire($moduleName)
+ {
+ }
+ /**
+ * Get all module names a module required by
+ *
+ * @param string $requiredModuleName
+ * @return array
+ */
+ public function getRequiredBy($requiredModuleName)
+ {
+ }
+ /**
+ * Get all module names a module conflicts
+ *
+ * @param string $moduleName
+ * @return array
+ */
+ public function getConflict($moduleName)
+ {
+ }
+ /**
+ * Get package version of a module
+ *
+ * @param string $moduleName
+ * @return string
+ */
+ public function getVersion($moduleName)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Dir {
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ class Reader
+ {
+ /**
+ * Module directories that were set explicitly
+ *
+ * @var array
+ */
+ protected $customModuleDirs = [];
+ /**
+ * Directory registry
+ *
+ * @var Dir
+ */
+ protected $moduleDirs;
+ /**
+ * Modules configuration provider
+ *
+ * @var ModuleListInterface
+ */
+ protected $modulesList;
+ /**
+ * @var FileIteratorFactory
+ */
+ protected $fileIteratorFactory;
+ /**
+ * @var Filesystem\Directory\ReadFactory
+ */
+ protected $readFactory;
+ /**
+ * @param Dir $moduleDirs
+ * @param ModuleListInterface $moduleList
+ * @param FileIteratorFactory $fileIteratorFactory
+ * @param Filesystem\Directory\ReadFactory $readFactory
+ */
+ public function __construct(\Magento\Framework\Module\Dir $moduleDirs, \Magento\Framework\Module\ModuleListInterface $moduleList, \Magento\Framework\Config\FileIteratorFactory $fileIteratorFactory, \Magento\Framework\Filesystem\Directory\ReadFactory $readFactory)
+ {
+ }
+ /**
+ * Go through all modules and find configuration files of active modules.
+ *
+ * @param string $filename
+ * @return FileIterator
+ */
+ public function getConfigurationFiles($filename)
+ {
+ }
+ /**
+ * Go through all modules and find composer.json files of active modules.
+ *
+ * @return FileIterator
+ */
+ public function getComposerJsonFiles()
+ {
+ }
+ /**
+ * Retrieve list of module action files
+ *
+ * @return array
+ */
+ public function getActionFiles()
+ {
+ }
+ /**
+ * Get module directory by directory type
+ *
+ * @param string $type
+ * @param string $moduleName
+ * @return string
+ */
+ public function getModuleDir($type, $moduleName)
+ {
+ }
+ /**
+ * Set path to the corresponding module directory
+ *
+ * @param string $moduleName
+ * @param string $type directory type (etc, controllers, locale etc)
+ * @param string $path
+ * @return void
+ */
+ public function setModuleDir($moduleName, $type, $path)
+ {
+ }
+ }
+ /**
+ * Resolves file/directory paths to modules they belong to
+ */
+ class ReverseResolver
+ {
+ /**
+ * @var ModuleListInterface
+ */
+ protected $_moduleList;
+ /**
+ * @var Dir
+ */
+ protected $_moduleDirs;
+ /**
+ * @param ModuleListInterface $moduleList
+ * @param Dir $moduleDirs
+ */
+ public function __construct(\Magento\Framework\Module\ModuleListInterface $moduleList, \Magento\Framework\Module\Dir $moduleDirs)
+ {
+ }
+ /**
+ * Retrieve fully-qualified module name, path belongs to
+ *
+ * @param string $path Full path to file or directory
+ * @return string|null
+ */
+ public function getModuleName($path)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Test\Unit {
+ class SetupTest extends \PHPUnit\Framework\TestCase
+ {
+ const CONNECTION_NAME = 'connection';
+ protected function setUp() : void
+ {
+ }
+ public function testGetConnection()
+ {
+ }
+ public function testSetTableName()
+ {
+ }
+ public function testGetTable()
+ {
+ }
+ public function testTableExists()
+ {
+ }
+ public function testRun()
+ {
+ }
+ public function testStartSetup()
+ {
+ }
+ public function testEndSetup()
+ {
+ }
+ }
+ /**
+ * Test for module list
+ */
+ class ModuleListTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetAll() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetAllNoData() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetOne() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetNames() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testHas() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testIsModuleInfoAvailable() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testIsModuleInfoAvailableNoConfig() : void
+ {
+ }
+ }
+ class StatusTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testCheckConstraintsEnableAllowed() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testCheckConstraintsEnableNotAllowed() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testCheckConstraintsEnableNotAllowedWithPrettyMsg() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testCheckConstraintsDisableAllowed() : void
+ {
+ }
+ public function testCheckConstraintsDisableNotAllowed() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testSetIsEnabled() : void
+ {
+ }
+ public function testSetIsEnabledUnknown() : void
+ {
+ }
+ /**
+ * @dataProvider getModulesToChangeDataProvider
+ * @param bool $firstEnabled
+ * @param bool $secondEnabled
+ * @param bool $thirdEnabled
+ * @param bool $isEnabled
+ * @param string[] $expected
+ *
+ * @return void
+ */
+ public function testGetModulesToChange($firstEnabled, $secondEnabled, $thirdEnabled, $isEnabled, $expected) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getModulesToChangeDataProvider() : array
+ {
+ }
+ }
+ class DbVersionInfoTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $moduleName
+ * @param string|bool $dbVersion
+ * @param bool $expectedResult
+ *
+ * @dataProvider isDbUpToDateDataProvider
+ */
+ public function testIsDbSchemaUpToDate($moduleName, $dbVersion, $expectedResult)
+ {
+ }
+ /**
+ * @param string $moduleName
+ * @param string|bool $dbVersion
+ * @param bool $expectedResult
+ *
+ * @dataProvider isDbUpToDateDataProvider
+ */
+ public function testIsDbDataUpToDate($moduleName, $dbVersion, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function isDbUpToDateDataProvider()
+ {
+ }
+ public function testGetDbVersionErrors()
+ {
+ }
+ /**
+ * Test is DB schema up to date for module with no schema
+ */
+ public function testIsDbSchemaUpToDateException()
+ {
+ }
+ /**
+ * Test is DB Data up to date for module with no schema
+ */
+ public function testIsDbDataUpToDateException()
+ {
+ }
+ }
+ class DirTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Dir
+ */
+ protected $_model;
+ /**
+ * @var ComponentRegistrarInterface|MockObject
+ */
+ protected $moduleRegistryMock;
+ protected function setUp() : void
+ {
+ }
+ public function testGetDirModuleRoot()
+ {
+ }
+ public function testGetDirModuleSubDir()
+ {
+ }
+ public function testGetSetupDirModule()
+ {
+ }
+ public function testGetDirModuleSubDirUnknown()
+ {
+ }
+ public function testGetDirModuleIncorrectlyRegistered()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Test\Unit\Plugin {
+ class DbStatusValidatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var DbStatusValidator
+ */
+ protected $_model;
+ /**
+ * @var MockObject
+ */
+ protected $_cacheMock;
+ /**
+ * @var MockObject
+ */
+ protected $subjectMock;
+ /**
+ * @var MockObject
+ */
+ protected $requestMock;
+ protected function setUp() : void
+ {
+ }
+ public function testAroundDispatch()
+ {
+ }
+ public function testAroundDispatchCached()
+ {
+ }
+ /**
+ * @param array $dbVersionErrors
+ *
+ * @dataProvider aroundDispatchExceptionDataProvider
+ */
+ public function testAroundDispatchException(array $dbVersionErrors)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function aroundDispatchExceptionDataProvider()
+ {
+ }
+ public function testAroundDispatchBlueGreen()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Test\Unit\Setup {
+ class MigrationTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Result of update class aliases to compare with expected.
+ * Used in callback for \Magento\Framework\DB\Select::update.
+ *
+ * @var array
+ */
+ protected $_actualUpdateResult;
+ /**
+ * Where conditions to compare with expected.
+ * Used in callback for \Magento\Framework\DB\Select::where.
+ *
+ * @var array
+ */
+ protected $_actualWhere;
+ /**
+ * @var MockObject|Select
+ */
+ protected $_selectMock;
+ protected function tearDown() : void
+ {
+ }
+ /**
+ * Retrieve all necessary objects mocks which used inside customer storage
+ *
+ * @param int $tableRowsCount
+ * @param array $tableData
+ * @param array $aliasesMap
+ *
+ * @return array
+ */
+ protected function _getModelDependencies($tableRowsCount = 0, $tableData = [], $aliasesMap = [])
+ {
+ }
+ /**
+ * Callback for \Magento\Framework\DB\Select::update
+ *
+ * @param string $table
+ * @param array $bind
+ * @param array $where
+ */
+ public function updateCallback($table, array $bind, $where)
+ {
+ }
+ /**
+ * Callback for \Magento\Framework\DB\Select::where
+ *
+ * @param string $condition
+ * @return MockObject|Select
+ */
+ public function whereCallback($condition)
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Module\Setup\Migration::appendClassAliasReplace
+ */
+ public function testAppendClassAliasReplace()
+ {
+ }
+ /**
+ * @dataProvider updateClassAliasesDataProvider
+ */
+ public function testDoUpdateClassAliases($replaceRules, $tableData, $expected, $aliasesMap = [])
+ {
+ }
+ /**
+ * Data provider for updating class aliases
+ *
+ * @return array
+ */
+ public function updateClassAliasesDataProvider()
+ {
+ }
+ /**
+ * @return MockObject|Filesystem
+ */
+ protected function _getFilesystemMock()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Test\Unit\Dir {
+ class ReverseResolverTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ReverseResolver
+ */
+ protected $_model;
+ /**
+ * @var ModuleListInterface|MockObject
+ */
+ protected $_moduleList;
+ /**
+ * @var Dir|MockObject
+ */
+ protected $_moduleDirs;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $path
+ * @param string $expectedResult
+ * @dataProvider getModuleNameDataProvider
+ */
+ public function testGetModuleName($path, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getModuleNameDataProvider()
+ {
+ }
+ }
+ class ReaderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Reader
+ */
+ protected $_model;
+ /**
+ * @var MockObject
+ */
+ protected $_moduleListMock;
+ /**
+ * @var MockObject
+ */
+ protected $_protFactoryMock;
+ /**
+ * @var MockObject
+ */
+ protected $_dirsMock;
+ /**
+ * @var MockObject
+ */
+ protected $_baseConfigMock;
+ /**
+ * @var MockObject
+ */
+ protected $_fileIteratorFactory;
+ /**
+ * @var MockObject
+ */
+ protected $directoryReadFactoryMock;
+ protected function setUp() : void
+ {
+ }
+ public function testGetModuleDirWhenCustomDirIsNotSet()
+ {
+ }
+ public function testGetModuleDirWhenCustomDirIsSet()
+ {
+ }
+ public function testGetConfigurationFiles()
+ {
+ }
+ public function testGetComposerJsonFiles()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Test\Unit\ModuleList {
+ class LoaderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritDoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param $paths
+ *
+ * @return void
+ * @dataProvider testLoadDataProvider
+ */
+ public function testLoad($paths) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function testLoadDataProvider() : array
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testLoadExclude() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testLoadCircular() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testLoadPrearranged() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Test\Unit {
+ class PackageInfoFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testCreate()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Test\Unit\Declaration\Converter {
+ class DomTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Dom
+ */
+ protected $_converter;
+ protected function setUp() : void
+ {
+ }
+ public function testConvertWithValidDom()
+ {
+ }
+ /**
+ * @param string $xmlString
+ * @dataProvider convertWithInvalidDomDataProvider
+ */
+ public function testConvertWithInvalidDom($xmlString)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function convertWithInvalidDomDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Test\Unit {
+ class DependencyCheckerTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testCheckDependenciesWhenDisableModules()
+ {
+ }
+ public function testCheckDependenciesWhenDisableModulesWithCurEnabledModules()
+ {
+ }
+ public function testCheckDependenciesWhenEnableModules()
+ {
+ }
+ public function testCheckDependenciesWhenEnableModulesWithCurEnabledModules()
+ {
+ }
+ }
+ class ConflictCheckerTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @dataProvider checkConflictWhenEnableModuleDataProvider
+ * @param array $conflictReturnMap
+ * @param array $enabledModules
+ * @param string $moduleName
+ * @param array $expected
+ */
+ public function testCheckConflictsWhenEnableModules($conflictReturnMap, $enabledModules, $moduleName, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function checkConflictWhenEnableModuleDataProvider()
+ {
+ }
+ public function testCheckConflictWhenEnableModuleDifferentVersion()
+ {
+ }
+ public function testCheckConflictWhenEnableModuleDifferentVersionWithCurEnabledModules()
+ {
+ }
+ }
+ class PackageInfoTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testGetModuleName()
+ {
+ }
+ public function testGetPackageName()
+ {
+ }
+ public function testGetRequireReturnModuleName()
+ {
+ }
+ public function testGetConflictReturnModuleName()
+ {
+ }
+ public function testGetVersion()
+ {
+ }
+ public function testGetRequiredBy()
+ {
+ }
+ }
+ class ManagerTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * XPath in the configuration of a module output flag
+ */
+ const XML_PATH_OUTPUT_ENABLED = 'custom/is_module_output_enabled';
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testIsEnabled() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testIsOutputEnabledReturnsFalseForDisabledModule() : void
+ {
+ }
+ /**
+ * @param bool $configValue
+ * @param bool $expectedResult
+ *
+ * @return void
+ * @dataProvider isOutputEnabledGenericConfigPathDataProvider
+ */
+ public function testIsOutputEnabledGenericConfigPath($configValue, $expectedResult) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function isOutputEnabledGenericConfigPathDataProvider() : array
+ {
+ }
+ /**
+ * @param bool $configValue
+ * @param bool $expectedResult
+ *
+ * @return void
+ * @dataProvider isOutputEnabledCustomConfigPathDataProvider
+ */
+ public function testIsOutputEnabledCustomConfigPath($configValue, $expectedResult) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function isOutputEnabledCustomConfigPathDataProvider() : array
+ {
+ }
+ }
+ class FullModuleListTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testGetAll()
+ {
+ }
+ public function testGetOne()
+ {
+ }
+ public function testGetNames()
+ {
+ }
+ public function testHasTrue()
+ {
+ }
+ public function testHasFalse()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module {
+ /**
+ * Encapsulates directories structure of a Magento module
+ *
+ * @api
+ */
+ class Dir
+ {
+ /**#@+
+ * Directories within modules
+ */
+ const MODULE_ETC_DIR = 'etc';
+ const MODULE_I18N_DIR = 'i18n';
+ const MODULE_VIEW_DIR = 'view';
+ const MODULE_CONTROLLER_DIR = 'Controller';
+ const MODULE_SETUP_DIR = 'Setup';
+ /**
+ * @param ComponentRegistrarInterface $componentRegistrar
+ */
+ public function __construct(\Magento\Framework\Component\ComponentRegistrarInterface $componentRegistrar)
+ {
+ }
+ /**
+ * Retrieve full path to a directory of certain type within a module
+ *
+ * @param string $moduleName Fully-qualified module name
+ * @param string $type Type of module's directory to retrieve
+ * @return string
+ * @throws \InvalidArgumentException
+ */
+ public function getDir($moduleName, $type = '')
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\ModuleList {
+ /**
+ * Loader of module list information from the filesystem
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class Loader
+ {
+ /**
+ * Constructor
+ *
+ * @param Dom $converter
+ * @param Parser $parser @deprecated, @see $parserFactory
+ * @param ComponentRegistrarInterface $moduleRegistry
+ * @param DriverInterface $filesystemDriver
+ * @param ParserFactory|null $parserFactory
+ */
+ public function __construct(\Magento\Framework\Module\Declaration\Converter\Dom $converter, \Magento\Framework\Xml\Parser $parser, \Magento\Framework\Component\ComponentRegistrarInterface $moduleRegistry, \Magento\Framework\Filesystem\DriverInterface $filesystemDriver, ?\Magento\Framework\Xml\ParserFactory $parserFactory = null)
+ {
+ }
+ /**
+ * Loads the full module list information. Excludes modules specified in $exclude.
+ *
+ * @param array $exclude
+ * @throws \Magento\Framework\Exception\LocalizedException
+ * @return array
+ */
+ public function load(array $exclude = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module {
+ /**
+ * Checks for dependencies between modules
+ */
+ class DependencyChecker
+ {
+ /**
+ * Constructor
+ *
+ * @param ModuleList $list
+ * @param ModuleList\Loader $loader
+ * @param PackageInfo $packageInfo
+ */
+ public function __construct(\Magento\Framework\Module\ModuleList $list, \Magento\Framework\Module\ModuleList\Loader $loader, \Magento\Framework\Module\PackageInfo $packageInfo)
+ {
+ }
+ /**
+ * Checks dependencies when disabling modules
+ *
+ * @param string[] $toBeDisabledModules
+ * @param string[] $currentlyEnabledModules
+ * @return array
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function checkDependenciesWhenDisableModules($toBeDisabledModules, $currentlyEnabledModules = null)
+ {
+ }
+ /**
+ * Checks dependencies when enabling modules
+ *
+ * @param string[] $toBeEnabledModules
+ * @param string[] $currentlyEnabledModules
+ * @return array
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function checkDependenciesWhenEnableModules(array $toBeEnabledModules, array $currentlyEnabledModules = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Declaration\Converter {
+ class Dom implements \Magento\Framework\Config\ConverterInterface
+ {
+ /**
+ * {@inheritdoc}
+ * @throws \Exception
+ */
+ public function convert($source)
+ {
+ }
+ /**
+ * Convert module depends node into assoc array
+ *
+ * @param \DOMNode $node
+ * @return array
+ * @throws \Exception
+ */
+ protected function _readModules(\DOMNode $node)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module {
+ /**
+ * Resource Model
+ *
+ * @deprecated 102.0.0 Declarative schema and data patches replace old functionality and setup_module table
+ * So all resources related to this table, will be deprecated since 2.3.0
+ */
+ class ModuleResource extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb implements \Magento\Framework\Module\ResourceInterface
+ {
+ /**
+ * Database versions
+ *
+ * @var array
+ */
+ protected static $schemaVersions = null;
+ /**
+ * Resource data versions cache array
+ *
+ * @var array
+ */
+ protected static $dataVersions = null;
+ /**
+ * Define main table
+ *
+ * @return void
+ */
+ protected function _construct()
+ {
+ }
+ /**
+ * Fill static versions arrays.
+ * This routine fetches Db and Data versions of at once to optimize sql requests. However, when upgrading, it's
+ * possible that 'data' column will be created only after all Db installs are passed. So $neededType contains
+ * information on main purpose of calling this routine, and even when 'data' column is absent - it won't require
+ * reissuing new sql just to get 'db' version of module.
+ *
+ * @param string $needType Can be 'db' or 'data'
+ * @return $this
+ */
+ protected function _loadVersion($needType)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getDbVersion($moduleName)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setDbVersion($moduleName, $version)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getDataVersion($moduleName)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setDataVersion($moduleName, $version)
+ {
+ }
+ /**
+ * Flush all class cache
+ *
+ * @deprecated 102.0.0 This method was added as temporary solution, to increase modularity:
+ * Because before new modules appears in resource only on next bootstrap
+ * @return void
+ */
+ public static function flush()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup {
+ /**
+ * DB resource interface
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface SetupInterface
+ {
+ /**
+ * Gets connection object
+ *
+ * @return \Magento\Framework\DB\Adapter\AdapterInterface
+ */
+ public function getConnection();
+ /**
+ * Adds table placeholder/table name relation
+ *
+ * @param string $tableName
+ * @param string $realTableName
+ * @return $this
+ */
+ public function setTable($tableName, $realTableName);
+ /**
+ * Gets table name (validated by db adapter) by table placeholder
+ *
+ * @param string|array $tableName
+ * @return string
+ */
+ public function getTable($tableName);
+ /**
+ * Gets table placeholder by table name
+ *
+ * @param string $tableName
+ * @return string
+ * @since 100.1.0
+ */
+ public function getTablePlaceholder($tableName);
+ /**
+ * Checks if table exists
+ *
+ * @param string $table
+ * @return bool
+ */
+ public function tableExists($table);
+ /**
+ * Runs plain SQL query(ies)
+ *
+ * @param string $sql
+ * @return $this
+ */
+ public function run($sql);
+ /**
+ * Prepares database before install/upgrade
+ *
+ * @return $this
+ */
+ public function startSetup();
+ /**
+ * Prepares database after install/upgrade
+ *
+ * @return $this
+ */
+ public function endSetup();
+ }
+}
+namespace Magento\Framework\Module {
+ class Setup implements \Magento\Framework\Setup\SetupInterface
+ {
+ /**
+ * Init
+ *
+ * @param \Magento\Framework\App\ResourceConnection $resource
+ * @param string $connectionName
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resource, $connectionName = \Magento\Framework\Setup\ModuleDataSetupInterface::DEFAULT_SETUP_CONNECTION)
+ {
+ }
+ /**
+ * Get connection object
+ *
+ * @param string|null $connectionName
+ * @return \Magento\Framework\DB\Adapter\AdapterInterface
+ */
+ public function getConnection($connectionName = null)
+ {
+ }
+ /**
+ * Add table placeholder/table name relation
+ *
+ * @param string $tableName
+ * @param string $realTableName
+ * @return $this
+ */
+ public function setTable($tableName, $realTableName)
+ {
+ }
+ /**
+ * Gets table placeholder by table name
+ *
+ * @param string $tableName
+ * @return string
+ */
+ public function getTablePlaceholder($tableName)
+ {
+ }
+ /**
+ * Get table name (validated by db adapter) by table placeholder
+ *
+ * @param string|array $tableName
+ * @param string $connectionName
+ * @return string
+ */
+ public function getTable($tableName, $connectionName = \Magento\Framework\App\ResourceConnection::DEFAULT_CONNECTION)
+ {
+ }
+ /**
+ * Check is table exists
+ *
+ * @param string $table
+ * @param string $connectionName
+ * @return bool
+ */
+ public function tableExists($table, $connectionName = \Magento\Framework\App\ResourceConnection::DEFAULT_CONNECTION)
+ {
+ }
+ /**
+ * Run plain SQL query(ies)
+ *
+ * @param string $sql
+ * @return $this
+ */
+ public function run($sql)
+ {
+ }
+ /**
+ * Prepare database before install/upgrade
+ *
+ * @return $this
+ */
+ public function startSetup()
+ {
+ }
+ /**
+ * Prepare database after install/upgrade
+ *
+ * @return $this
+ */
+ public function endSetup()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Module\Output {
+ /**
+ * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0
+ * version. Module output can still be enabled/disabled in configuration files.
+ */
+ interface ConfigInterface
+ {
+ /**
+ * Whether a module is enabled in the configuration or not
+ *
+ * @param string $moduleName Fully-qualified module name
+ * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0
+ * version. Module output can still be enabled/disabled in configuration files. However, this functionality should
+ * not be used in future development. Module design should explicitly state dependencies to avoid requiring output
+ * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity
+ * issues that will be addressed in future releases.
+ * @return boolean
+ */
+ public function isEnabled($moduleName);
+ /**
+ * Retrieve module enabled specific path
+ *
+ * @param string $path Fully-qualified config path
+ * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0
+ * version. Module output can still be enabled/disabled in configuration files. However, this functionality should
+ * not be used in future development. Module design should explicitly state dependencies to avoid requiring output
+ * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity
+ * issues that will be addressed in future releases.
+ * @return boolean
+ */
+ public function isSetFlag($path);
+ }
+ /**
+ * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0
+ * version. Module output can still be enabled/disabled in configuration files. However, this functionality should
+ * not be used in future development. Module design should explicitly state dependencies to avoid requiring output
+ * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity
+ * issues that will be addressed in future releases.
+ */
+ class Config implements \Magento\Framework\Module\Output\ConfigInterface
+ {
+ /**
+ * XPath in the configuration where module statuses are stored
+ * @deprecated 100.2.0
+ */
+ const XML_PATH_MODULE_OUTPUT_STATUS = 'advanced/modules_disable_output/%s';
+ /**
+ * @var \Magento\Framework\App\Config\ScopeConfigInterface
+ * @deprecated 101.0.0
+ */
+ protected $_scopeConfig;
+ /**
+ * @var string
+ * @deprecated 101.0.0
+ */
+ protected $_storeType;
+ /**
+ * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
+ * @param string $scopeType
+ */
+ public function __construct(\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, $scopeType)
+ {
+ }
+ /**
+ * Whether a module is enabled in the configuration or not
+ *
+ * @param string $moduleName Fully-qualified module name
+ * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0
+ * version. Module output can still be enabled/disabled in configuration files. However, this functionality should
+ * not be used in future development. Module design should explicitly state dependencies to avoid requiring output
+ * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity
+ * issues that will be addressed in future releases.
+ * @return boolean
+ */
+ public function isEnabled($moduleName)
+ {
+ }
+ /**
+ * Retrieve module enabled specific path
+ *
+ * @param string $path Fully-qualified config path
+ * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0
+ * version. Module output can still be enabled/disabled in configuration files. However, this functionality should
+ * not be used in future development. Module design should explicitly state dependencies to avoid requiring output
+ * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity
+ * issues that will be addressed in future releases.
+ * @return boolean
+ */
+ public function isSetFlag($path)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Math {
+ /**
+ * Contains methods to compare float digits.
+ *
+ * @api
+ * @since 101.0.6
+ */
+ class FloatComparator
+ {
+ /**
+ * Compares two float digits.
+ *
+ * @param float $a
+ * @param float $b
+ * @return bool
+ * @since 101.0.6
+ */
+ public function equal(float $a, float $b) : bool
+ {
+ }
+ /**
+ * Compares if the first argument greater than the second argument.
+ *
+ * @param float $a
+ * @param float $b
+ * @return bool
+ * @since 101.0.6
+ */
+ public function greaterThan(float $a, float $b) : bool
+ {
+ }
+ /**
+ * Compares if the first argument greater or equal to the second.
+ *
+ * @param float $a
+ * @param float $b
+ * @return bool
+ * @since 101.0.6
+ */
+ public function greaterThanOrEqual(float $a, float $b) : bool
+ {
+ }
+ }
+ /**
+ * Random data generator
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Random
+ {
+ /**#@+
+ * Frequently used character classes
+ */
+ public const CHARS_LOWERS = 'abcdefghijklmnopqrstuvwxyz';
+ public const CHARS_UPPERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
+ public const CHARS_DIGITS = '0123456789';
+ /**#@-*/
+ /**
+ * Get random string.
+ *
+ * @param int $length
+ * @param null|string $chars
+ *
+ * @return string
+ * @throws LocalizedException
+ */
+ public function getRandomString($length, $chars = null)
+ {
+ }
+ /**
+ * Return a random number in the specified range
+ *
+ * @param int $min
+ * @param int $max
+ * @return int A random integer value between min (or 0) and max
+ * @throws LocalizedException
+ */
+ public static function getRandomNumber($min = 0, $max = null)
+ {
+ }
+ /**
+ * Generate a hash from unique ID.
+ *
+ * @param string $prefix
+ * @return string
+ * @throws LocalizedException
+ */
+ public function getUniqueHash($prefix = '')
+ {
+ }
+ /**
+ * Generate a base64 encoded binary string.
+ *
+ * @param int $length
+ * @return string
+ * @throws Exception
+ */
+ public function getRandomBytes(int $length) : string
+ {
+ }
+ }
+}
+namespace Magento\Framework\Math\Test\Unit {
+ class FloatComparatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Checks a case when `a` and `b` are equal.
+ *
+ * @param float $a
+ * @param float $b
+ * @param bool $expected
+ * @dataProvider eqDataProvider
+ */
+ public function testEq(float $a, float $b, bool $expected)
+ {
+ }
+ /**
+ * Gets list of variations to compare equal float.
+ *
+ * @return array
+ */
+ public function eqDataProvider() : array
+ {
+ }
+ /**
+ * Checks a case when `a` > `b`.
+ *
+ * @param float $a
+ * @param float $b
+ * @param bool $expected
+ * @dataProvider gtDataProvider
+ */
+ public function testGt(float $a, float $b, bool $expected)
+ {
+ }
+ /**
+ * Gets list of variations to compare if `a` > `b`.
+ *
+ * @return array
+ */
+ public function gtDataProvider() : array
+ {
+ }
+ /**
+ * Checks a case when `a` >= `b`.
+ *
+ * @param float $a
+ * @param float $b
+ * @param bool $expected
+ * @dataProvider gteDataProvider
+ */
+ public function testGte(float $a, float $b, bool $expected)
+ {
+ }
+ /**
+ * Gets list of variations to compare if `a` >= `b`.
+ *
+ * @return array
+ */
+ public function gteDataProvider() : array
+ {
+ }
+ }
+ class DivisionTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @dataProvider getExactDivisionDataProvider
+ */
+ public function testGetExactDivision($dividend, $divisor, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getExactDivisionDataProvider()
+ {
+ }
+ }
+ class RandomTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @param int $length
+ * @param string $chars
+ *
+ * @dataProvider getRandomStringDataProvider
+ */
+ public function testGetRandomString($length, $chars = null)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getRandomStringDataProvider()
+ {
+ }
+ public function testGetUniqueHash()
+ {
+ }
+ /**
+ * @param string $string
+ * @param string $chars
+ */
+ protected function _assertContainsOnlyChars($string, $chars)
+ {
+ }
+ /**
+ * @param $min
+ * @param $max
+ *
+ * @dataProvider testGetRandomNumberProvider
+ */
+ public function testGetRandomNumber($min, $max)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function testGetRandomNumberProvider()
+ {
+ }
+ }
+ class CalculatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Calculator
+ */
+ protected $_model;
+ /**
+ * @var \PHPUnit\Framework_MockObject
+ */
+ protected $priceCurrency;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param float $price
+ * @param bool $negative
+ * @param float $expected
+ * @dataProvider deltaRoundDataProvider
+ * @covers \Magento\Framework\Math\Calculator::deltaRound
+ * @covers \Magento\Framework\Math\Calculator::__construct
+ */
+ public function testDeltaRound($price, $negative, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function deltaRoundDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Math {
+ /**
+ * Division library
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Division
+ {
+ /**
+ * Const for correct dividing decimal values
+ */
+ const DIVIDE_EPSILON = 10000;
+ /**
+ * Returns the floating point remainder (modulo) of the division of the arguments
+ *
+ * @param float|int $dividend
+ * @param float|int $divisor
+ * @return float|int
+ */
+ public function getExactDivision($dividend, $divisor)
+ {
+ }
+ }
+ /**
+ * Calculations Library
+ *
+ * @api
+ * @since 100.0.2
+ */
+ class Calculator
+ {
+ /**
+ * Delta collected during rounding steps
+ *
+ * @var float
+ */
+ protected $_delta = 0.0;
+ /**
+ * @var \Magento\Framework\Pricing\PriceCurrencyInterface|null
+ */
+ protected $priceCurrency;
+ /**
+ * @param \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency
+ */
+ public function __construct(\Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency)
+ {
+ }
+ /**
+ * Round price considering delta
+ *
+ * @param float $price
+ * @param bool $negative Indicates if we perform addition (true) or subtraction (false) of rounded value
+ * @return float
+ */
+ public function deltaRound($price, $negative = false)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview {
+ /**
+ * Interface \Magento\Framework\Mview\ProcessorInterface
+ *
+ * @api
+ */
+ interface ProcessorInterface
+ {
+ /**
+ * Materialize all views by group (all views if empty)
+ *
+ * @param string $group
+ * @return void
+ */
+ public function update($group = '');
+ /**
+ * Clear all views' changelogs by group (all views if empty)
+ *
+ * @param string $group
+ * @return void
+ */
+ public function clearChangelog($group = '');
+ }
+ /**
+ * Class for removing old triggers that were created by mview
+ */
+ class TriggerCleaner
+ {
+ /**
+ * @param CollectionFactory $viewCollectionFactory
+ * @param ResourceConnection $resource
+ * @param ViewFactory $viewFactory
+ */
+ public function __construct(\Magento\Framework\Mview\View\CollectionFactory $viewCollectionFactory, \Magento\Framework\App\ResourceConnection $resource, \Magento\Framework\Mview\ViewFactory $viewFactory)
+ {
+ }
+ /**
+ * Remove the outdated trigger from the system
+ *
+ * @return bool
+ * @throws \Exception
+ */
+ public function removeTriggers() : bool
+ {
+ }
+ }
+ /**
+ * Interface \Magento\Framework\Mview\ViewInterface
+ *
+ * @api
+ */
+ interface ViewInterface
+ {
+ /**
+ * Return view ID
+ *
+ * @return string
+ */
+ public function getId();
+ /**
+ * Return view action class
+ *
+ * @return string
+ */
+ public function getActionClass();
+ /**
+ * Return view group
+ *
+ * @return string
+ */
+ public function getGroup();
+ /**
+ * Return view subscriptions
+ *
+ * @return array
+ */
+ public function getSubscriptions();
+ /**
+ * Fill view data from config
+ *
+ * @param string $viewId
+ * @return ViewInterface
+ * @throws \InvalidArgumentException
+ */
+ public function load($viewId);
+ /**
+ * Create subscriptions
+ *
+ * @throws \Exception
+ * @return ViewInterface
+ */
+ public function subscribe();
+ /**
+ * Remove subscriptions
+ *
+ * @throws \Exception
+ * @return ViewInterface
+ */
+ public function unsubscribe();
+ /**
+ * Materialize view by IDs in changelog
+ *
+ * @return void
+ * @throws \Exception
+ */
+ public function update();
+ /**
+ * Pause view updates and set version ID to changelog's end
+ *
+ * @return void
+ */
+ public function suspend();
+ /**
+ * Resume view updates
+ *
+ * @return void
+ */
+ public function resume();
+ /**
+ * Clear precessed changelog entries
+ *
+ * @return void
+ */
+ public function clearChangelog();
+ /**
+ * Return related state object
+ *
+ * @return View\StateInterface
+ */
+ public function getState();
+ /**
+ * Set view state object
+ *
+ * @param View\StateInterface $state
+ * @return ViewInterface
+ */
+ public function setState(\Magento\Framework\Mview\View\StateInterface $state);
+ /**
+ * Check whether view is enabled
+ *
+ * @return bool
+ */
+ public function isEnabled();
+ /**
+ * Check whether view is idle
+ *
+ * @return bool
+ */
+ public function isIdle();
+ /**
+ * Check whether view is working
+ *
+ * @return bool
+ */
+ public function isWorking();
+ /**
+ * Check whether view is paused
+ *
+ * @return bool
+ */
+ public function isSuspended();
+ /**
+ * Return view updated datetime
+ *
+ * @return string
+ */
+ public function getUpdated();
+ /**
+ * Retrieve linked changelog
+ *
+ * @return View\ChangelogInterface
+ */
+ public function getChangelog();
+ }
+ /**
+ * Extended Interface of \Magento\Framework\Mview\ViewInterface
+ */
+ interface ViewSubscriptionInterface
+ {
+ /**
+ * Initializes Subscription instance
+ *
+ * @param array $subscriptionConfig
+ * @return \Magento\Framework\Mview\View\SubscriptionInterface
+ */
+ public function initSubscriptionInstance(array $subscriptionConfig);
+ }
+ /**
+ * Mview
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class View extends \Magento\Framework\DataObject implements \Magento\Framework\Mview\ViewInterface, \Magento\Framework\Mview\ViewSubscriptionInterface
+ {
+ /**
+ * Default batch size for partial reindex
+ */
+ public const DEFAULT_BATCH_SIZE = 1000;
+ /**
+ * @var string
+ */
+ protected $_idFieldName = 'view_id';
+ /**
+ * @var ConfigInterface
+ */
+ protected $config;
+ /**
+ * @var ActionFactory
+ */
+ protected $actionFactory;
+ /**
+ * @var View\ChangelogInterface
+ */
+ protected $changelog;
+ /**
+ * @var View\SubscriptionFactory
+ */
+ protected $subscriptionFactory;
+ /**
+ * @var View\StateInterface
+ */
+ protected $state;
+ /**
+ * @param ConfigInterface $config
+ * @param ActionFactory $actionFactory
+ * @param View\StateInterface $state
+ * @param View\ChangelogInterface $changelog
+ * @param SubscriptionFactory $subscriptionFactory
+ * @param array $data
+ * @param array $changelogBatchSize
+ * @param ChangelogBatchWalkerFactory $changelogBatchWalkerFactory
+ */
+ public function __construct(\Magento\Framework\Mview\ConfigInterface $config, \Magento\Framework\Mview\ActionFactory $actionFactory, \Magento\Framework\Mview\View\StateInterface $state, \Magento\Framework\Mview\View\ChangelogInterface $changelog, \Magento\Framework\Mview\View\SubscriptionFactory $subscriptionFactory, array $data = [], array $changelogBatchSize = [], \Magento\Framework\Mview\View\ChangelogBatchWalkerFactory $changelogBatchWalkerFactory = null)
+ {
+ }
+ /**
+ * Return ID
+ *
+ * @return string
+ */
+ public function getId()
+ {
+ }
+ /**
+ * Set ID
+ *
+ * @param string $id
+ * @return $this
+ */
+ public function setId($id)
+ {
+ }
+ /**
+ * Id field name setter
+ *
+ * @param string $name
+ * @return $this
+ */
+ public function setIdFieldName($name)
+ {
+ }
+ /**
+ * Id field name getter
+ *
+ * @return string
+ */
+ public function getIdFieldName()
+ {
+ }
+ /**
+ * Return view action class
+ *
+ * @return string
+ */
+ public function getActionClass()
+ {
+ }
+ /**
+ * Return view group
+ *
+ * @return string
+ */
+ public function getGroup()
+ {
+ }
+ /**
+ * Return view subscriptions
+ *
+ * @return array
+ */
+ public function getSubscriptions()
+ {
+ }
+ /**
+ * Fill view data from config
+ *
+ * @param string $viewId
+ * @return ViewInterface
+ * @throws InvalidArgumentException
+ */
+ public function load($viewId)
+ {
+ }
+ /**
+ * Create subscriptions
+ *
+ * @return ViewInterface
+ * @throws Exception
+ */
+ public function subscribe()
+ {
+ }
+ /**
+ * Remove subscriptions
+ *
+ * @return ViewInterface
+ * @throws Exception
+ */
+ public function unsubscribe()
+ {
+ }
+ /**
+ * Materialize view by IDs in changelog
+ *
+ * @return void
+ * @throws Exception
+ */
+ public function update()
+ {
+ }
+ /**
+ * Suspend view updates and set version ID to changelog's end
+ *
+ * @return void
+ * @throws Exception
+ */
+ public function suspend()
+ {
+ }
+ /**
+ * Resume view updates
+ *
+ * @return void
+ * @throws Exception
+ */
+ public function resume()
+ {
+ }
+ /**
+ * Clear precessed changelog entries
+ *
+ * @return void
+ */
+ public function clearChangelog()
+ {
+ }
+ /**
+ * Return related state object
+ *
+ * @return View\StateInterface
+ */
+ public function getState()
+ {
+ }
+ /**
+ * Set view state object
+ *
+ * @param View\StateInterface $state
+ * @return ViewInterface
+ */
+ public function setState(\Magento\Framework\Mview\View\StateInterface $state)
+ {
+ }
+ /**
+ * Check whether view is enabled
+ *
+ * @return bool
+ */
+ public function isEnabled()
+ {
+ }
+ /**
+ * Check whether view is idle
+ *
+ * @return bool
+ */
+ public function isIdle()
+ {
+ }
+ /**
+ * Check whether view is working
+ *
+ * @return bool
+ */
+ public function isWorking()
+ {
+ }
+ /**
+ * Check whether view is suspended
+ *
+ * @return bool
+ */
+ public function isSuspended()
+ {
+ }
+ /**
+ * Return view updated datetime
+ *
+ * @return string
+ */
+ public function getUpdated()
+ {
+ }
+ /**
+ * Retrieve linked changelog
+ *
+ * @return View\ChangelogInterface
+ */
+ public function getChangelog()
+ {
+ }
+ /**
+ * Initializes Subscription instance
+ *
+ * @param array $subscriptionConfig
+ * @return SubscriptionInterface
+ */
+ public function initSubscriptionInstance(array $subscriptionConfig) : \Magento\Framework\Mview\View\SubscriptionInterface
+ {
+ }
+ }
+ class ActionFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Get action class instance by class name
+ *
+ * @param string $className
+ * @throws \InvalidArgumentException
+ * @return ActionInterface
+ */
+ public function get($className)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\Test\Unit {
+ class XsdTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Path to xsd schema file
+ * @var string
+ */
+ protected $_xsdSchema;
+ /**
+ * @var XsdValidator
+ */
+ protected $_xsdValidator;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $xmlString
+ * @param array $expectedError
+ * @dataProvider schemaCorrectlyIdentifiesInvalidXmlDataProvider
+ */
+ public function testSchemaCorrectlyIdentifiesInvalidXml($xmlString, $expectedError)
+ {
+ }
+ public function testSchemaCorrectlyIdentifiesValidXml()
+ {
+ }
+ /**
+ * Data provider with invalid xml array according to events.xsd
+ */
+ public function schemaCorrectlyIdentifiesInvalidXmlDataProvider()
+ {
+ }
+ }
+ class ProcessorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Processor|MockObject
+ */
+ protected $model;
+ /**
+ * @var CollectionFactory|MockObject
+ */
+ protected $viewsFactoryMock;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Return array of mocked views
+ *
+ * @param string $method
+ * @return ViewInterface[]|MockObject[]
+ */
+ protected function getViews($method)
+ {
+ }
+ /**
+ * Return view collection mock
+ *
+ * @return Collection|MockObject
+ */
+ protected function getViewsMock()
+ {
+ }
+ public function testUpdate()
+ {
+ }
+ public function testUpdateWithGroup()
+ {
+ }
+ public function testClearChangelog()
+ {
+ }
+ public function testClearChangelogWithGroup()
+ {
+ }
+ }
+ class ConfigTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Config
+ */
+ protected $model;
+ /**
+ * @var MockObject|Data
+ */
+ protected $dataMock;
+ protected function setUp() : void
+ {
+ }
+ public function testGetViews()
+ {
+ }
+ public function testGetView()
+ {
+ }
+ }
+ class ActionFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ActionFactory|MockObject
+ */
+ protected $model;
+ /**
+ * @var ObjectManagerInterface|MockObject
+ */
+ protected $objectManagerMock;
+ protected function setUp() : void
+ {
+ }
+ public function testGetWithException()
+ {
+ }
+ public function testGet()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\Test\Unit\Config {
+ class ConverterTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Converter|MockObject
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ public function testConvert()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\Test\Unit\Config\Data {
+ class ProxyTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Proxy
+ */
+ protected $model;
+ /**
+ * @var ObjectManagerInterface|MockObject
+ */
+ protected $objectManagerMock;
+ /**
+ * @var Data|MockObject
+ */
+ protected $dataMock;
+ protected function setUp() : void
+ {
+ }
+ public function testMergeShared()
+ {
+ }
+ public function testMergeNonShared()
+ {
+ }
+ public function testGetShared()
+ {
+ }
+ public function testGetNonShared()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\Test\Unit\Config {
+ class ReaderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Reader
+ */
+ protected $_model;
+ /**
+ * @var Converter|MockObject
+ */
+ protected $_converter;
+ /**
+ * @var FileResolver|MockObject
+ */
+ protected $_fileResolverMock;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @dataProvider readerDataProvider
+ */
+ public function testReadValidConfig($files, $expectedFile)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function readerDataProvider()
+ {
+ }
+ }
+ class DataTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testConstructorWithCache()
+ {
+ }
+ public function testConstructorWithoutCache()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\Test\Unit {
+ /**
+ * Test Mview functionality
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class ViewTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var View
+ */
+ protected $model;
+ /**
+ * @var MockObject|ConfigInterface
+ */
+ protected $configMock;
+ /**
+ * @var MockObject|ActionFactory
+ */
+ protected $actionFactoryMock;
+ /**
+ * @var MockObject|State
+ */
+ protected $stateMock;
+ /**
+ * @var MockObject|Changelog
+ */
+ protected $changelogMock;
+ /**
+ * @var MockObject|SubscriptionFactory
+ */
+ protected $subscriptionFactoryMock;
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test to Return view action class
+ */
+ public function testGetActionClass()
+ {
+ }
+ /**
+ * Test to Return view group
+ */
+ public function testGetGroup()
+ {
+ }
+ /**
+ * Test to Return view subscriptions
+ */
+ public function testGetSubscriptions()
+ {
+ }
+ /**
+ * Test to Fill view data from config
+ */
+ public function testLoad()
+ {
+ }
+ /**
+ * Test to Fill view data from config
+ */
+ public function testLoadWithException()
+ {
+ }
+ /**
+ * Test to Materialize view by IDs in changelog
+ */
+ public function testUpdate()
+ {
+ }
+ /**
+ * Test to Materialize view by IDs in changelog
+ */
+ public function testUpdateEx() : void
+ {
+ }
+ /**
+ * Test to Materialize view by IDs in changelog
+ */
+ public function testUpdateWithException()
+ {
+ }
+ /**
+ * Test update with no changes in the changelog
+ */
+ public function testUpdateWithNoChanges()
+ {
+ }
+ /**
+ * Test to Suspend view updates and set version ID to changelog's end
+ */
+ public function testSuspend()
+ {
+ }
+ /**
+ * Suspend view updates and set version ID to changelog's end
+ */
+ public function testSuspendDisabled()
+ {
+ }
+ /**
+ * Test to Resume view updates
+ */
+ public function testResume()
+ {
+ }
+ /**
+ * Test to Resume view updates
+ *
+ * @param string $status
+ * @dataProvider dataProviderResumeNotSuspended
+ */
+ public function testResumeNotSuspended($status)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function dataProviderResumeNotSuspended()
+ {
+ }
+ /**
+ * Test to Clear precessed changelog entries
+ */
+ public function testClearChangelog()
+ {
+ }
+ /**
+ * Test to Clear precessed changelog entries
+ */
+ public function testClearChangelogDisabled()
+ {
+ }
+ /**
+ * Test to Return related state object
+ */
+ public function testSetState()
+ {
+ }
+ /**
+ * Test to Check whether view is enabled
+ *
+ * @param string $mode
+ * @param bool $result
+ * @dataProvider dataProviderIsEnabled
+ */
+ public function testIsEnabled($mode, $result)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function dataProviderIsEnabled()
+ {
+ }
+ /**
+ * Test to Check whether view is idle
+ *
+ * @param string $status
+ * @param bool $result
+ * @dataProvider dataProviderIsIdle
+ */
+ public function testIsIdle($status, $result)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function dataProviderIsIdle()
+ {
+ }
+ /**
+ * Test to Check whether view is working
+ *
+ * @param string $status
+ * @param bool $result
+ * @dataProvider dataProviderIsWorking
+ */
+ public function testIsWorking($status, $result)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function dataProviderIsWorking()
+ {
+ }
+ /**
+ * Test to Check whether view is suspended
+ *
+ * @param string $status
+ * @param bool $result
+ * @dataProvider dataProviderIsSuspended
+ */
+ public function testIsSuspended($status, $result)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function dataProviderIsSuspended()
+ {
+ }
+ /**
+ * Test to Return view updated datetime
+ */
+ public function testGetUpdated()
+ {
+ }
+ /**
+ * Fill view data from config
+ */
+ protected function loadView()
+ {
+ }
+ /**
+ * @return array
+ */
+ protected function getViewData()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\Test\Unit\View {
+ class SubscriptionFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var SubscriptionFactory|MockObject
+ */
+ protected $model;
+ /**
+ * @var ObjectManagerInterface|MockObject
+ */
+ protected $objectManagerMock;
+ protected function setUp() : void
+ {
+ }
+ public function testCreate()
+ {
+ }
+ }
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class SubscriptionTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Mysql PDO DB adapter mock
+ *
+ * @var MockObject|\Magento\Framework\DB\Adapter\Pdo\Mysql
+ */
+ protected $connectionMock;
+ /**
+ * @var Subscription
+ */
+ protected $model;
+ /**
+ * @var MockObject|ResourceConnection
+ */
+ protected $resourceMock;
+ /**
+ * @var MockObject|TriggerFactory
+ */
+ protected $triggerFactoryMock;
+ /**
+ * @var MockObject|CollectionInterface
+ */
+ protected $viewCollectionMock;
+ /**
+ * @var MockObject|ViewInterface
+ */
+ protected $viewMock;
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetView() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetTableName() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetColumnName() : void
+ {
+ }
+ /**
+ * @return void
+ *
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ */
+ public function testCreate() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testRemove() : void
+ {
+ }
+ /**
+ * Test ignored columns for mview specified at the subscription level.
+ *
+ * @return void
+ * @throws ReflectionException
+ */
+ public function testBuildStatementIgnoredColumnSubscriptionLevel() : void
+ {
+ }
+ }
+ /**
+ * Test Coverage for Changelog View.
+ *
+ * @see \Magento\Framework\Mview\View\Changelog
+ */
+ class ChangelogTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Changelog
+ */
+ protected $model;
+ /**
+ * Mysql PDO DB adapter mock
+ *
+ * @var MockObject|\Magento\Framework\DB\Adapter\Pdo\Mysql
+ */
+ protected $connectionMock;
+ /**
+ * @var MockObject|ResourceConnection
+ */
+ protected $resourceMock;
+ /**
+ * @var ProcessorFactory|MockObject
+ */
+ protected $processorFactory;
+ protected function setUp() : void
+ {
+ }
+ public function testInstanceOf()
+ {
+ }
+ public function testCheckConnectionException()
+ {
+ }
+ public function testGetName()
+ {
+ }
+ public function testGetViewId()
+ {
+ }
+ public function testGetNameWithException()
+ {
+ }
+ public function testGetColumnName()
+ {
+ }
+ public function testGetVersion()
+ {
+ }
+ public function testGetVersionEmptyChangelog()
+ {
+ }
+ public function testGetVersionWithExceptionNoAutoincrement()
+ {
+ }
+ public function testGetVersionWithExceptionNoTable()
+ {
+ }
+ public function testDrop()
+ {
+ }
+ public function testDropWithException()
+ {
+ }
+ public function testCreate()
+ {
+ }
+ public function testCreateWithExistingTable()
+ {
+ }
+ public function testGetList()
+ {
+ }
+ public function testGetListWithException()
+ {
+ }
+ public function testClearWithException()
+ {
+ }
+ /**
+ * @param $connection
+ */
+ protected function mockGetConnection($connection)
+ {
+ }
+ protected function mockGetTableName()
+ {
+ }
+ /**
+ * @param $changelogTableName
+ * @param $result
+ */
+ protected function mockIsTableExists($changelogTableName, $result)
+ {
+ }
+ }
+ class CollectionTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param array $indexers
+ * @param array $views
+ * @param array $stateMode
+ * @param int $numDisabledViews
+ * @param int $numEnabledViews
+ * @dataProvider loadDataAndGetViewsByStateModeDataProvider
+ */
+ public function testLoadDataAndGetViewsByStateMode(array $indexers, array $views, array $stateMode, $numDisabledViews, $numEnabledViews)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function loadDataAndGetViewsByStateModeDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\Test\Unit {
+ /**
+ * test Mview TriggerCleaner functionality
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class TriggerCleanerTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test triggers aren't recreated if their action statements are unchanged
+ *
+ * @return void
+ */
+ public function testRemoveTriggersNoChanges() : void
+ {
+ }
+ }
+ /** test Mview functionality
+ */
+ class ViewSubscribeTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var View
+ */
+ protected $model;
+ /**
+ * @var MockObject|ConfigInterface
+ */
+ protected $configMock;
+ /**
+ * @var MockObject|ActionFactory
+ */
+ protected $actionFactoryMock;
+ /**
+ * @var MockObject|State
+ */
+ protected $stateMock;
+ /**
+ * @var MockObject|Changelog
+ */
+ protected $changelogMock;
+ /**
+ * @var MockObject|SubscriptionFactory
+ */
+ protected $subscriptionFactoryMock;
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test to Create subscriptions
+ */
+ public function testSubscribe()
+ {
+ }
+ /**
+ * Test to Create subscriptions
+ */
+ public function testSubscribeEnabled()
+ {
+ }
+ public function testSubscribeWithException()
+ {
+ }
+ /**
+ * Test to Remove subscriptions
+ */
+ public function testUnsubscribe()
+ {
+ }
+ /**
+ * Test to Remove subscriptions
+ */
+ public function testUnsubscribeDisabled()
+ {
+ }
+ public function testUnsubscribeWithException()
+ {
+ }
+ /**
+ * Fill view data from config
+ */
+ protected function loadView()
+ {
+ }
+ /**
+ * @return array
+ */
+ protected function getViewData()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview {
+ /**
+ * Interface \Magento\Framework\Mview\ConfigInterface
+ *
+ * @api
+ */
+ interface ConfigInterface
+ {
+ /**
+ * Get views list
+ *
+ * @return array[]
+ */
+ public function getViews();
+ /**
+ * Get view by ID
+ *
+ * @param string $viewId
+ * @return array
+ */
+ public function getView($viewId);
+ }
+ /**
+ * Interface \Magento\Framework\Mview\ActionInterface
+ *
+ * @api
+ */
+ interface ActionInterface
+ {
+ /**
+ * Execute materialization on ids entities
+ *
+ * @param int[] $ids
+ * @return void
+ */
+ public function execute($ids);
+ }
+ class Processor implements \Magento\Framework\Mview\ProcessorInterface
+ {
+ /**
+ * @var View\CollectionFactory
+ */
+ protected $viewsFactory;
+ /**
+ * @param View\CollectionFactory $viewsFactory
+ */
+ public function __construct(\Magento\Framework\Mview\View\CollectionFactory $viewsFactory)
+ {
+ }
+ /**
+ * Return list of views by group
+ *
+ * @param string $group
+ * @return ViewInterface[]
+ */
+ protected function getViewsByGroup($group = '')
+ {
+ }
+ /**
+ * Materialize all views by group (all views if empty)
+ *
+ * @param string $group
+ * @return void
+ */
+ public function update($group = '')
+ {
+ }
+ /**
+ * Clear all views' changelogs by group (all views if empty)
+ *
+ * @param string $group
+ * @return void
+ */
+ public function clearChangelog($group = '')
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\Config {
+ class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface
+ {
+ /**
+ * Path to corresponding XSD file with validation rules for merged config
+ *
+ * @var string
+ */
+ protected $_schema = null;
+ /**
+ * Path to corresponding XSD file with validation rules for separate config files
+ *
+ * @var string
+ */
+ protected $_perFileSchema = null;
+ /**
+ * @param \Magento\Framework\Config\Dom\UrnResolver $urnResolver
+ */
+ public function __construct(\Magento\Framework\Config\Dom\UrnResolver $urnResolver)
+ {
+ }
+ /**
+ * Get path to merged config schema
+ *
+ * @return string|null
+ */
+ public function getSchema()
+ {
+ }
+ /**
+ * Get path to pre file validation schema
+ *
+ * @return string|null
+ */
+ public function getPerFileSchema()
+ {
+ }
+ }
+ class Reader extends \Magento\Framework\Config\Reader\Filesystem
+ {
+ /**
+ * List of id attributes for merge
+ *
+ * @var array
+ */
+ protected $_idAttributes = ['/config/view' => 'id', '/config/view/subscriptions/table' => 'name'];
+ /**
+ * @param \Magento\Framework\Config\FileResolverInterface $fileResolver
+ * @param Converter $converter
+ * @param SchemaLocator $schemaLocator
+ * @param \Magento\Framework\Config\ValidationStateInterface $validationState
+ * @param string $fileName
+ * @param array $idAttributes
+ * @param string $domDocumentClass
+ * @param string $defaultScope
+ */
+ public function __construct(\Magento\Framework\Config\FileResolverInterface $fileResolver, \Magento\Framework\Mview\Config\Converter $converter, \Magento\Framework\Mview\Config\SchemaLocator $schemaLocator, \Magento\Framework\Config\ValidationStateInterface $validationState, $fileName = 'mview.xml', $idAttributes = [], $domDocumentClass = \Magento\Framework\Config\Dom::class, $defaultScope = 'global')
+ {
+ }
+ }
+}
+namespace Magento\Framework\ObjectManager {
+ /**
+ * Marker interface, used to identify proxies for which we don't need to generate interceptors
+ *
+ * @api
+ */
+ interface NoninterceptableInterface
+ {
+ }
+}
+namespace Magento\Framework\Mview\Config {
+ /**
+ * Provides materialized view configuration
+ */
+ class Data extends \Magento\Framework\Config\Data
+ {
+ /**
+ * @var \Magento\Framework\Mview\View\State\CollectionInterface
+ */
+ protected $stateCollection;
+ /**
+ * Constructor
+ *
+ * @param Reader $reader
+ * @param \Magento\Framework\Config\CacheInterface $cache
+ * @param \Magento\Framework\Mview\View\State\CollectionInterface $stateCollection
+ * @param string|null $cacheId
+ * @param SerializerInterface|null $serializer
+ */
+ public function __construct(\Magento\Framework\Mview\Config\Reader $reader, \Magento\Framework\Config\CacheInterface $cache, \Magento\Framework\Mview\View\State\CollectionInterface $stateCollection, $cacheId = 'mview_config', \Magento\Framework\Serialize\SerializerInterface $serializer = null)
+ {
+ }
+ /**
+ * Delete all states that are not in configuration
+ *
+ * @return void
+ */
+ protected function deleteNonexistentStates()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\Config\Data {
+ /**
+ * Proxy class for \Magento\Framework\Mview\Config\Data
+ */
+ class Proxy extends \Magento\Framework\Mview\Config\Data implements \Magento\Framework\ObjectManager\NoninterceptableInterface
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Proxied instance name
+ *
+ * @var string
+ */
+ protected $instanceName;
+ /**
+ * Proxied instance
+ *
+ * @var \Magento\Framework\Mview\Config\Data
+ */
+ protected $subject;
+ /**
+ * Instance shareability flag
+ *
+ * @var bool
+ */
+ protected $isShared = null;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ * @param bool $shared
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Mview\Config\Data::class, $shared = true)
+ {
+ }
+ /**
+ * Remove links to objects.
+ *
+ * @return array
+ */
+ public function __sleep()
+ {
+ }
+ /**
+ * Retrieve ObjectManager from global scope
+ *
+ * @return void
+ */
+ public function __wakeup()
+ {
+ }
+ /**
+ * Clone proxied instance
+ *
+ * @return void
+ */
+ public function __clone()
+ {
+ }
+ /**
+ * Get proxied instance
+ *
+ * @return \Magento\Framework\Mview\Config\Data
+ */
+ protected function _getSubject()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function merge(array $config)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function get($path = null, $default = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\Config {
+ class Converter implements \Magento\Framework\Config\ConverterInterface
+ {
+ /**
+ * @param string $defaultProcessor
+ * @param string $defaultIterator
+ */
+ public function __construct(string $defaultProcessor = \Magento\Framework\Mview\View\AdditionalColumnsProcessor\DefaultProcessor::class, string $defaultIterator = \Magento\Framework\Mview\View\ChangelogBatchWalker::class)
+ {
+ }
+ /**
+ * Convert dom node tree to array
+ *
+ * @param \DOMDocument $source
+ * @return array
+ * @throws \InvalidArgumentException
+ */
+ public function convert($source)
+ {
+ }
+ /**
+ * Get attribute value
+ *
+ * @param \DOMNode $input
+ * @param string $attributeName
+ * @param mixed $default
+ * @return null|string
+ */
+ protected function getAttributeValue(\DOMNode $input, $attributeName, $default = null)
+ {
+ }
+ /**
+ * Convert child from dom to array
+ *
+ * @param \DOMNode $childNode
+ * @param array $data
+ * @return array
+ */
+ protected function convertChild(\DOMNode $childNode, $data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\View {
+ abstract class AbstractFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * Instance name
+ */
+ const INSTANCE_NAME = '';
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return CollectionInterface
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ class CollectionFactory extends \Magento\Framework\Mview\View\AbstractFactory
+ {
+ /**
+ * Instance name
+ */
+ const INSTANCE_NAME = \Magento\Framework\Mview\View\CollectionInterface::class;
+ }
+ /**
+ * Interface \Magento\Framework\Mview\View\ChangelogBatchWalkerInterface
+ *
+ */
+ interface ChangelogBatchWalkerInterface
+ {
+ /**
+ * Walk through batches
+ *
+ * @param ChangelogInterface $changelog
+ * @param int $fromVersionId
+ * @param int $lastVersionId
+ * @param int $batchSize
+ * @return iterable
+ */
+ public function walk(\Magento\Framework\Mview\View\ChangelogInterface $changelog, int $fromVersionId, int $lastVersionId, int $batchSize) : iterable;
+ }
+ class SubscriptionFactory extends \Magento\Framework\Mview\View\AbstractFactory
+ {
+ /**
+ * Instance name
+ */
+ const INSTANCE_NAME = \Magento\Framework\Mview\View\SubscriptionInterface::class;
+ /**
+ * @param array $data
+ * @return SubscriptionInterface
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ /**
+ * Interface \Magento\Framework\Mview\View\CollectionInterface
+ *
+ * @api
+ */
+ interface CollectionInterface
+ {
+ /**
+ * Return views by given state mode
+ *
+ * @param string $mode
+ * @return \Magento\Framework\Mview\ViewInterface[]
+ */
+ public function getViewsByStateMode($mode);
+ /**
+ * Search all views by field value
+ *
+ * @param string $column
+ * @param mixed $value
+ * @return \Magento\Framework\Mview\ViewInterface[]
+ */
+ public function getItemsByColumnValue($column, $value);
+ /**
+ * Retrieve collection views
+ *
+ * @return \Magento\Framework\Mview\ViewInterface[]
+ */
+ public function getItems();
+ }
+ class Collection extends \Magento\Framework\Data\Collection implements \Magento\Framework\Mview\View\CollectionInterface
+ {
+ /**
+ * Item object class name
+ *
+ * @var string
+ */
+ protected $_itemObjectClass = \Magento\Framework\Mview\ViewInterface::class;
+ /**
+ * @var \Magento\Framework\Mview\ConfigInterface
+ */
+ protected $config;
+ /**
+ * @var \Magento\Framework\Mview\View\State\CollectionFactory
+ */
+ protected $statesFactory;
+ /**
+ * @param \Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory
+ * @param \Magento\Framework\Mview\ConfigInterface $config
+ * @param State\CollectionFactory $statesFactory
+ * @param ConfigInterface $indexerConfig
+ */
+ public function __construct(\Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory, \Magento\Framework\Mview\ConfigInterface $config, \Magento\Framework\Mview\View\State\CollectionFactory $statesFactory, \Magento\Framework\Indexer\ConfigInterface $indexerConfig = null)
+ {
+ }
+ /**
+ * Load data
+ *
+ * @param bool $printQuery
+ * @param bool $logQuery
+ * @return \Magento\Framework\Mview\View\CollectionInterface
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function loadData($printQuery = false, $logQuery = false)
+ {
+ }
+ /**
+ * Return views by given state mode
+ *
+ * @param string $mode
+ * @return \Magento\Framework\Mview\ViewInterface[]
+ */
+ public function getViewsByStateMode($mode)
+ {
+ }
+ }
+ class ChangelogBatchWalkerFactory
+ {
+ /**
+ * ChangelogBatchWalkerFactory constructor.
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Instantiate BatchWalker interface
+ *
+ * @param string $batchWalkerClassName
+ * @return ChangelogBatchWalkerInterface
+ */
+ public function create(string $batchWalkerClassName) : \Magento\Framework\Mview\View\ChangelogBatchWalkerInterface
+ {
+ }
+ }
+ interface SubscriptionStatementPostprocessorInterface
+ {
+ /**
+ * Postprocess subscription statement.
+ *
+ * @param string $tableName
+ * @param string $event
+ * @param string $statement
+ * @return string
+ */
+ public function process(string $tableName, string $event, string $statement) : string;
+ }
+}
+namespace Magento\Framework\Mview\View\ChangelogBatchWalker {
+ /**
+ * Interface \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsFetcherInterface
+ *
+ */
+ interface IdsFetcherInterface
+ {
+ /**
+ * Fetch ids of changed entities
+ *
+ * @param \Magento\Framework\DB\Select $select
+ * @return array
+ */
+ public function fetch(\Magento\Framework\DB\Select $select) : array;
+ }
+ class IdsFetcher implements \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsFetcherInterface
+ {
+ /**
+ * @param \Magento\Framework\App\ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fetch(\Magento\Framework\DB\Select $select) : array
+ {
+ }
+ }
+ /**
+ * Interface \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsTableBuilderInterface
+ *
+ */
+ interface IdsTableBuilderInterface
+ {
+ public const FIELD_ID = 'id';
+ public const TABLE_NAME_SUFFIX = '_tmp';
+ public const INDEX_NAME_UNIQUE = 'unique';
+ /**
+ * Build table to storage unique ids of changed entries
+ *
+ * @param \Magento\Framework\Mview\View\ChangelogInterface $changelog
+ * @return \Magento\Framework\DB\Ddl\Table
+ */
+ public function build(\Magento\Framework\Mview\View\ChangelogInterface $changelog) : \Magento\Framework\DB\Ddl\Table;
+ }
+ /**
+ * Interface \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsSelectBuilderInterface
+ *
+ */
+ interface IdsSelectBuilderInterface
+ {
+ /**
+ * Build SQL query to collect unique ids of changed entries from changelog table
+ *
+ * @param \Magento\Framework\Mview\View\ChangelogInterface $changelog
+ * @return \Magento\Framework\DB\Select
+ */
+ public function build(\Magento\Framework\Mview\View\ChangelogInterface $changelog) : \Magento\Framework\DB\Select;
+ }
+ class IdsTableBuilder implements \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsTableBuilderInterface
+ {
+ /**
+ * @param \Magento\Framework\App\ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function build(\Magento\Framework\Mview\View\ChangelogInterface $changelog) : \Magento\Framework\DB\Ddl\Table
+ {
+ }
+ }
+ class IdsSelectBuilder implements \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsSelectBuilderInterface
+ {
+ /**
+ * @param \Magento\Framework\App\ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function build(\Magento\Framework\Mview\View\ChangelogInterface $changelog) : \Magento\Framework\DB\Select
+ {
+ }
+ }
+ class IdsContext implements \Magento\Framework\ObjectManager\ContextInterface
+ {
+ /**
+ * @param \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsTableBuilderInterface|null $tableBuilder
+ * @param \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsSelectBuilderInterface|null $selectBuilder
+ * @param \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsFetcherInterface|null $fetcher
+ */
+ public function __construct(\Magento\Framework\Mview\View\ChangelogBatchWalker\IdsTableBuilderInterface $tableBuilder = null, \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsSelectBuilderInterface $selectBuilder = null, \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsFetcherInterface $fetcher = null)
+ {
+ }
+ /**
+ * Get table builder
+ *
+ * @return \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsTableBuilderInterface
+ */
+ public function getTableBuilder() : \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsTableBuilderInterface
+ {
+ }
+ /**
+ * Get select builder
+ *
+ * @return \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsSelectBuilderInterface
+ */
+ public function getSelectBuilder() : \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsSelectBuilderInterface
+ {
+ }
+ /**
+ * Get Ids fetcher
+ *
+ * @return \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsFetcherInterface
+ */
+ public function getFetcher() : \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsFetcherInterface
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\View {
+ /**
+ * @api
+ * @since 100.1.0
+ */
+ class ChangelogTableNotExistsException extends \Magento\Framework\Exception\LocalizedException
+ {
+ }
+}
+namespace Magento\Framework\Mview\View\AdditionalColumnsProcessor {
+ class ProcessorFactory
+ {
+ /**
+ * ProcessorFactory constructor.
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Instantiate additional columns processor
+ *
+ * @param string $processorClassName
+ * @return AdditionalColumnProcessorInterface
+ */
+ public function create(string $processorClassName) : \Magento\Framework\Mview\View\AdditionalColumnProcessorInterface
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\View {
+ interface AdditionalColumnProcessorInterface
+ {
+ /**
+ * Return triggers columns that should participate in trigger creation
+ *
+ * @param string $eventPrefix
+ * @param array $additionalColumns
+ * @return array
+ */
+ public function getTriggerColumns(string $eventPrefix, array $additionalColumns) : array;
+ /**
+ * Process column for DDL table
+ *
+ * @param Table $table
+ * @param string $columnName
+ * @return void
+ */
+ public function processColumnForCLTable(\Magento\Framework\DB\Ddl\Table $table, string $columnName) : void;
+ /**
+ * Retrieve pre-statement for trigger
+ * For instance DQL
+ *
+ * @return string
+ */
+ public function getPreStatements() : string;
+ }
+}
+namespace Magento\Framework\Mview\View\AdditionalColumnsProcessor {
+ class DefaultProcessor implements \Magento\Framework\Mview\View\AdditionalColumnProcessorInterface
+ {
+ /**
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getTriggerColumns(string $eventPrefix, array $additionalColumns) : array
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getPreStatements() : string
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function processColumnForCLTable(\Magento\Framework\DB\Ddl\Table $table, string $columnName) : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview\View {
+ /**
+ * Interface \Magento\Framework\Mview\View\ChangelogBatchWalkerInterface
+ *
+ */
+ class ChangelogBatchWalker implements \Magento\Framework\Mview\View\ChangelogBatchWalkerInterface
+ {
+ /**
+ * @param ResourceConnection $resourceConnection
+ * @param \Magento\Framework\DB\Query\Generator $generator
+ * @param \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsContext $idsContext
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\DB\Query\Generator $generator, \Magento\Framework\Mview\View\ChangelogBatchWalker\IdsContext $idsContext)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function walk(\Magento\Framework\Mview\View\ChangelogInterface $changelog, int $fromVersionId, int $lastVersionId, int $batchSize) : iterable
+ {
+ }
+ }
+ /**
+ * Interface \Magento\Framework\Mview\View\ChangelogInterface
+ *
+ * @api
+ */
+ interface ChangelogInterface
+ {
+ /**
+ * Create changelog table
+ *
+ * @return boolean
+ */
+ public function create();
+ /**
+ * Drop changelog table
+ *
+ * @return boolean
+ */
+ public function drop();
+ /**
+ * Clear changelog by version_id
+ *
+ * @param int $versionId
+ * @return bool
+ */
+ public function clear($versionId);
+ /**
+ * Retrieve entity ids by range [$fromVersionId..$toVersionId]
+ *
+ * @param integer $fromVersionId
+ * @param integer $toVersionId
+ * @return int[]
+ */
+ public function getList($fromVersionId, $toVersionId);
+ /**
+ * Get maximum version_id from changelog
+ *
+ * @return int
+ */
+ public function getVersion();
+ /**
+ * Get changlog name
+ *
+ * @return string
+ */
+ public function getName();
+ /**
+ * Get changlog entity column name
+ *
+ * @return string
+ */
+ public function getColumnName();
+ /**
+ * Set view's identifier
+ *
+ * @param string $viewId
+ * @return ChangelogInterface
+ */
+ public function setViewId($viewId);
+ /**
+ * Get view's identifier
+ *
+ * @return string
+ */
+ public function getViewId();
+ }
+ /**
+ * Interface \Magento\Framework\Mview\View\StateInterface
+ *
+ * @api
+ */
+ interface StateInterface
+ {
+ /**#@+
+ * View modes
+ */
+ const MODE_ENABLED = 'enabled';
+ const MODE_DISABLED = 'disabled';
+ /**#@-*/
+ /**#@+
+ * View statuses
+ */
+ const STATUS_IDLE = 'idle';
+ const STATUS_WORKING = 'working';
+ const STATUS_SUSPENDED = 'suspended';
+ /**#@-*/
+ /**
+ * Fill object with state data by view ID
+ *
+ * @param string $viewId
+ * @return $this
+ */
+ public function loadByView($viewId);
+ /**
+ * Save state object
+ *
+ * @return \Magento\Framework\Mview\View\StateInterface
+ * @throws \Exception
+ */
+ public function save();
+ /**
+ * Delete state object
+ *
+ * @return \Magento\Framework\Mview\View\StateInterface
+ * @throws \Exception
+ */
+ public function delete();
+ /**
+ * Get state view ID
+ *
+ * @return string
+ */
+ public function getViewId();
+ /**
+ * Get state mode
+ *
+ * @return string
+ */
+ public function getMode();
+ /**
+ * Set state mode
+ *
+ * @param string $mode
+ * @return \Magento\Framework\Mview\View\StateInterface
+ */
+ public function setMode($mode);
+ /**
+ * Get state status
+ *
+ * @return string
+ */
+ public function getStatus();
+ /**
+ * Set state status
+ *
+ * @param string $status
+ * @return \Magento\Framework\Mview\View\StateInterface
+ */
+ public function setStatus($status);
+ /**
+ * Get state version ID
+ *
+ * @return string
+ */
+ public function getVersionId();
+ /**
+ * Set state version ID
+ *
+ * @param int $versionId
+ * @return \Magento\Framework\Mview\View\StateInterface
+ */
+ public function setVersionId($versionId);
+ /**
+ * Get state updated time
+ *
+ * @return string
+ */
+ public function getUpdated();
+ /**
+ * Set state updated time
+ *
+ * @param string|int|\DateTimeInterface $updated
+ * @return \Magento\Framework\Mview\View\StateInterface
+ */
+ public function setUpdated($updated);
+ }
+}
+namespace Magento\Framework\Mview\View\State {
+ class CollectionFactory extends \Magento\Framework\Mview\View\AbstractFactory
+ {
+ /**
+ * Instance name
+ */
+ const INSTANCE_NAME = \Magento\Framework\Mview\View\State\CollectionInterface::class;
+ }
+ /**
+ * Interface \Magento\Framework\Mview\View\State\CollectionInterface
+ *
+ * @api
+ */
+ interface CollectionInterface
+ {
+ /**
+ * Retrieve loaded states
+ *
+ * @return array
+ */
+ public function getItems();
+ }
+}
+namespace Magento\Framework\Mview\View {
+ /**
+ * Extended Interface of \Magento\Framework\Mview\View\SubscriptionInterface
+ */
+ interface SubscriptionTriggersInterface
+ {
+ /**
+ * Get all triggers for the subscription
+ *
+ * @return Trigger[]
+ */
+ public function getTriggers();
+ /**
+ * Save a trigger to the DB
+ *
+ * @param Trigger $trigger
+ * @return void
+ * @throws \Zend_Db_Exception
+ */
+ public function saveTrigger(\Magento\Framework\DB\Ddl\Trigger $trigger);
+ }
+ /**
+ * Interface \Magento\Framework\Mview\View\SubscriptionInterface
+ *
+ * @api
+ */
+ interface SubscriptionInterface
+ {
+ /**
+ * Create subsciption
+ *
+ * @return \Magento\Framework\Mview\View\SubscriptionInterface
+ */
+ public function create();
+ /**
+ * Remove subscription
+ *
+ * @return \Magento\Framework\Mview\View\SubscriptionInterface
+ */
+ public function remove();
+ /**
+ * Retrieve View related to subscription
+ *
+ * @return \Magento\Framework\Mview\ViewInterface
+ */
+ public function getView();
+ /**
+ * Retrieve table name
+ *
+ * @return string
+ */
+ public function getTableName();
+ /**
+ * Retrieve table column name
+ *
+ * @return string
+ */
+ public function getColumnName();
+ }
+ /**
+ * Mview subscription.
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class Subscription implements \Magento\Framework\Mview\View\SubscriptionInterface, \Magento\Framework\Mview\View\SubscriptionTriggersInterface
+ {
+ /**
+ * Database connection
+ *
+ * @var AdapterInterface
+ */
+ protected $connection;
+ /**
+ * @var TriggerFactory
+ */
+ protected $triggerFactory;
+ /**
+ * @var CollectionInterface
+ */
+ protected $viewCollection;
+ /**
+ * @var string
+ */
+ protected $view;
+ /**
+ * @var string
+ */
+ protected $tableName;
+ /**
+ * @var string
+ */
+ protected $columnName;
+ /**
+ * List of views linked to the same entity as the current view
+ *
+ * @var array
+ */
+ protected $linkedViews = [];
+ /**
+ * @var Resource
+ */
+ protected $resource;
+ /**
+ * @param ResourceConnection $resource
+ * @param TriggerFactory $triggerFactory
+ * @param CollectionInterface $viewCollection
+ * @param ViewInterface $view
+ * @param string $tableName
+ * @param string $columnName
+ * @param array $ignoredUpdateColumns
+ * @param array $ignoredUpdateColumnsBySubscription
+ * @param Config|null $mviewConfig
+ * @param SubscriptionStatementPostprocessorInterface|null $statementPostprocessor
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resource, \Magento\Framework\DB\Ddl\TriggerFactory $triggerFactory, \Magento\Framework\Mview\View\CollectionInterface $viewCollection, \Magento\Framework\Mview\ViewInterface $view, $tableName, $columnName, $ignoredUpdateColumns = [], $ignoredUpdateColumnsBySubscription = [], ?\Magento\Framework\Mview\Config $mviewConfig = null, ?\Magento\Framework\Mview\View\SubscriptionStatementPostprocessorInterface $statementPostprocessor = null)
+ {
+ }
+ /**
+ * Create subscription
+ *
+ * @param bool $save
+ * @return SubscriptionInterface
+ */
+ public function create(bool $save = true)
+ {
+ }
+ /**
+ * Get all triggers for the subscription
+ *
+ * @return Trigger[]
+ */
+ public function getTriggers() : array
+ {
+ }
+ /**
+ * Save a trigger to the DB
+ *
+ * @param Trigger $trigger
+ * @return void
+ * @throws \Zend_Db_Exception
+ */
+ public function saveTrigger(\Magento\Framework\DB\Ddl\Trigger $trigger) : void
+ {
+ }
+ /**
+ * Remove subscription
+ *
+ * @return SubscriptionInterface
+ */
+ public function remove()
+ {
+ }
+ /**
+ * Retrieve list of linked views
+ *
+ * @return array
+ */
+ protected function getLinkedViews()
+ {
+ }
+ /**
+ * Prepare columns for trigger statement. Should be protected in order to serve new approach
+ *
+ * @param ViewInterface $view
+ * @param string $event
+ * @return array
+ * @throws \Exception
+ */
+ protected function prepareColumns(\Magento\Framework\Mview\ViewInterface $view, string $event) : array
+ {
+ }
+ /**
+ * Build trigger statement for INSERT, UPDATE, DELETE events
+ *
+ * @param string $event
+ * @param ViewInterface $view
+ * @return string
+ */
+ protected function buildStatement(string $event, \Magento\Framework\Mview\ViewInterface $view) : string
+ {
+ }
+ /**
+ * Get subscription column for a view
+ *
+ * @param string $prefix
+ * @param ViewInterface $view
+ * @return string
+ */
+ public function getEntityColumn(string $prefix, \Magento\Framework\Mview\ViewInterface $view) : string
+ {
+ }
+ /**
+ * Retrieve View related to subscription
+ *
+ * @return ViewInterface
+ * @codeCoverageIgnore
+ */
+ public function getView()
+ {
+ }
+ /**
+ * Retrieve table name
+ *
+ * @return string
+ * @codeCoverageIgnore
+ */
+ public function getTableName()
+ {
+ }
+ /**
+ * Retrieve table column name
+ *
+ * @return string
+ * @codeCoverageIgnore
+ */
+ public function getColumnName()
+ {
+ }
+ }
+ class CompositeSubscriptionStatementPostprocessor implements \Magento\Framework\Mview\View\SubscriptionStatementPostprocessorInterface
+ {
+ /**
+ * @param SubscriptionStatementPostprocessorInterface[] $postprocessors
+ */
+ public function __construct(array $postprocessors = [])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function process(string $tableName, string $event, string $statement) : string
+ {
+ }
+ }
+ /**
+ * Class Changelog for manipulations with the mview_state table.
+ */
+ class Changelog implements \Magento\Framework\Mview\View\ChangelogInterface
+ {
+ /**
+ * Suffix for changelog table
+ */
+ public const NAME_SUFFIX = 'cl';
+ /**
+ * Column name of changelog entity
+ */
+ public const COLUMN_NAME = 'entity_id';
+ /**
+ * Column name for Version ID
+ */
+ public const VERSION_ID_COLUMN_NAME = 'version_id';
+ /**
+ * Database connection
+ *
+ * @var \Magento\Framework\DB\Adapter\AdapterInterface
+ */
+ protected $connection;
+ /**
+ * View Id identifier
+ *
+ * @var string
+ */
+ protected $viewId;
+ /**
+ * @var \Magento\Framework\App\ResourceConnection
+ */
+ protected $resource;
+ /**
+ * @param \Magento\Framework\App\ResourceConnection $resource
+ * @param Config $mviewConfig
+ * @param ProcessorFactory $additionalColumnsProcessorFactory
+ * @throws ConnectionException
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resource, \Magento\Framework\Mview\Config $mviewConfig, \Magento\Framework\Mview\View\AdditionalColumnsProcessor\ProcessorFactory $additionalColumnsProcessorFactory)
+ {
+ }
+ /**
+ * Check DB connection
+ *
+ * @return void
+ * @throws ConnectionException
+ */
+ protected function checkConnection()
+ {
+ }
+ /**
+ * Create changelog table
+ *
+ * @return void
+ * @throws \Exception
+ */
+ public function create()
+ {
+ }
+ /**
+ * Drop changelog table
+ *
+ * @return void
+ * @throws ChangelogTableNotExistsException
+ */
+ public function drop()
+ {
+ }
+ /**
+ * Clear changelog table by version_id
+ *
+ * @param int $versionId
+ * @return boolean
+ * @throws ChangelogTableNotExistsException
+ */
+ public function clear($versionId)
+ {
+ }
+ /**
+ * Retrieve entity ids by range [$fromVersionId..$toVersionId]
+ *
+ * @param int $fromVersionId
+ * @param int $toVersionId
+ * @return array
+ * @throws ChangelogTableNotExistsException
+ */
+ public function getList($fromVersionId, $toVersionId)
+ {
+ }
+ /**
+ * Get maximum version_id from changelog
+ *
+ * @return int
+ * @throws ChangelogTableNotExistsException
+ * @throws RuntimeException
+ */
+ public function getVersion()
+ {
+ }
+ /**
+ * Get changlog name
+ *
+ * Build a changelog name by concatenating view identifier and changelog name suffix.
+ *
+ * @throws \DomainException
+ * @return string
+ */
+ public function getName()
+ {
+ }
+ /**
+ * Get changlog entity column name
+ *
+ * @return string
+ */
+ public function getColumnName()
+ {
+ }
+ /**
+ * Set view's identifier
+ *
+ * @param string $viewId
+ * @return Changelog
+ */
+ public function setViewId($viewId)
+ {
+ }
+ /**
+ * Get view's identifier
+ *
+ * @return string
+ */
+ public function getViewId()
+ {
+ }
+ /**
+ * Add list of ids to changelog
+ *
+ * @param array $ids
+ * @return void
+ */
+ public function addList(array $ids) : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Mview {
+ class Config implements \Magento\Framework\Mview\ConfigInterface
+ {
+ /**
+ * @var Config\Data
+ */
+ protected $configData;
+ /**
+ * @param Config\Data $configData
+ */
+ public function __construct(\Magento\Framework\Mview\Config\Data $configData)
+ {
+ }
+ /**
+ * Get views list
+ *
+ * @return array[]
+ */
+ public function getViews()
+ {
+ }
+ /**
+ * Get view by ID
+ *
+ * @param string $viewId
+ * @return array
+ */
+ public function getView($viewId)
+ {
+ }
+ }
+}
+namespace Magento\Framework\DataObject {
+ /**
+ * Utility class for mapping data between objects or arrays
+ *
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ class Mapper
+ {
+ /**
+ * Convert data from source to target item using map array
+ *
+ * Will get or set data with generic or magic, or specified Magento Object methods, or with array keys
+ * from or to \Magento\Framework\DataObject or array
+ * :)
+ *
+ * Map must either be associative array of keys from=>to
+ * or a numeric array of keys, assuming from = to
+ *
+ * Defaults must be assoc array of keys => values. Target will get default, if the value is not present in source
+ * If the source has getter defined instead of magic method, the value will be taken only if not empty
+ *
+ * Callbacks explanation (when $from or $to is not array):
+ * for $from:
+ * <\Magento\Framework\DataObject> => $from->getData($key) (default)
+ * array(<\Magento\Framework\DataObject>, ) => $from->$method($key)
+ * for $to (makes sense only for \Magento\Framework\DataObject):
+ * <\Magento\Framework\DataObject> => $from->setData($key, )
+ * array(<\Magento\Framework\DataObject>, ) => $from->$method($key, )
+ *
+ * @param array|\Magento\Framework\DataObject|callable $from
+ * @param array|\Magento\Framework\DataObject|callable $to
+ * @param array $map
+ * @param array $defaults
+ * @return array|object
+ */
+ public static function &accumulateByMap($from, $to, array $map, array $defaults = [])
+ {
+ }
+ }
+ /**
+ * Class Factory
+ *
+ * @api
+ */
+ class Factory
+ {
+ /**
+ * Create class instance with specified parameters
+ *
+ * @param array $data
+ * @return \Magento\Framework\DataObject
+ */
+ public function create(array $data = [])
+ {
+ }
+ }
+ /**
+ * Interface Identity Generator
+ *
+ * @api
+ */
+ interface IdentityGeneratorInterface
+ {
+ /**
+ * Generate id
+ *
+ * @return string
+ **/
+ public function generateId();
+ /**
+ * Generate id for data
+ *
+ * @param string $data
+ * @return string
+ **/
+ public function generateIdForData($data);
+ }
+ /**
+ * Class IdentityService
+ */
+ class IdentityService implements \Magento\Framework\DataObject\IdentityGeneratorInterface
+ {
+ /**
+ * IdentityService constructor.
+ */
+ public function __construct()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function generateId()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function generateIdForData($data)
+ {
+ }
+ }
+ /**
+ * Interface IdentityValidatorInterface
+ *
+ * @api
+ */
+ interface IdentityValidatorInterface
+ {
+ /**
+ * Checks if uuid is valid
+ *
+ * @param string $value
+ *
+ * @return bool
+ */
+ public function isValid(string $value) : bool;
+ }
+ /**
+ * Class IdentityValidator
+ *
+ * Class for validating Uuid's
+ */
+ class IdentityValidator implements \Magento\Framework\DataObject\IdentityValidatorInterface
+ {
+ /**
+ * @inheritDoc
+ */
+ public function isValid(string $value) : bool
+ {
+ }
+ }
+}
+namespace Magento\Framework\DataObject\Copy\Config {
+ class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface
+ {
+ /**
+ * Path to corresponding XSD file with validation rules for merged config
+ *
+ * @var string
+ */
+ protected $_schema;
+ /**
+ * Path to corresponding XSD file with validation rules for separate config files
+ *
+ * @var string
+ */
+ protected $_perFileSchema;
+ /**
+ * @param UrnResolver $urnResolver
+ * @param string $schema
+ * @param string $perFileSchema
+ */
+ public function __construct(\Magento\Framework\Config\Dom\UrnResolver $urnResolver, $schema, $perFileSchema)
+ {
+ }
+ /**
+ * Get path to merged config schema
+ *
+ * @return string|null
+ */
+ public function getSchema()
+ {
+ }
+ /**
+ * Get path to per file validation schema
+ *
+ * @return string|null
+ */
+ public function getPerFileSchema()
+ {
+ }
+ }
+ class Reader extends \Magento\Framework\Config\Reader\Filesystem
+ {
+ /**
+ * List of identifier attributes for merging
+ *
+ * @var array
+ */
+ protected $_idAttributes = ['/config/scope' => 'id', '/config/scope/fieldset' => 'id', '/config/scope/fieldset/field' => 'name', '/config/scope/fieldset/field/aspect' => 'name'];
+ /**
+ * @param \Magento\Framework\Config\FileResolverInterface $fileResolver
+ * @param \Magento\Framework\DataObject\Copy\Config\Converter $converter
+ * @param \Magento\Framework\Config\SchemaLocatorInterface $schemaLocator
+ * @param \Magento\Framework\Config\ValidationStateInterface $validationState
+ * @param string $fileName
+ * @param array $idAttributes
+ * @param string $domDocumentClass
+ * @param string $defaultScope
+ */
+ public function __construct(\Magento\Framework\Config\FileResolverInterface $fileResolver, \Magento\Framework\DataObject\Copy\Config\Converter $converter, \Magento\Framework\Config\SchemaLocatorInterface $schemaLocator, \Magento\Framework\Config\ValidationStateInterface $validationState, $fileName = 'fieldset.xml', $idAttributes = [], $domDocumentClass = \Magento\Framework\Config\Dom::class, $defaultScope = 'global')
+ {
+ }
+ }
+ /**
+ * Provides DataObject copier configuration
+ */
+ class Data extends \Magento\Framework\Config\Data
+ {
+ }
+}
+namespace Magento\Framework\DataObject\Copy\Config\Data {
+ /**
+ * Proxy class for @see \Magento\Framework\DataObject\Copy\Config\Data
+ */
+ class Proxy extends \Magento\Framework\DataObject\Copy\Config\Data implements \Magento\Framework\ObjectManager\NoninterceptableInterface
+ {
+ /**
+ * Object Manager instance
+ *
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $_objectManager = null;
+ /**
+ * Proxied instance name
+ *
+ * @var string
+ */
+ protected $_instanceName = null;
+ /**
+ * Proxied instance
+ *
+ * @var \Magento\Framework\DataObject\Copy\Config\Data
+ */
+ protected $_subject = null;
+ /**
+ * Instance shareability flag
+ *
+ * @var bool
+ */
+ protected $_isShared = null;
+ /**
+ * Proxy constructor
+ *
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ * @param bool $shared
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\DataObject\Copy\Config\Data::class, $shared = true)
+ {
+ }
+ /**
+ * Remove links to other objects.
+ *
+ * @return array
+ */
+ public function __sleep()
+ {
+ }
+ /**
+ * Retrieve ObjectManager from global scope
+ *
+ * @return void
+ */
+ public function __wakeup()
+ {
+ }
+ /**
+ * Clone proxied instance
+ *
+ * @return void
+ */
+ public function __clone()
+ {
+ }
+ /**
+ * Get proxied instance
+ *
+ * @return \Magento\Framework\DataObject\Copy\Config\Data
+ */
+ protected function _getSubject()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function merge(array $config)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function get($path = null, $default = null)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function reset()
+ {
+ }
+ }
+}
+namespace Magento\Framework\DataObject\Copy\Config {
+ class Converter implements \Magento\Framework\Config\ConverterInterface
+ {
+ /**
+ * Convert dom node tree to array
+ *
+ * @param \DOMDocument $source
+ * @return array
+ */
+ public function convert($source)
+ {
+ }
+ /**
+ * Convert Scope node to Magento array
+ *
+ * @param \DOMNode $scope
+ * @return array
+ */
+ protected function _convertScope($scope)
+ {
+ }
+ /**
+ * Convert Fieldset node to Magento array
+ *
+ * @param \DOMNode $fieldset
+ * @return array
+ */
+ protected function _convertFieldset($fieldset)
+ {
+ }
+ /**
+ * Convert Field node to Magento array
+ *
+ * @param \DOMNode $field
+ * @return array
+ */
+ protected function _convertField($field)
+ {
+ }
+ }
+}
+namespace Magento\Framework\DataObject\Copy {
+ class Config
+ {
+ /**
+ * @var \Magento\Framework\DataObject\Copy\Config\Data
+ */
+ protected $_dataStorage;
+ /**
+ * @param \Magento\Framework\DataObject\Copy\Config\Data $dataStorage
+ */
+ public function __construct(\Magento\Framework\DataObject\Copy\Config\Data $dataStorage)
+ {
+ }
+ /**
+ * Get fieldsets by $path
+ *
+ * @param string $path
+ * @return array
+ */
+ public function getFieldsets($path)
+ {
+ }
+ /**
+ * Get the fieldset for an area
+ *
+ * @param string $name fieldset name
+ * @param string $root fieldset area, could be 'admin'
+ * @return null|array
+ */
+ public function getFieldset($name, $root = 'global')
+ {
+ }
+ }
+}
+namespace Magento\Framework\DataObject\Test\Unit\Copy {
+ class ConfigTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Data|MockObject
+ */
+ protected $_storageMock;
+ /**
+ * @var MockObject|Config
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ public function testGetFieldsets()
+ {
+ }
+ public function testGetFieldset()
+ {
+ }
+ public function testGetFieldsetIfFieldsetIsEmpty()
+ {
+ }
+ }
+}
+namespace Magento\Framework\DataObject\Test\Unit\Copy\Config {
+ class SchemaLocatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var SchemaLocator
+ */
+ protected $model;
+ protected function setUp() : void
+ {
+ }
+ public function testGetSchema()
+ {
+ }
+ public function testGetPerFileSchema()
+ {
+ }
+ }
+ class ConverterTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var MockObject|Converter
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ public function testConvert()
+ {
+ }
+ }
+}
+namespace Magento\Framework\DataObject\Test\Unit {
+ class CacheTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Cache
+ */
+ protected $cache;
+ protected function setUp() : void
+ {
+ }
+ public function testSaveWhenArgumentIsNotObject()
+ {
+ }
+ public function testSaveWhenObjectAlreadyExistsInRegistry()
+ {
+ }
+ public function testSaveAndDeleteWhenHashAlreadyExist()
+ {
+ }
+ public function testReferenceWhenReferenceAlreadyExist()
+ {
+ }
+ public function testReferenceWhenReferenceEmpty()
+ {
+ }
+ public function testLoadWhenReferenceAndObjectAlreadyExists()
+ {
+ }
+ public function testLoad()
+ {
+ }
+ public function testDeleteWhenIdxIsObject()
+ {
+ }
+ public function testDeleteIfReferencesExists()
+ {
+ }
+ public function testDeleteByClass()
+ {
+ }
+ public function testDebug()
+ {
+ }
+ public function testGetAndDeleteTags()
+ {
+ }
+ public function testSinglton()
+ {
+ }
+ }
+ class MapperTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Mapper
+ */
+ protected $mapper;
+ /**
+ * @var MockObject
+ */
+ protected $fromMock;
+ /**
+ * @var MockObject
+ */
+ protected $toMock;
+ protected function setUp() : void
+ {
+ }
+ public function testAccumulateByMapWhenToIsArrayFromIsObject()
+ {
+ }
+ public function testAccumulateByMapWhenToAndFromAreObjects()
+ {
+ }
+ public function testAccumulateByMapWhenFromIsArrayToIsObject()
+ {
+ }
+ public function testAccumulateByMapFromAndToAreArrays()
+ {
+ }
+ }
+ /**
+ * Unit tests coverage for @see \Magento\Framework\DataObject\Copy
+ */
+ class CopyTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Copy
+ */
+ protected $copy;
+ /**
+ * @var MockObject
+ */
+ protected $fieldsetConfigMock;
+ /**
+ * @var MockObject
+ */
+ protected $eventManagerMock;
+ /**
+ * @var MockObject
+ */
+ protected $targetMock;
+ /**
+ * @var MockObject
+ */
+ protected $sourceMock;
+ /**
+ * @var MockObject
+ */
+ protected $extensionAttributesFactoryMock;
+ protected function setUp() : void
+ {
+ }
+ public function testCopyFieldsetToTargetWhenFieldsetInputInvalid()
+ {
+ }
+ public function testCopyFieldsetToTargetWhenFieldIsNotExists()
+ {
+ }
+ public function testCopyFieldsetToTargetWhenFieldExists()
+ {
+ }
+ public function testCopyFieldsetToTargetWhenTargetNotArray()
+ {
+ }
+ public function testGetCopyFieldsetToTargetWhenTargetIsArray()
+ {
+ }
+ public function testGetCopyFieldsetToTargetWhenTargetIsExtensibleDataInterface()
+ {
+ }
+ public function testGetCopyFieldsetToTargetWhenTargetIsAbstractSimpleObject()
+ {
+ }
+ public function testGetDataFromFieldsetWhenSourceIsInvalid()
+ {
+ }
+ public function testGetDataFromFieldsetWhenFieldsetDoesNotExist()
+ {
+ }
+ public function testGetDataFromFieldsetWhenFieldExists()
+ {
+ }
+ public function testGetDataFromFieldsetWhenFieldDoesNotExists()
+ {
+ }
+ public function testGetExtensionAttributeForDataObjectChild()
+ {
+ }
+ public function testGetDataObjectFieldFromExtensibleEntity()
+ {
+ }
+ }
+}
+namespace Magento\Framework\DataObject {
+ /**
+ * Interface \Magento\Framework\DataObject\KeyValueObjectInterface
+ *
+ * @api
+ */
+ interface KeyValueObjectInterface
+ {
+ const KEY = 'key';
+ const VALUE = 'value';
+ /**
+ * Get object key
+ *
+ * @return string
+ */
+ public function getKey();
+ /**
+ * Set object key
+ *
+ * @param string $key
+ * @return $this
+ */
+ public function setKey($key);
+ /**
+ * Get object value
+ *
+ * @return string
+ */
+ public function getValue();
+ /**
+ * Set object value
+ *
+ * @param string $value
+ * @return $this
+ */
+ public function setValue($value);
+ }
+ /**
+ * Utility class for copying data sets between objects
+ *
+ * @api
+ */
+ class Copy
+ {
+ /**
+ * @var Config
+ */
+ protected $fieldsetConfig;
+ /**
+ * @var ManagerInterface
+ */
+ protected $eventManager = null;
+ /**
+ * @var ExtensionAttributesFactory
+ */
+ protected $extensionAttributesFactory;
+ /**
+ * @param ManagerInterface $eventManager
+ * @param Config $fieldsetConfig
+ * @param ExtensionAttributesFactory $extensionAttributesFactory
+ */
+ public function __construct(\Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Framework\DataObject\Copy\Config $fieldsetConfig, \Magento\Framework\Api\ExtensionAttributesFactory $extensionAttributesFactory)
+ {
+ }
+ /**
+ * Copy data from object|array to object|array containing fields from fieldset matching an aspect.
+ *
+ * Contents of $aspect are a field name in target object or array.
+ * If targetField attribute is not provided - will be used the same name as in the source object or array.
+ *
+ * @param string $fieldset
+ * @param string $aspect
+ * @param array|DataObject|ExtensibleDataInterface|AbstractSimpleObject $source
+ * @param array|DataObject|ExtensibleDataInterface|AbstractSimpleObject $target
+ * @param string $root
+ *
+ * @return array|DataObject|null the value of $target
+ * @throws \InvalidArgumentException
+ */
+ public function copyFieldsetToTarget($fieldset, $aspect, $source, $target, $root = 'global')
+ {
+ }
+ /**
+ * Dispatch copy fieldset event
+ *
+ * @param string $fieldset
+ * @param string $aspect
+ * @param array|DataObject|ExtensibleDataInterface|AbstractSimpleObject $source
+ * @param array|DataObject|ExtensibleDataInterface|AbstractSimpleObject $target
+ * @param string $root
+ * @param bool $targetIsArray
+ *
+ * @return DataObject|mixed
+ */
+ protected function dispatchCopyFieldSetEvent($fieldset, $aspect, $source, $target, $root, $targetIsArray)
+ {
+ }
+ /**
+ * Get data from object|array to object|array containing fields from fieldset matching an aspect.
+ *
+ * @param string $fieldset
+ * @param string $aspect a field name
+ * @param array|DataObject|ExtensibleDataInterface|AbstractSimpleObject $source
+ * @param string $root
+ *
+ * @return array
+ */
+ public function getDataFromFieldset($fieldset, $aspect, $source, $root = 'global')
+ {
+ }
+ /**
+ * Check if source and target are valid input for converting using fieldset
+ *
+ * @param array|DataObject|ExtensibleDataInterface|AbstractSimpleObject $source
+ * @param array|DataObject|ExtensibleDataInterface|AbstractSimpleObject $target
+ *
+ * @return bool
+ */
+ protected function _isFieldsetInputValid($source, $target)
+ {
+ }
+ /**
+ * Get value of source by code
+ *
+ * @param array|DataObject|ExtensibleDataInterface|AbstractSimpleObject $source
+ * @param string $code
+ *
+ * @return mixed
+ * @throws \InvalidArgumentException
+ */
+ protected function _getFieldsetFieldValue($source, $code)
+ {
+ }
+ /**
+ * Set value of target by code
+ *
+ * @param array|DataObject|ExtensibleDataInterface|AbstractSimpleObject $target
+ * @param string $targetCode
+ * @param mixed $value
+ *
+ * @return array|DataObject|ExtensibleDataInterface|AbstractSimpleObject
+ * @throws \InvalidArgumentException
+ */
+ protected function _setFieldsetFieldValue($target, $targetCode, $value)
+ {
+ }
+ /**
+ * Access the extension get method
+ *
+ * @param ExtensibleDataInterface $source
+ * @param string $code
+ *
+ * @return mixed
+ * @throws \InvalidArgumentException
+ *
+ * @deprecated 102.0.3
+ * @see \Magento\Framework\DataObject\Copy::getAttributeValueFromExtensibleObject
+ */
+ protected function getAttributeValueFromExtensibleDataObject($source, $code)
+ {
+ }
+ /**
+ * Access the extension set method
+ *
+ * @param ExtensibleDataInterface $target
+ * @param string $code
+ * @param mixed $value
+ *
+ * @return void
+ * @throws \InvalidArgumentException
+ *
+ * @deprecated 102.0.3
+ * @see \Magento\Framework\DataObject\Copy::setAttributeValueFromExtensibleObject
+ */
+ protected function setAttributeValueFromExtensibleDataObject(\Magento\Framework\Api\ExtensibleDataInterface $target, $code, $value)
+ {
+ }
+ }
+ /**
+ * Object Cache
+ *
+ * Stores objects for reuse, cleanup and to avoid circular references
+ *
+ * @author Magento Core Team
+ */
+ class Cache
+ {
+ /**
+ * Singleton instance
+ *
+ * @var \Magento\Framework\DataObject\Cache
+ */
+ protected static $_instance;
+ /**
+ * Running object index for anonymous objects
+ *
+ * @var integer
+ */
+ protected $_idx = 0;
+ /**
+ * Array of objects
+ *
+ * @var array of objects
+ */
+ protected $_objects = [];
+ /**
+ * SPL object hashes
+ *
+ * @var array
+ */
+ protected $_hashes = [];
+ /**
+ * SPL hashes by object
+ *
+ * @var array
+ */
+ protected $_objectHashes = [];
+ /**
+ * Objects by tags for cleanup
+ *
+ * @var array 2D
+ */
+ protected $_tags = [];
+ /**
+ * Tags by objects
+ *
+ * @var array 2D
+ */
+ protected $_objectTags = [];
+ /**
+ * References to objects
+ *
+ * @var array
+ */
+ protected $_references = [];
+ /**
+ * References by object
+ *
+ * @var array 2D
+ */
+ protected $_objectReferences = [];
+ /**
+ * Debug data such as backtrace per class
+ *
+ * @var array
+ */
+ protected $_debug = [];
+ /**
+ * Singleton factory
+ *
+ * @return \Magento\Framework\DataObject\Cache
+ */
+ public static function singleton()
+ {
+ }
+ /**
+ * Load an object from registry
+ *
+ * @param string|object $idx
+ * @param object $default
+ * @return object
+ */
+ public function load($idx, $default = null)
+ {
+ }
+ /**
+ * Save an object entry
+ *
+ * @param object $object
+ * @param string $idx
+ * @param array|string $tags
+ * @return string
+ * @throws \Magento\Framework\Exception\LocalizedException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function save($object, $idx = null, $tags = null)
+ {
+ }
+ /**
+ * Add a reference to an object
+ *
+ * @param string|array $refName
+ * @param string $idx
+ * @return bool|void
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function reference($refName, $idx)
+ {
+ }
+ /**
+ * Delete an object from registry
+ *
+ * @param string|object $idx
+ * @return boolean
+ */
+ public function delete($idx)
+ {
+ }
+ /**
+ * Cleanup by class name for objects of subclasses too
+ *
+ * @param string $class
+ * @return void
+ */
+ public function deleteByClass($class)
+ {
+ }
+ /**
+ * Cleanup objects by tags
+ *
+ * @param array|string $tags
+ * @return true
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ public function deleteByTags($tags)
+ {
+ }
+ /**
+ * Check whether object id exists in registry
+ *
+ * @param string $idx
+ * @return boolean
+ */
+ public function has($idx)
+ {
+ }
+ /**
+ * Find an object id
+ *
+ * @param object $object
+ * @return string|boolean
+ */
+ public function find($object)
+ {
+ }
+ /**
+ * Find objects by ids
+ *
+ * @param string[] $ids
+ * @return array
+ */
+ public function findByIds($ids)
+ {
+ }
+ /**
+ * Find object by hash
+ *
+ * @param string $hash
+ * @return object
+ */
+ public function findByHash($hash)
+ {
+ }
+ /**
+ * Find objects by tags
+ *
+ * @param array|string $tags
+ * @return array
+ * @SuppressWarnings(PHPMD.UnusedLocalVariable)
+ */
+ public function findByTags($tags)
+ {
+ }
+ /**
+ * Find by class name for objects of subclasses too
+ *
+ * @param string $class
+ * @return array
+ */
+ public function findByClass($class)
+ {
+ }
+ /**
+ * Debug
+ *
+ * @param string $idx
+ * @param object|null $object
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function debug($idx, $object = null)
+ {
+ }
+ /**
+ * Return debug information by ids
+ *
+ * @param array|string $ids
+ * @return array
+ */
+ public function debugByIds($ids)
+ {
+ }
+ /**
+ * Get all objects
+ *
+ * @return array
+ */
+ public function getAllObjects()
+ {
+ }
+ /**
+ * Get all tags
+ *
+ * @return array
+ */
+ public function getAllTags()
+ {
+ }
+ /**
+ * Get all tags by object
+ *
+ * @return array
+ */
+ public function getAllTagsByObject()
+ {
+ }
+ /**
+ * Get all references
+ *
+ * @return array
+ */
+ public function getAllReferences()
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * Registry model. Used to manage values in registry
+ *
+ * Registry usage as a shared service introduces temporal, hard to detect coupling into system.
+ * Its usage should be avoided. Use service classes or data providers instead.
+ *
+ * @api
+ * @deprecated 102.0.0
+ * @see Nothing
+ * @since 100.0.2
+ */
+ class Registry implements \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * Retrieve a value from registry by a key
+ *
+ * @param string $key
+ * @return mixed
+ * @deprecated 102.0.0
+ * @see Nothing
+ */
+ public function registry($key)
+ {
+ }
+ /**
+ * Register a new variable
+ *
+ * @param string $key
+ * @param mixed $value
+ * @param bool $graceful
+ * @return void
+ * @throws \RuntimeException
+ * @deprecated 102.0.0
+ * @see Nothing
+ */
+ public function register($key, $value, $graceful = false)
+ {
+ }
+ /**
+ * Unregister a variable from register by key
+ *
+ * @param string $key
+ * @return void
+ * @deprecated 102.0.0
+ * @see Nothing
+ */
+ public function unregister($key)
+ {
+ }
+ /**
+ * Destruct registry items
+ */
+ public function __destruct()
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ }
+ /**
+ * @api
+ * @since 100.0.2
+ */
+ class Filesystem
+ {
+ /**
+ * @var \Magento\Framework\Filesystem\DirectoryList
+ */
+ protected $directoryList;
+ /**
+ * @var \Magento\Framework\Filesystem\Directory\ReadFactory
+ */
+ protected $readFactory;
+ /**
+ * @var \Magento\Framework\Filesystem\Directory\WriteFactory
+ */
+ protected $writeFactory;
+ /**
+ * @var \Magento\Framework\Filesystem\Directory\ReadInterface[]
+ */
+ protected $readInstances = [];
+ /**
+ * @var \Magento\Framework\Filesystem\Directory\WriteInterface[]
+ */
+ protected $writeInstances = [];
+ /**
+ * @param Filesystem\DirectoryList $directoryList
+ * @param Filesystem\Directory\ReadFactory $readFactory
+ * @param Filesystem\Directory\WriteFactory $writeFactory
+ */
+ public function __construct(\Magento\Framework\Filesystem\DirectoryList $directoryList, \Magento\Framework\Filesystem\Directory\ReadFactory $readFactory, \Magento\Framework\Filesystem\Directory\WriteFactory $writeFactory)
+ {
+ }
+ /**
+ * Create an instance of directory with read permissions
+ *
+ * @param string $directoryCode
+ * @param string $driverCode
+ * @return \Magento\Framework\Filesystem\Directory\ReadInterface
+ */
+ public function getDirectoryRead($directoryCode, $driverCode = \Magento\Framework\Filesystem\DriverPool::FILE)
+ {
+ }
+ /**
+ * Create an instance of directory with read permissions by path.
+ *
+ * @param string $path
+ * @param string $driverCode
+ *
+ * @return \Magento\Framework\Filesystem\Directory\ReadInterface
+ *
+ * @since 102.0.0
+ */
+ public function getDirectoryReadByPath($path, $driverCode = \Magento\Framework\Filesystem\DriverPool::FILE)
+ {
+ }
+ /**
+ * Create an instance of directory with write permissions
+ *
+ * @param string $directoryCode
+ * @param string $driverCode
+ * @return \Magento\Framework\Filesystem\Directory\WriteInterface
+ * @throws \Magento\Framework\Exception\FileSystemException
+ */
+ public function getDirectoryWrite($directoryCode, $driverCode = \Magento\Framework\Filesystem\DriverPool::FILE)
+ {
+ }
+ /**
+ * Gets configuration of a directory
+ *
+ * @param string $code
+ * @return string
+ */
+ protected function getDirPath($code)
+ {
+ }
+ /**
+ * Retrieve uri for given code
+ *
+ * @param string $code
+ * @return string
+ */
+ public function getUri($code)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Validation {
+ /**
+ * Validation exception with possibility to set several error messages
+ *
+ * ValidationException exists to be compatible with the Web-API (SOAP and REST) implementation which currently
+ * uses Magento\Framework\Exception\AggregateExceptionInterface returned as a result of ServiceContracts call
+ * to support Multi-Error response.
+ *
+ * @api
+ * @since 101.0.7
+ */
+ class ValidationException extends \Magento\Framework\Exception\LocalizedException implements \Magento\Framework\Exception\AggregateExceptionInterface
+ {
+ /**
+ * @param Phrase $phrase
+ * @param \Exception $cause
+ * @param int $code
+ * @param ValidationResult|null $validationResult
+ */
+ public function __construct(\Magento\Framework\Phrase $phrase, \Exception $cause = null, $code = 0, \Magento\Framework\Validation\ValidationResult $validationResult = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @since 101.0.7
+ */
+ public function getErrors() : array
+ {
+ }
+ }
+ /**
+ * ValidationResult object supposed to be created by dedicated validator service which makes a validation and checks
+ * whether all entity invariants (business rules that always should be fulfilled) are valid.
+ *
+ * ValidationResult represents a container storing all the validation errors that happened during the entity validation.
+ *
+ * @api
+ * @since 101.0.7
+ */
+ class ValidationResult
+ {
+ /**
+ * @param array $errors
+ */
+ public function __construct(array $errors)
+ {
+ }
+ /**
+ * @return bool
+ * @since 101.0.7
+ */
+ public function isValid() : bool
+ {
+ }
+ /**
+ * @return array
+ * @since 101.0.7
+ */
+ public function getErrors() : array
+ {
+ }
+ }
+}
+namespace Magento\Framework {
+ /**
+ * Shell command line wrapper encapsulates command execution and arguments escaping
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ShellInterface
+ {
+ /**
+ * Execute a command through the command line, passing properly escaped arguments
+ *
+ * @param string $command Command with optional argument markers '%s'
+ * @param string[] $arguments Argument values to substitute markers with
+ * @throws \Magento\Framework\Exception\LocalizedException If a command returns non-zero exit code
+ * @return string
+ */
+ public function execute($command, array $arguments = []);
+ }
+ /**
+ * Shell command line wrapper encapsulates command execution and arguments escaping
+ */
+ class Shell implements \Magento\Framework\ShellInterface
+ {
+ /**
+ * Logger instance
+ *
+ * @var \Psr\Log\LoggerInterface
+ */
+ protected $logger;
+ /**
+ * @param CommandRendererInterface $commandRenderer
+ * @param \Psr\Log\LoggerInterface $logger Logger instance to be used to log commands and their output
+ */
+ public function __construct(\Magento\Framework\Shell\CommandRendererInterface $commandRenderer, \Psr\Log\LoggerInterface $logger = null)
+ {
+ }
+ /**
+ * Execute a command through the command line, passing properly escaped arguments, and return its output
+ *
+ * @param string $command Command with optional argument markers '%s'
+ * @param string[] $arguments Argument values to substitute markers with
+ * @return string Output of an executed command
+ * @throws \Magento\Framework\Exception\LocalizedException If a command returns non-zero exit code
+ */
+ public function execute($command, array $arguments = [])
+ {
+ }
+ /**
+ * Log a message, if a logger is specified
+ *
+ * @param string $message
+ * @return void
+ */
+ protected function log($message)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer {
+ /**
+ * Indexer structure (schema) handler
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface IndexStructureInterface
+ {
+ /**
+ * @param string $index
+ * @param Dimension[] $dimensions
+ * @return void
+ */
+ public function delete($index, array $dimensions = []);
+ /**
+ * @param string $index
+ * @param array $fields
+ * @param Dimension[] $dimensions
+ * @return void
+ */
+ public function create($index, array $fields, array $dimensions = []);
+ }
+ class GridStructure implements \Magento\Framework\Indexer\IndexStructureInterface
+ {
+ /**
+ * @var array
+ */
+ protected $columnTypesMap = ['varchar' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'size' => 255], 'mediumtext' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'size' => 16777216], 'text' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'size' => 65536], 'int' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, 'size' => null], 'date' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_DATE, 'size' => null], 'datetime' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_DATETIME, 'size' => null], 'timestamp' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, 'size' => null]];
+ /**
+ * @param ResourceConnection $resource
+ * @param FlatScopeResolver $flatScopeResolver
+ * @param array $columnTypesMap
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resource, \Magento\Framework\Indexer\ScopeResolver\FlatScopeResolver $flatScopeResolver, array $columnTypesMap = [])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function delete($index, array $dimensions = [])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function create($index, array $fields, array $dimensions = [])
+ {
+ }
+ /**
+ * Creates index table with provided fields configuration
+ *
+ * @param string $tableName
+ * @param array $fields
+ * @throws \Zend_Db_Exception
+ * @return void
+ */
+ protected function createFlatTable($tableName, array $fields)
+ {
+ }
+ }
+ /**
+ * Dimension Factory
+ *
+ * @api
+ * @since 101.0.6
+ */
+ class DimensionFactory
+ {
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * @param string $name
+ * @param string $value
+ * @return Dimension
+ * @since 101.0.6
+ */
+ public function create(string $name, string $value) : \Magento\Framework\Indexer\Dimension
+ {
+ }
+ }
+ /**
+ * Batch size manager can be used to ensure that MEMORY table has enough memory for data in batch.
+ * @api
+ * @since 101.0.0
+ */
+ interface BatchSizeManagementInterface
+ {
+ /**
+ * Ensure memory size for data in batch.
+ *
+ * @param AdapterInterface $adapter database adapter.
+ * @param int $batchSize
+ * @return void
+ * @since 101.0.0
+ */
+ public function ensureBatchSize(\Magento\Framework\DB\Adapter\AdapterInterface $adapter, $batchSize);
+ }
+ interface DeferredCacheCleanerInterface
+ {
+ /**
+ * Defer cache cleaning until flush() is called
+ *
+ * @see flush()
+ */
+ public function start() : void;
+ /**
+ * Flush cache
+ */
+ public function flush() : void;
+ }
+ /**
+ * @api Implement custom Fieldset
+ * @since 100.0.2
+ */
+ interface FieldsetInterface
+ {
+ /**
+ * Add additional fields to fieldset
+ *
+ * @param array $data
+ * @return array
+ */
+ public function addDynamicData(array $data);
+ }
+ /**
+ * Class Context
+ */
+ class CacheContext implements \Magento\Framework\DataObject\IdentityInterface
+ {
+ /**
+ * @var array
+ */
+ protected $entities = [];
+ /**
+ * Register entity Ids
+ *
+ * @param string $cacheTag
+ * @param array $ids
+ * @return $this
+ */
+ public function registerEntities($cacheTag, $ids)
+ {
+ }
+ /**
+ * Register entity tags
+ *
+ * @param array $cacheTags
+ * @return $this
+ */
+ public function registerTags($cacheTags)
+ {
+ }
+ /**
+ * Returns registered entities
+ *
+ * @param string $cacheTag
+ * @return array
+ */
+ public function getRegisteredEntity($cacheTag)
+ {
+ }
+ /**
+ * Returns identities
+ *
+ * @return array
+ */
+ public function getIdentities()
+ {
+ }
+ /**
+ * Clear context data
+ */
+ public function flush() : void
+ {
+ }
+ }
+ /**
+ * Full text search index structure.
+ *
+ * @deprecated 102.0.0
+ * @see \Magento\ElasticSearch
+ */
+ class IndexStructure implements \Magento\Framework\Indexer\IndexStructureInterface
+ {
+ /**
+ * @var array
+ */
+ protected $columnTypesMap = ['varchar' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'size' => 255], 'mediumtext' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'size' => 16777216], 'text' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'size' => 65536]];
+ /**
+ * @param ResourceConnection $resource
+ * @param IndexScopeResolver $indexScopeResolver
+ * @param \Magento\Framework\Indexer\ScopeResolver\FlatScopeResolver $flatScopeResolver
+ * @param array $columnTypesMap
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resource, \Magento\Framework\Indexer\ScopeResolver\IndexScopeResolver $indexScopeResolver, \Magento\Framework\Indexer\ScopeResolver\FlatScopeResolver $flatScopeResolver, array $columnTypesMap = [])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function delete($index, array $dimensions = [])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function create($index, array $fields, array $dimensions = [])
+ {
+ }
+ /**
+ * Create full text index.
+ *
+ * @param string $tableName
+ * @throws \Zend_Db_Exception
+ * @return void
+ */
+ protected function createFulltextIndex($tableName)
+ {
+ }
+ /**
+ * Configure full text index table.
+ *
+ * @param Table $table
+ * @return Table
+ */
+ protected function configureFulltextTable(\Magento\Framework\DB\Ddl\Table $table)
+ {
+ }
+ /**
+ * Create flat index.
+ *
+ * @param string $tableName
+ * @param array $fields
+ * @throws \Zend_Db_Exception
+ * @return void
+ */
+ protected function createFlatIndex($tableName, array $fields)
+ {
+ }
+ }
+ /**
+ * @api
+ * Provide a list of dimensions
+ * @since 101.0.6
+ */
+ interface DimensionProviderInterface extends \IteratorAggregate
+ {
+ /**
+ * Get Dimension Iterator. Returns yielded value of \Magento\Framework\Indexer\Dimension
+ * @return \Traversable|\Magento\Framework\Indexer\Dimension[]
+ * @since 101.0.6
+ */
+ public function getIterator() : \Traversable;
+ }
+ /**
+ * Indexer
+ *
+ * @api
+ * @deprecated 102.0.0 Facade will be split
+ * @see \Magento\Framework\Indexer\ActionInterface
+ * @since 100.0.2
+ */
+ interface IndexerInterface
+ {
+ /**
+ * Return indexer ID
+ *
+ * @return string
+ */
+ public function getId();
+ /**
+ * Return indexer's view ID
+ *
+ * @return string
+ */
+ public function getViewId();
+ /**
+ * Return indexer action class
+ *
+ * @return string
+ */
+ public function getActionClass();
+ /**
+ * Return indexer title
+ *
+ * @return string
+ */
+ public function getTitle();
+ /**
+ * Return indexer description
+ *
+ * @return string
+ */
+ public function getDescription();
+ /**
+ * Return indexer fields
+ *
+ * @return array
+ */
+ public function getFields();
+ /**
+ * Return indexer sources
+ *
+ * @return array
+ */
+ public function getSources();
+ /**
+ * Return indexer handlers
+ *
+ * @return array
+ */
+ public function getHandlers();
+ /**
+ * Fill indexer data from config
+ *
+ * @param string $indexerId
+ * @return IndexerInterface
+ * @throws \InvalidArgumentException
+ */
+ public function load($indexerId);
+ /**
+ * Return related view object
+ *
+ * @return \Magento\Framework\Mview\ViewInterface
+ */
+ public function getView();
+ /**
+ * Return related state object
+ *
+ * @return StateInterface
+ */
+ public function getState();
+ /**
+ * Set indexer state object
+ *
+ * @param StateInterface $state
+ * @return IndexerInterface
+ */
+ public function setState(\Magento\Framework\Indexer\StateInterface $state);
+ /**
+ * Check whether indexer is run by schedule
+ *
+ * @return bool
+ */
+ public function isScheduled();
+ /**
+ * Turn scheduled mode on/off
+ *
+ * @param bool $scheduled
+ * @return void
+ */
+ public function setScheduled($scheduled);
+ /**
+ * Check whether indexer is valid
+ *
+ * @return bool
+ */
+ public function isValid();
+ /**
+ * Check whether indexer is invalid
+ *
+ * @return bool
+ */
+ public function isInvalid();
+ /**
+ * Check whether indexer is working
+ *
+ * @return bool
+ */
+ public function isWorking();
+ /**
+ * Set indexer invalid
+ *
+ * @return void
+ */
+ public function invalidate();
+ /**
+ * Return indexer status
+ *
+ * @return string
+ */
+ public function getStatus();
+ /**
+ * Return indexer or mview latest updated time
+ *
+ * @return string
+ */
+ public function getLatestUpdated();
+ /**
+ * Regenerate full index
+ *
+ * @return void
+ * @throws \Exception
+ * @deprecated 102.0.0
+ * @see \Magento\Framework\Indexer\ActionInterface::executeFull
+ */
+ public function reindexAll();
+ /**
+ * Regenerate one row in index by ID
+ *
+ * @param int $id
+ * @return void
+ * @deprecated 102.0.0
+ * @see \Magento\Framework\Indexer\ActionInterface::executeList
+ */
+ public function reindexRow($id);
+ /**
+ * Regenerate rows in index by ID list
+ *
+ * @param int[] $ids
+ * @return void
+ * @deprecated 102.0.0
+ * @see \Magento\Framework\Indexer\ActionInterface::executeList
+ */
+ public function reindexList($ids);
+ }
+ /**
+ * @api Instantiate save handler when implementing custom Indexer\Action
+ * @since 100.0.2
+ */
+ class HandlerPool
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @var HandlerInterface
+ */
+ protected $defaultHandler;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ * @param DefaultHandler $defaultHandler
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Indexer\Handler\DefaultHandler $defaultHandler)
+ {
+ }
+ /**
+ * Get handler class instance
+ *
+ * @param string $handlerClass
+ * @throws \InvalidArgumentException
+ * @return HandlerInterface
+ */
+ public function get($handlerClass = null)
+ {
+ }
+ }
+ /**
+ * Generator of consecutive entity ID ranges that must be handled as a batch.
+ *
+ * Can be used during indexation process to split large amount of data into batches
+ * and process them one by one in order to reduce memory consumption and improve overall performance.
+ *
+ * @api retrieve Batches when implementing custom Indexer\Action
+ * @since 101.0.0
+ */
+ interface BatchProviderInterface
+ {
+ /**
+ * Retrieve batches (entity ID ranges) from the given table.
+ *
+ * @param AdapterInterface $adapter database adapter.
+ * @param string $tableName target table name.
+ * @param string $linkField field that is used as a record identifier.
+ * @param int $batchSize size of the single range.
+ * @return \Generator generator that produces entity ID ranges in the format of ['from' => ..., 'to' => ...]
+ * @since 101.0.0
+ */
+ public function getBatches(\Magento\Framework\DB\Adapter\AdapterInterface $adapter, $tableName, $linkField, $batchSize);
+ /**
+ * Get list of entity ids based on batch
+ *
+ * @param AdapterInterface $connection
+ * @param Select $select
+ * @param array $batch
+ * @return array
+ * @since 101.0.0
+ */
+ public function getBatchIds(\Magento\Framework\DB\Adapter\AdapterInterface $connection, \Magento\Framework\DB\Select $select, array $batch);
+ }
+ /**
+ * @api Instantiate save handler when implementing custom Indexer\Action
+ * @since 100.0.2
+ */
+ class SaveHandlerFactory
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Get handler class instance
+ *
+ * @param string $saveHandlerClass
+ * @param array $arguments
+ * @throws \InvalidArgumentException
+ * @return IndexerInterface
+ */
+ public function create($saveHandlerClass, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Exception thrown when index lock could not be acquired
+ */
+ class IndexMutexException extends \RuntimeException
+ {
+ /**
+ * @param string $indexerName
+ */
+ public function __construct(string $indexerName)
+ {
+ }
+ }
+ /**
+ * @api Retrieve indexer by id, for example when indexer need to be invalidated
+ * @since 100.0.2
+ */
+ class IndexerRegistry implements \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @var IndexerInterface[]
+ */
+ protected $indexers = [];
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ /**
+ * Retrieve indexer instance by id
+ *
+ * @param string $indexerId
+ * @return IndexerInterface
+ */
+ public function get($indexerId)
+ {
+ }
+ }
+ class StructureFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Get structure class instance by class name
+ *
+ * @param string $className
+ * @param [] $arguments
+ * @throws \InvalidArgumentException
+ * @return IndexStructureInterface
+ */
+ public function create($className, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Index Dimension object
+ *
+ * @api
+ * @since 101.0.6
+ */
+ class Dimension
+ {
+ /**
+ * @param string $name
+ * @param string $value
+ */
+ public function __construct(string $name, string $value)
+ {
+ }
+ /**
+ * Get dimension name
+ *
+ * @return string
+ * @since 101.0.6
+ */
+ public function getName() : string
+ {
+ }
+ /**
+ * Get dimension value
+ *
+ * @return string
+ * @since 101.0.6
+ */
+ public function getValue() : string
+ {
+ }
+ }
+ class ActionFactory
+ {
+ /**
+ * @var \Magento\Framework\ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param \Magento\Framework\ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Get action class instance by class name
+ *
+ * @param string $className
+ * @param [] $arguments
+ * @throws \InvalidArgumentException
+ * @return ActionInterface
+ */
+ public function create($className, $arguments = [])
+ {
+ }
+ }
+ /**
+ * @api Implement custom Action Interface
+ * @since 100.0.2
+ */
+ interface ActionInterface
+ {
+ /**
+ * Execute full indexation
+ *
+ * @return void
+ */
+ public function executeFull();
+ /**
+ * Execute partial indexation by ID list
+ *
+ * @param int[] $ids
+ * @return void
+ */
+ public function executeList(array $ids);
+ /**
+ * Execute partial indexation by ID
+ *
+ * @param int $id
+ * @return void
+ */
+ public function executeRow($id);
+ }
+}
+namespace Magento\Framework\Indexer\Action {
+ class Dummy implements \Magento\Framework\Indexer\ActionInterface, \Magento\Framework\Mview\ActionInterface
+ {
+ /**
+ * Execute full indexation
+ *
+ * @return void
+ */
+ public function executeFull()
+ {
+ }
+ /**
+ * Execute partial indexation by ID list
+ *
+ * @param int[] $ids
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function executeList(array $ids)
+ {
+ }
+ /**
+ * Execute partial indexation by ID
+ *
+ * @param int $id
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function executeRow($id)
+ {
+ }
+ /**
+ * Execute materialization on ids entities
+ *
+ * @param int[] $ids
+ * @return void
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function execute($ids)
+ {
+ }
+ }
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * @SuppressWarnings(PHPMD.TooManyFields)
+ */
+ class Base implements \Magento\Framework\Indexer\ActionInterface
+ {
+ /**
+ * Prefix
+ */
+ const PREFIX = 'index_';
+ /**
+ * @var FieldsetPool
+ */
+ protected $fieldsetPool;
+ /**
+ * @var AdapterInterface
+ * @deprecated 101.0.0
+ */
+ protected $connection;
+ /**
+ * @var SourceProviderInterface[]
+ * @deprecated 101.0.0
+ */
+ protected $sources;
+ /**
+ * @var SourceProviderInterface
+ */
+ protected $primarySource;
+ /**
+ * @var HandlerInterface[]
+ * @deprecated 101.0.0
+ */
+ protected $handlers;
+ /**
+ * @var array
+ */
+ protected $data;
+ /**
+ * @var array
+ * @deprecated 101.0.0
+ */
+ protected $columnTypesMap = ['varchar' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'size' => 255], 'mediumtext' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'size' => 16777216], 'text' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'size' => 65536]];
+ /**
+ * @var array
+ * @deprecated 101.0.0
+ */
+ protected $filterColumns;
+ /**
+ * @var array
+ * @deprecated 101.0.0
+ */
+ protected $searchColumns;
+ /**
+ * @var SourceFactory
+ */
+ protected $sourceFactory;
+ /**
+ * @var HandlerPool
+ */
+ protected $handlerPool;
+ /**
+ * @var SaveHandlerFactory
+ */
+ protected $saveHandlerFactory;
+ /**
+ * @var String
+ * @deprecated 101.0.0
+ */
+ protected $string;
+ /**
+ * @var IndexStructureInterface
+ */
+ protected $indexStructure;
+ /**
+ * @var array
+ * @deprecated 101.0.0
+ */
+ protected $filterable = [];
+ /**
+ * @var array
+ * @deprecated 101.0.0
+ */
+ protected $searchable = [];
+ /**
+ * @var IndexerInterface
+ */
+ protected $saveHandler;
+ /**
+ * @var string
+ */
+ protected $tableAlias = 'main_table';
+ /**
+ * @param AppResource $resource
+ * @param SourceFactory $sourceFactory
+ * @param HandlerPool $handlerPool
+ * @param SaveHandlerFactory $saveHandlerFactory
+ * @param FieldsetPool $fieldsetPool
+ * @param StdString $string
+ * @param IndexStructureInterface $indexStructure
+ * @param array $data
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resource, \Magento\Framework\App\ResourceConnection\SourceFactory $sourceFactory, \Magento\Framework\Indexer\HandlerPool $handlerPool, \Magento\Framework\Indexer\SaveHandlerFactory $saveHandlerFactory, \Magento\Framework\Indexer\FieldsetPool $fieldsetPool, \Magento\Framework\Stdlib\StringUtils $string, \Magento\Framework\Indexer\IndexStructureInterface $indexStructure, $data = [])
+ {
+ }
+ /**
+ * Execute
+ *
+ * @param null|int|array $ids
+ * @return void
+ */
+ protected function execute(array $ids = [])
+ {
+ }
+ /**
+ * Execute full indexation
+ *
+ * @return void
+ */
+ public function executeFull()
+ {
+ }
+ /**
+ * Execute partial indexation by ID list
+ *
+ * @param int[] $ids
+ * @return void
+ */
+ public function executeList(array $ids)
+ {
+ }
+ /**
+ * Execute partial indexation by ID
+ *
+ * @param int $id
+ * @return void
+ */
+ public function executeRow($id)
+ {
+ }
+ /**
+ * Prepare select query
+ *
+ * @param array|int|null $ids
+ * @return SourceProviderInterface
+ */
+ protected function prepareDataSource(array $ids = [])
+ {
+ }
+ /**
+ * Return index table name
+ *
+ * @return string
+ */
+ protected function getTableName()
+ {
+ }
+ /**
+ * Return save handler
+ *
+ * @return IndexerInterface
+ */
+ protected function getSaveHandler()
+ {
+ }
+ /**
+ * Return primary source provider
+ *
+ * @return SourceProviderInterface
+ */
+ protected function getPrimaryResource()
+ {
+ }
+ /**
+ * Return primary fieldset
+ *
+ * @return []
+ */
+ protected function getPrimaryFieldset()
+ {
+ }
+ /**
+ * Create select from indexer configuration
+ *
+ * @return SourceProviderInterface
+ */
+ protected function createResultCollection()
+ {
+ }
+ /**
+ * Prepare configuration data
+ *
+ * @return void
+ */
+ protected function prepareFields()
+ {
+ }
+ /**
+ * Save field by type
+ *
+ * @param array $field
+ * @return void
+ *
+ * @deprecated 101.0.0
+ */
+ protected function saveFieldByType($field)
+ {
+ }
+ }
+ class Entity extends \Magento\Framework\Indexer\Action\Base
+ {
+ /**
+ * @var string
+ */
+ protected $tableAlias = 'e';
+ /**
+ * Prepare select query
+ *
+ * @param array|int|null $ids
+ * @return SourceProviderInterface
+ */
+ protected function prepareDataSource(array $ids = [])
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer {
+ /**
+ * @api Implement custom Handler
+ * @since 100.0.2
+ */
+ interface HandlerInterface
+ {
+ /**
+ * Prepare SQL for field and add it to collection
+ *
+ * @param SourceProviderInterface $source
+ * @param string $alias
+ * @param array $fieldInfo
+ * @return void
+ */
+ public function prepareSql(\Magento\Framework\App\ResourceConnection\SourceProviderInterface $source, $alias, $fieldInfo);
+ }
+}
+namespace Magento\Framework\Indexer\SaveHandler {
+ /**
+ * Indexer persistence handler
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface IndexerInterface
+ {
+ /**
+ * Add entities data to index
+ *
+ * @param Dimension[] $dimensions
+ * @param \Traversable $documents
+ * @return IndexerInterface
+ */
+ public function saveIndex($dimensions, \Traversable $documents);
+ /**
+ * Remove entities data from index
+ *
+ * @param Dimension[] $dimensions
+ * @param \Traversable $documents
+ * @return IndexerInterface
+ */
+ public function deleteIndex($dimensions, \Traversable $documents);
+ /**
+ * Remove all data from index
+ *
+ * @param Dimension[] $dimensions
+ * @return IndexerInterface
+ */
+ public function cleanIndex($dimensions);
+ /**
+ * Define if engine is available
+ *
+ * @param Dimension[] $dimensions
+ * @return bool
+ */
+ public function isAvailable($dimensions = []);
+ }
+ /**
+ * Save handler for indexer.
+ */
+ class IndexerHandler implements \Magento\Framework\Indexer\SaveHandler\IndexerInterface
+ {
+ /**
+ * @var string[]
+ */
+ protected $dataTypes = ['searchable', 'filterable'];
+ /**
+ * @var IndexStructureInterface
+ */
+ protected $indexStructure;
+ /**
+ * @var array
+ */
+ protected $data;
+ /**
+ * @var array
+ */
+ protected $fields;
+ /**
+ * @var Resource|Resource
+ */
+ protected $resource;
+ /**
+ * @var Batch
+ */
+ protected $batch;
+ /**
+ * @var int
+ */
+ protected $batchSize;
+ /**
+ * @var IndexScopeResolverInterface[]
+ */
+ protected $scopeResolvers;
+ /**
+ * @param IndexStructureInterface $indexStructure
+ * @var AdapterInterface
+ */
+ protected $connection;
+ /**
+ * @param IndexStructureInterface $indexStructure
+ * @param ResourceConnection $resource
+ * @param Batch $batch
+ * @param \Magento\Framework\Indexer\ScopeResolver\IndexScopeResolver $indexScopeResolver
+ * @param \Magento\Framework\Indexer\ScopeResolver\FlatScopeResolver $flatScopeResolver
+ * @param array $data
+ * @param int $batchSize
+ */
+ public function __construct(\Magento\Framework\Indexer\IndexStructureInterface $indexStructure, \Magento\Framework\App\ResourceConnection $resource, \Magento\Framework\Indexer\SaveHandler\Batch $batch, \Magento\Framework\Indexer\ScopeResolver\IndexScopeResolver $indexScopeResolver, \Magento\Framework\Indexer\ScopeResolver\FlatScopeResolver $flatScopeResolver, array $data, $batchSize = 100)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function saveIndex($dimensions, \Traversable $documents)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function deleteIndex($dimensions, \Traversable $documents)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function cleanIndex($dimensions)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function isAvailable($dimensions = [])
+ {
+ }
+ /**
+ * Returns table name.
+ *
+ * @param string $dataType
+ * @param Dimension[] $dimensions
+ * @return string
+ */
+ protected function getTableName($dataType, $dimensions)
+ {
+ }
+ /**
+ * Returns index name
+ *
+ * @return string
+ */
+ protected function getIndexName()
+ {
+ }
+ /**
+ * Save filterable documents to storage.
+ *
+ * @param array $documents
+ * @param Dimension[] $dimensions
+ * @return void
+ */
+ protected function insertDocumentsForFilterable(array $documents, array $dimensions)
+ {
+ }
+ /**
+ * Prepare filterable fields.
+ *
+ * @param array $documents
+ * @return array
+ */
+ protected function prepareFilterableFields(array $documents)
+ {
+ }
+ }
+ class Grid extends \Magento\Framework\Indexer\SaveHandler\IndexerHandler
+ {
+ /**
+ * @var string[]
+ */
+ protected $dataTypes = ['searchable', 'filterable', 'virtual'];
+ /**
+ * {@inheritdoc}
+ */
+ public function saveIndex($dimensions, \Traversable $documents)
+ {
+ }
+ /**
+ * @param array $documents
+ * @param Dimension[] $dimensions
+ * @return void
+ */
+ protected function insertDocumentsForFilterable(array $documents, array $dimensions)
+ {
+ }
+ /**
+ * @param array $documents
+ * @return array
+ */
+ protected function prepareFilterableFields(array $documents)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function deleteIndex($dimensions, \Traversable $ids)
+ {
+ }
+ }
+ interface StackedActionsIndexerInterface
+ {
+ /**
+ * Disable stacked queries mode
+ *
+ * @return void
+ */
+ public function disableStackedActions() : void;
+ /**
+ * Activates stacked actions mode
+ *
+ * @return void
+ */
+ public function enableStackedActions() : void;
+ /**
+ * Run stacked queries
+ *
+ * @return void
+ */
+ public function triggerStackedActions() : void;
+ }
+ class Batch
+ {
+ /**
+ * @param \Traversable $documents
+ * @param int $size
+ * @return \Generator
+ */
+ public function getItems(\Traversable $documents, $size)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer\Test\Unit {
+ class XsdTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Path to xsd schema file
+ * @var string
+ */
+ protected $_xsdSchema;
+ /**
+ * @var UrnResolver
+ */
+ protected $urnResolver;
+ /**
+ * @var XsdValidator
+ */
+ protected $_xsdValidator;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $xmlString
+ * @param array $expectedError
+ * @dataProvider schemaCorrectlyIdentifiesInvalidXmlDataProvider
+ */
+ public function testSchemaCorrectlyIdentifiesInvalidXml($xmlString, $expectedError)
+ {
+ }
+ public function testSchemaCorrectlyIdentifiesValidXml()
+ {
+ }
+ /**
+ * Data provider with invalid xml array according to events.xsd
+ */
+ public function schemaCorrectlyIdentifiesInvalidXmlDataProvider()
+ {
+ }
+ }
+ class MultiDimensionProviderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * tests that MultiDimensionProvider will return [[]] in case it has no dimension providers
+ */
+ public function testWithNoDataProviders()
+ {
+ }
+ /**
+ * tests multiplication of dimensions from different providers
+ *
+ * e.g we have three dimensions:
+ * - dimension X with values (x1, x2)
+ * - dimension Y with values (y1, y2, y3)
+ * - dimension Z with values (z1, z2)
+ *
+ * the multiplication result set will be:
+ * x1-y1-z1
+ * x1-y1-z2
+ * x1-y2-z1
+ * x1-y2-z2
+ * x1-y3-z1
+ * x1-y3-z2
+ * x2-y1-z1
+ * x2-y1-z2
+ * x2-y2-z1
+ * x2-y2-z2
+ * x2-y3-z1
+ * x2-y3-z2
+ */
+ public function testWithMultipleDataProviders()
+ {
+ }
+ /**
+ * tests that the same MultiDimensionProvider can be used in foreach multiple times without creating again
+ */
+ public function testMultiDimensionProviderIsReIterable()
+ {
+ }
+ /**
+ * tests that MultiDimensionProvider will throw exception when all dimension providers has nothing to return
+ */
+ public function testMultiDimensionProviderWithEmptyDataProvider()
+ {
+ }
+ /**
+ * tests that MultiDimensionProvider will throw exception when one dimension providers has nothing to return
+ */
+ public function testMultiDimensionProviderWithMixedDataProvider()
+ {
+ }
+ }
+ class CacheContextTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param array $tagsData
+ * @param array $expected
+ * @dataProvider getTagsDataProvider
+ */
+ public function testUniqueTags($tagsData, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getTagsDataProvider()
+ {
+ }
+ }
+ class BatchTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param array $itemsData
+ * @param int $size
+ * @param array $expected
+ *
+ * @dataProvider getItemsDataProvider
+ */
+ public function testGetItems(array $itemsData, $size, array $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getItemsDataProvider()
+ {
+ }
+ }
+ /**
+ * Test for \Magento\Framework\Indexer\IndexStructure
+ */
+ class IndexStructureTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritDoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testDelete() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testCreateWithEmptyFields() : void
+ {
+ }
+ }
+ class BatchProviderTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param int $batchSize preferable batch size
+ * @param int $maxLinkFieldValue maximum value of the entity identifier in the table
+ * @param int $expectedResult list of expected consecutive entity ID ranges (batches)
+ *
+ * @dataProvider getBatchesDataProvider
+ */
+ public function testGetBatches($batchSize, $maxLinkFieldValue, $expectedResult)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getBatchesDataProvider()
+ {
+ }
+ public function testGetBatchIds()
+ {
+ }
+ }
+ class BatchSizeManagementTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testEnsureBatchSize() : void
+ {
+ }
+ }
+ class ActionFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ActionFactory|MockObject
+ */
+ protected $model;
+ /**
+ * @var ObjectManagerInterface|MockObject
+ */
+ protected $objectManagerMock;
+ protected function setUp() : void
+ {
+ }
+ public function testGetWithException()
+ {
+ }
+ public function testCreate()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer\Test\Unit\Handler {
+ /**
+ * Unit test for Magento\Framework\Indexer\Handler\AttributeHandler.
+ */
+ class AttributeHandlerTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ public function testPrepareSqlWithBindAndExistingJoinAttributeMethod()
+ {
+ }
+ public function testPrepareSqlWithoutBind()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer\Test\Unit {
+ class IndexerRegistryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @return void
+ */
+ public function testGetCreatesIndexerInstancesAndReusesExistingOnes() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer\Test\Unit\Config {
+ class SchemaLocatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var SchemaLocatorConfig
+ */
+ protected $model;
+ /** @var UrnResolver */
+ protected $urnResolver;
+ /** @var UrnResolver */
+ protected $urnResolverMock;
+ protected function setUp() : void
+ {
+ }
+ public function testGetSchema()
+ {
+ }
+ public function testGetPerFileSchema()
+ {
+ }
+ }
+ class ConverterTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Converter|MockObject
+ */
+ protected $_model;
+ protected function setUp() : void
+ {
+ }
+ public function testConvert()
+ {
+ }
+ /**
+ * @param string $xml
+ * @param array $indexersSequence
+ * @dataProvider convertWithDependenciesDataProvider
+ */
+ public function testConvertWithDependencies(string $xml, array $indexersSequence)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function convertWithDependenciesDataProvider()
+ {
+ }
+ /**
+ * @param string $inputXml
+ * @param string $exceptionMessage
+ * @dataProvider convertWithCircularDependenciesDataProvider
+ */
+ public function testConvertWithCircularDependencies($inputXml, $exceptionMessage)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function convertWithCircularDependenciesDataProvider()
+ {
+ }
+ /**
+ * @param string $inputXml
+ * @param string $exceptionMessage
+ * @dataProvider convertWithDependencyOnNotExistingIndexerDataProvider
+ */
+ public function testConvertWithDependencyOnNotExistingIndexer($inputXml, $exceptionMessage)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function convertWithDependencyOnNotExistingIndexerDataProvider()
+ {
+ }
+ }
+ class ReaderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Reader
+ */
+ protected $_model;
+ /**
+ * @var Converter|MockObject
+ */
+ protected $_converter;
+ /**
+ * @var FileResolver|MockObject
+ */
+ protected $_fileResolverMock;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @dataProvider readerDataProvider
+ */
+ public function testReadValidConfig($files, $expectedFile)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function readerDataProvider()
+ {
+ }
+ }
+ class DependencyInfoProviderTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @return void
+ */
+ protected function setUp() : void
+ {
+ }
+ public function testGetDependencies()
+ {
+ }
+ public function testGetDependenciesNonExistentIndexer()
+ {
+ }
+ /**
+ * @param string $indexerId
+ * @param array $indexersData
+ * @param array $dependentIndexerIds
+ * @dataProvider getDependentIndexerIdsDataProvider
+ */
+ public function testGetDependentIndexerIds(string $indexerId, array $indexersData, array $dependentIndexerIds)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getDependentIndexerIdsDataProvider()
+ {
+ }
+ public function testGetDependentIndexerIdsNonExistentIndexer()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer\Test\Unit {
+ class GridStructureTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var ResourceConnection|MockObject
+ */
+ protected $resource;
+ /**
+ * @var FlatScopeResolver|MockObject
+ */
+ protected $flatScopeResolver;
+ /**
+ * @var AdapterInterface|MockObject
+ */
+ protected $connection;
+ /**
+ * @var GridStructure
+ */
+ protected $object;
+ protected function setUp() : void
+ {
+ }
+ public function testDelete()
+ {
+ }
+ public function testCreate()
+ {
+ }
+ }
+ class StrategyTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Strategy object
+ *
+ * @var \Magento\Framework\Indexer\Table\Strategy
+ */
+ protected $_model;
+ /**
+ * Resource mock
+ *
+ * @var ResourceConnection|MockObject
+ */
+ protected $_resourceMock;
+ /**
+ * {@inheritdoc}
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test use idx table switcher
+ *
+ * @return void
+ */
+ public function testUseIdxTable()
+ {
+ }
+ /**
+ * Test table name preparation
+ *
+ * @return void
+ */
+ public function testPrepareTableName()
+ {
+ }
+ /**
+ * Test table name getter
+ *
+ * @return void
+ */
+ public function testGetTableName()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer\Test\Unit\ScopeResolver {
+ /**
+ * Test for \Magento\Framework\Indexer\ScopeResolver\IndexScopeResolver
+ */
+ class IndexScopeResolverTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var \Magento\Framework\App\ScopeResolverInterface|MockObject
+ */
+ protected $scopeResolver;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $indexName
+ * @param Dimension[] $dimensions
+ * @param string $expected
+ * @dataProvider resolveDataProvider
+ */
+ public function testResolve($indexName, array $dimensions, $expected)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function resolveDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer\Test\Unit {
+ class IndexTableRowSizeEstimatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * Test for estimateRowSize method
+ */
+ public function testEstimateRowSize()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer {
+ /**
+ * Generator of consecutive entity ID ranges that must be handled as a batch.
+ *
+ * Some ranges may contain non existent entity IDs.
+ * So the code that uses the generator must check if any entities were loaded during batch load.
+ */
+ class BatchProvider implements \Magento\Framework\Indexer\BatchProviderInterface
+ {
+ /**
+ * @inheritdoc
+ */
+ public function getBatches(\Magento\Framework\DB\Adapter\AdapterInterface $adapter, $tableName, $linkField, $batchSize)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getBatchIds(\Magento\Framework\DB\Adapter\AdapterInterface $connection, \Magento\Framework\DB\Select $select, array $batch)
+ {
+ }
+ }
+ abstract class AbstractProcessor
+ {
+ /**
+ * Indexer ID
+ */
+ const INDEXER_ID = '';
+ /**
+ * @var \Magento\Framework\Indexer\IndexerRegistry
+ */
+ protected $indexerRegistry;
+ /**
+ * @param \Magento\Framework\Indexer\IndexerRegistry $indexerRegistry
+ */
+ public function __construct(\Magento\Framework\Indexer\IndexerRegistry $indexerRegistry)
+ {
+ }
+ /**
+ * Get indexer
+ *
+ * @return \Magento\Framework\Indexer\IndexerInterface
+ */
+ public function getIndexer()
+ {
+ }
+ /**
+ * Run Row reindex
+ *
+ * @param int $id
+ * @param bool $forceReindex
+ * @return void
+ */
+ public function reindexRow($id, $forceReindex = false)
+ {
+ }
+ /**
+ * Run List reindex
+ *
+ * @param int[] $ids
+ * @param bool $forceReindex
+ * @return void
+ */
+ public function reindexList($ids, $forceReindex = false)
+ {
+ }
+ /**
+ * Run Full reindex
+ *
+ * @return void
+ */
+ public function reindexAll()
+ {
+ }
+ /**
+ * Mark Product price indexer as invalid
+ *
+ * @return void
+ */
+ public function markIndexerAsInvalid()
+ {
+ }
+ /**
+ * Get processor indexer ID
+ *
+ * @return string
+ */
+ public function getIndexerId()
+ {
+ }
+ /**
+ * Check if indexer is on scheduled
+ *
+ * @return bool
+ */
+ public function isIndexerScheduled()
+ {
+ }
+ }
+ /**
+ * Calculate memory size for entity according different dimensions.
+ * @api
+ * @since 101.0.0
+ */
+ interface IndexTableRowSizeEstimatorInterface
+ {
+ /**
+ * Calculate memory size for entity row.
+ *
+ * @return float
+ * @since 101.0.0
+ */
+ public function estimateRowSize();
+ }
+ /**
+ * Generic implementation for row size estimation.
+ */
+ class IndexTableRowSizeEstimator implements \Magento\Framework\Indexer\IndexTableRowSizeEstimatorInterface
+ {
+ /**
+ * @param int $rowMemorySize
+ */
+ public function __construct($rowMemorySize)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function estimateRowSize()
+ {
+ }
+ }
+ /**
+ * Indexer(s) configuration
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ConfigInterface
+ {
+ /**
+ * Get indexers list
+ *
+ * @return array[]
+ */
+ public function getIndexers();
+ /**
+ * Get indexer by ID
+ *
+ * @param string $indexerId
+ * @return array
+ */
+ public function getIndexer($indexerId);
+ }
+ /**
+ * @api Retrieve Fieldset when implementing custom Indexer\Action
+ * @since 100.0.2
+ */
+ class FieldsetPool
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $objectManager;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Get fieldset class instance
+ *
+ * @param string $fieldsetClass
+ * @throws \InvalidArgumentException
+ * @return FieldsetInterface
+ */
+ public function get($fieldsetClass)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer\Handler {
+ class AttributeHandler implements \Magento\Framework\Indexer\HandlerInterface
+ {
+ /**
+ * Prepare SQL for field and add it to collection
+ *
+ * @param SourceProviderInterface $source
+ * @param string $alias
+ * @param array $fieldInfo
+ * @return void
+ *
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function prepareSql(\Magento\Framework\App\ResourceConnection\SourceProviderInterface $source, $alias, $fieldInfo)
+ {
+ }
+ }
+ class DefaultHandler implements \Magento\Framework\Indexer\HandlerInterface
+ {
+ /**
+ * @param SourceProviderInterface $source
+ * @param string $alias
+ * @param array $fieldInfo
+ * @return void
+ */
+ public function prepareSql(\Magento\Framework\App\ResourceConnection\SourceProviderInterface $source, $alias, $fieldInfo)
+ {
+ }
+ }
+ class ConcatHandler implements \Magento\Framework\Indexer\HandlerInterface
+ {
+ /**
+ * @var \Magento\Framework\DB\ConcatExpression
+ */
+ protected $concatExpression;
+ /**
+ * @param \Zend_Db_Expr $concatExpression
+ */
+ public function __construct(\Zend_Db_Expr $concatExpression)
+ {
+ }
+ /**
+ * Prepare SQL for field and add it to collection
+ *
+ * @param SourceProviderInterface $source
+ * @param string $alias
+ * @param array $fieldInfo
+ * @return void
+ */
+ public function prepareSql(\Magento\Framework\App\ResourceConnection\SourceProviderInterface $source, $alias, $fieldInfo)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer\Config {
+ /**
+ * Provides an information about indexers dependencies.
+ *
+ * @api
+ */
+ interface DependencyInfoProviderInterface
+ {
+ /**
+ * Returns Indexer Ids on which the current indexer depends directly.
+ *
+ * @param string $indexerId
+ * @return string[]
+ * @throws NoSuchEntityException In case when the indexer with the specified Id does not exist.
+ */
+ public function getIndexerIdsToRunBefore(string $indexerId) : array;
+ /**
+ * Returns the list of Indexer Ids which directly depend on the current indexer.
+ *
+ * @param string $indexerId
+ * @return string[]
+ * @throws NoSuchEntityException In case when the indexer with the specified Id does not exist.
+ */
+ public function getIndexerIdsToRunAfter(string $indexerId) : array;
+ }
+ class SchemaLocator implements \Magento\Framework\Config\SchemaLocatorInterface
+ {
+ /**
+ * @var \Magento\Framework\Config\Dom\UrnResolver
+ */
+ protected $urnResolver;
+ /**
+ */
+ public function __construct(\Magento\Framework\Config\Dom\UrnResolver $urnResolver)
+ {
+ }
+ /**
+ * Get path to merged config schema
+ *
+ * @return string|null
+ */
+ public function getSchema()
+ {
+ }
+ /**
+ * Get path to pre file validation schema
+ *
+ * @return string|null
+ */
+ public function getPerFileSchema()
+ {
+ }
+ }
+ class Reader extends \Magento\Framework\Config\Reader\Filesystem
+ {
+ /**
+ * List of id attributes for merge
+ *
+ * @var array
+ */
+ protected $_idAttributes = ['/config/indexer' => 'id', '/config/indexer/handler' => 'name', '/config/indexer/source' => 'name', '/config/indexer/fieldset' => 'name', '/config/indexer/fieldset/field' => 'name', '/config/indexer/dependencies/indexer' => 'id'];
+ /**
+ * @param \Magento\Framework\Config\FileResolverInterface $fileResolver
+ * @param Converter $converter
+ * @param SchemaLocator $schemaLocator
+ * @param \Magento\Framework\Config\ValidationStateInterface $validationState
+ * @param string $fileName
+ * @param array $idAttributes
+ * @param string $domDocumentClass
+ * @param string $defaultScope
+ *
+ * @codeCoverageIgnore
+ */
+ public function __construct(\Magento\Framework\Config\FileResolverInterface $fileResolver, \Magento\Framework\Indexer\Config\Converter $converter, \Magento\Framework\Indexer\Config\SchemaLocator $schemaLocator, \Magento\Framework\Config\ValidationStateInterface $validationState, $fileName = 'indexer.xml', $idAttributes = [], $domDocumentClass = \Magento\Framework\Config\Dom::class, $defaultScope = 'global')
+ {
+ }
+ }
+ class Converter implements \Magento\Framework\Config\ConverterInterface
+ {
+ /**
+ * Convert dom node tree to array
+ *
+ * @param \DOMDocument $source
+ * @return array
+ * @throws \InvalidArgumentException
+ */
+ public function convert($source)
+ {
+ }
+ /**
+ * Get attribute value
+ *
+ * @param \DOMNode $input
+ * @param string $attributeName
+ * @param mixed $default
+ * @return null|string
+ */
+ protected function getAttributeValue(\DOMNode $input, $attributeName, $default = null)
+ {
+ }
+ /**
+ * Convert child from dom to array
+ *
+ * @param \DOMElement $childNode
+ * @param array $data
+ * @return array
+ */
+ protected function convertChild(\DOMElement $childNode, $data)
+ {
+ }
+ /**
+ * Convert fieldset
+ *
+ * @param \DOMElement $node
+ * @param array $data
+ * @return array
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ protected function convertFieldset(\DOMElement $node, $data)
+ {
+ }
+ /**
+ * Add virtual field
+ *
+ * @param string $fieldset
+ * @param string $field
+ * @param array $data
+ * @return void
+ */
+ protected function addVirtualField($fieldset, $field, $data)
+ {
+ }
+ /**
+ * Convert field
+ *
+ * @param \DOMElement $node
+ * @param array $data
+ * @return array
+ */
+ protected function convertField(\DOMElement $node, $data)
+ {
+ }
+ /**
+ * Return node value translated if applicable
+ *
+ * @param \DOMNode $node
+ * @return string
+ * @deprecated 101.0.0
+ */
+ protected function getTranslatedNodeValue(\DOMNode $node)
+ {
+ }
+ /**
+ * Sorting fieldset
+ *
+ * @param array $data
+ * @return array
+ */
+ protected function sorting($data)
+ {
+ }
+ }
+ /**
+ * @inheritdoc
+ */
+ class DependencyInfoProvider implements \Magento\Framework\Indexer\Config\DependencyInfoProviderInterface
+ {
+ /**
+ * @param ConfigInterface $config
+ */
+ public function __construct(\Magento\Framework\Indexer\ConfigInterface $config)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getIndexerIdsToRunBefore(string $indexerId) : array
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getIndexerIdsToRunAfter(string $indexerId) : array
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer {
+ /**
+ * Intended to prevent race conditions between indexers using the same index table.
+ */
+ interface IndexMutexInterface
+ {
+ /**
+ * Acquires a lock for an indexer, executes callable and releases the lock after.
+ *
+ * @param string $indexerName
+ * @param callable $callback
+ * @throws IndexMutexException
+ */
+ public function execute(string $indexerName, callable $callback) : void;
+ }
+}
+namespace Magento\Framework\Indexer\Table {
+ /**
+ * Interface \Magento\Framework\Indexer\Table\StrategyInterface
+ *
+ * @api
+ */
+ interface StrategyInterface
+ {
+ const IDX_SUFFIX = '_idx';
+ const TMP_SUFFIX = '_tmp';
+ /**
+ * Get IDX table usage flag
+ *
+ * @return bool
+ * @SuppressWarnings(PHPMD.BooleanGetMethodName)
+ */
+ public function getUseIdxTable();
+ /**
+ * Set IDX table usage flag
+ *
+ * @param bool $value
+ *
+ * @return $this
+ */
+ public function setUseIdxTable($value = false);
+ /**
+ * Prepare index table name
+ *
+ * @param string $tablePrefix
+ *
+ * @return string
+ */
+ public function prepareTableName($tablePrefix);
+ /**
+ * Returns target table name
+ *
+ * @param string $tablePrefix
+ *
+ * @return string
+ */
+ public function getTableName($tablePrefix);
+ }
+ class Strategy implements \Magento\Framework\Indexer\Table\StrategyInterface
+ {
+ /**
+ * Application resource
+ *
+ * @var \Magento\Framework\App\ResourceConnection
+ */
+ protected $resource;
+ /**
+ * Constructor
+ *
+ * @param \Magento\Framework\App\ResourceConnection $resource
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resource)
+ {
+ }
+ /**
+ * Use index table directly
+ *
+ * @var bool
+ */
+ protected $useIdxTable = false;
+ /**
+ * {@inheritdoc}
+ */
+ public function getUseIdxTable()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function setUseIdxTable($value = false)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getTableName($tablePrefix)
+ {
+ }
+ /**
+ * Prepare index table name
+ *
+ * @param string $tablePrefix
+ *
+ * @return string
+ */
+ public function prepareTableName($tablePrefix)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer {
+ /**
+ * Interface for managing the suspended status of indexers.
+ *
+ * Allows for temporary suspension of indexer auto-updates by cron,
+ * facilitating performance optimization during bulk operations.
+ */
+ interface SuspendableIndexerInterface extends \Magento\Framework\Indexer\IndexerInterface
+ {
+ /**
+ * Determines if the indexer is suspended.
+ *
+ * @return bool True if suspended, false otherwise.
+ */
+ public function isSuspended() : bool;
+ }
+ /**
+ * @api Retrieve status of the Indexer
+ * @since 100.0.2
+ */
+ interface StateInterface
+ {
+ /**
+ * Indexer statuses
+ */
+ public const STATUS_WORKING = 'working';
+ public const STATUS_VALID = 'valid';
+ public const STATUS_INVALID = 'invalid';
+ public const STATUS_SUSPENDED = 'suspended';
+ /**
+ * Return indexer id
+ *
+ * @return string
+ */
+ public function getIndexerId();
+ /**
+ * Set indexer id
+ *
+ * @param string $value
+ * @return $this
+ */
+ public function setIndexerId($value);
+ /**
+ * Return status
+ *
+ * @return string
+ */
+ public function getStatus();
+ /**
+ * Return updated
+ *
+ * @return string
+ */
+ public function getUpdated();
+ /**
+ * Set updated
+ *
+ * @param string $value
+ * @return $this
+ */
+ public function setUpdated($value);
+ /**
+ * Fill object with state data by view ID
+ *
+ * @param string $indexerId
+ * @return $this
+ */
+ public function loadByIndexer($indexerId);
+ /**
+ * Status setter
+ *
+ * @param string $status
+ * @return $this
+ */
+ public function setStatus($status);
+ }
+ /**
+ * Multiply dimensions from provided DimensionProviderInterface
+ */
+ class MultiDimensionProvider implements \IteratorAggregate
+ {
+ /**
+ * @param DimensionProviderInterface[] $dimensionProviders
+ */
+ public function __construct(array $dimensionProviders = [])
+ {
+ }
+ /**
+ * Returns generator that will return multiplied dimensions on each iteration
+ *
+ * @return \Traversable|Dimension[][]
+ * @throws \LogicException
+ */
+ public function getIterator() : \Traversable
+ {
+ }
+ }
+ /**
+ * @api
+ * Run indexer by dimensions
+ * @since 101.0.6
+ */
+ interface DimensionalIndexerInterface
+ {
+ /**
+ * Execute indexer by specified dimension.
+ * Accept array of dimensions DTO that represent indexer dimension
+ *
+ * @param \Magento\Framework\Indexer\Dimension[] $dimensions
+ * @param \Traversable $entityIds
+ * @return void
+ * @since 101.0.6
+ */
+ public function executeByDimensions(array $dimensions, \Traversable $entityIds);
+ }
+}
+namespace Magento\Framework\Search\Request {
+ /**
+ * Resolve table name by provided dimensions. Scope Resolver must accept all dimensions that potentially can be used to
+ * resolve table name, but certain implementation can filter them if needed
+ *
+ * @api
+ */
+ interface IndexScopeResolverInterface
+ {
+ /**
+ * @param string $index
+ * @param Dimension[] $dimensions
+ * @return string
+ */
+ public function resolve($index, array $dimensions);
+ }
+}
+namespace Magento\Framework\Indexer\ScopeResolver {
+ class FlatScopeResolver implements \Magento\Framework\Search\Request\IndexScopeResolverInterface
+ {
+ const SUFFIX_FLAT = '_flat';
+ /**
+ * @param IndexScopeResolver $indexScopeResolver
+ */
+ public function __construct(\Magento\Framework\Indexer\ScopeResolver\IndexScopeResolver $indexScopeResolver)
+ {
+ }
+ /**
+ * @param string $index
+ * @param Dimension[] $dimensions
+ * @return string
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ public function resolve($index, array $dimensions)
+ {
+ }
+ }
+ class IndexScopeResolver implements \Magento\Framework\Search\Request\IndexScopeResolverInterface
+ {
+ /**
+ * @param ResourceConnection $resource
+ * @param ScopeResolverInterface $scopeResolver
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resource, \Magento\Framework\App\ScopeResolverInterface $scopeResolver)
+ {
+ }
+ /**
+ * @param string $index
+ * @param Dimension[] $dimensions
+ * @return string
+ */
+ public function resolve($index, array $dimensions)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Indexer {
+ /**
+ * Class set MEMORY table size for indexer processes according batch size and index row size.
+ */
+ class BatchSizeManagement implements \Magento\Framework\Indexer\BatchSizeManagementInterface
+ {
+ /**
+ * CompositeProductBatchSizeCalculator constructor.
+ * @param \Magento\Framework\Indexer\IndexTableRowSizeEstimatorInterface $rowSizeEstimator
+ * @param \Psr\Log\LoggerInterface $logger
+ */
+ public function __construct(\Magento\Framework\Indexer\IndexTableRowSizeEstimatorInterface $rowSizeEstimator, \Psr\Log\LoggerInterface $logger)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function ensureBatchSize(\Magento\Framework\DB\Adapter\AdapterInterface $connection, $batchSize)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup {
+ /**
+ * Persist listened schema to db_schema.xml file.
+ */
+ class XmlPersistor
+ {
+ /**
+ * Persist XML object to file.
+ *
+ * @param \SimpleXMLElement $simpleXMLElement
+ * @param $path
+ */
+ public function persist(\SimpleXMLElement $simpleXMLElement, $path)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Patch {
+ /**
+ * Revertable means, that patch can be reverted
+ *
+ * All patches (@see PatchInterface) that implement this interfaces should have next values:
+ * - do not use application layer: like Serilizer, Collections, etc
+ * - use only some DML operations: INSERT, UPDATE
+ * - DELETE DML operation is prohibited, because it can cause triggering foreign keys constraints
+ * - all schema patches are not revertable
+ *
+ * @api
+ */
+ interface PatchRevertableInterface
+ {
+ /**
+ * Rollback all changes, done by this patch
+ *
+ * @return void
+ */
+ public function revert();
+ }
+ /**
+ * This class is information expert in questions of backward compatibility in data and schema patches
+ */
+ class PatchBackwardCompatability
+ {
+ /**
+ * @param ModuleResource $moduleResource
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ * @SuppressWarnings(Magento.TypeDuplication)
+ */
+ public function __construct(\Magento\Framework\Module\ModuleResource $moduleResource)
+ {
+ }
+ /**
+ * Check is patch skipable by data setup version in DB
+ *
+ * @param string $patchClassName
+ * @param string $moduleName
+ * @return bool
+ */
+ public function isSkipableByDataSetupVersion(string $patchClassName, string $moduleName) : bool
+ {
+ }
+ /**
+ * Check is patch skipable by schema setup version in DB
+ *
+ * @param string $patchClassName
+ * @param string $moduleName
+ * @return bool
+ */
+ public function isSkipableBySchemaSetupVersion(string $patchClassName, string $moduleName) : bool
+ {
+ }
+ }
+ /**
+ * Allows to read all patches through the whole system
+ */
+ class PatchReader
+ {
+ /**
+ * Folder name, where patches are
+ */
+ public const SETUP_PATCH_FOLDER = 'Patch';
+ /**
+ * @param ComponentRegistrar $componentRegistrar
+ * @param string $type
+ */
+ public function __construct(\Magento\Framework\Component\ComponentRegistrar $componentRegistrar, $type)
+ {
+ }
+ /**
+ * Method to read.
+ *
+ * @param string $moduleName
+ * @return array
+ */
+ public function read($moduleName)
+ {
+ }
+ }
+ /**
+ * This factory allows to create data patches:
+ * @see PatchInterface
+ */
+ class PatchFactory
+ {
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create new instance of patch
+ *
+ * @param string $instanceName
+ * @param array $arguments
+ * @return PatchInterface
+ */
+ public function create($instanceName, $arguments = [])
+ {
+ }
+ }
+ /**
+ * Create instance of patch registry
+ */
+ class PatchRegistryFactory
+ {
+ /**
+ * @param ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Setup\Patch\PatchRegistry::class)
+ {
+ }
+ /**
+ * @return PatchRegistry
+ */
+ public function create()
+ {
+ }
+ }
+ /**
+ * This factory allows to create data patches applier
+ */
+ class PatchApplierFactory
+ {
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create new instance of patch applier
+ *
+ * @param array $arguments
+ * @return PatchInterface
+ */
+ public function create($arguments = [])
+ {
+ }
+ }
+ /**
+ * Means that patch can`t be run in transaction
+ *
+ * @api
+ */
+ interface NonTransactionableInterface
+ {
+ }
+}
+namespace Magento\Framework\Setup {
+ /**
+ * Allows to check whether specific component of database is up to date.
+ *
+ * New way of interaction with database implies that there can be components like:
+ * - Declarative Schema
+ * - Data Patches
+ * - Schema Patches
+ * - In Future (maybe): triggers, stored procedures, etc
+ *
+ * Old way implies, that each module has 2 components: data and schema
+ *
+ * @api
+ */
+ interface UpToDateValidatorInterface
+ {
+ /**
+ * Retrieve message, that uncover outdated component
+ *
+ * @return string
+ */
+ public function getNotUpToDateMessage() : string;
+ /**
+ * Validate component whether it is up to date or not
+ *
+ * @return bool
+ */
+ public function isUpToDate() : bool;
+ }
+}
+namespace Magento\Framework\Setup\Patch {
+ /**
+ * Allows to validate if data patches is up to date or not
+ */
+ class UpToDateData implements \Magento\Framework\Setup\UpToDateValidatorInterface
+ {
+ /**
+ * UpToDateData constructor.
+ * @param PatchHistory $patchHistory
+ * @param PatchReader $dataPatchReader
+ * @param PatchBackwardCompatability $patchBackwardCompatability
+ * @param ModuleList $moduleList
+ */
+ public function __construct(\Magento\Framework\Setup\Patch\PatchHistory $patchHistory, \Magento\Framework\Setup\Patch\PatchReader $dataPatchReader, \Magento\Framework\Setup\Patch\PatchBackwardCompatability $patchBackwardCompatability, \Magento\Framework\Module\ModuleList $moduleList)
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getNotUpToDateMessage() : string
+ {
+ }
+ /**
+ * @return bool
+ */
+ public function isUpToDate() : bool
+ {
+ }
+ }
+ /**
+ * Allows to read all patches through the whole system
+ */
+ class PatchRegistry implements \IteratorAggregate
+ {
+ /**
+ * PatchRegistry constructor.
+ * @param PatchFactory $patchFactory
+ * @param PatchHistory $patchHistory
+ */
+ public function __construct(\Magento\Framework\Setup\Patch\PatchFactory $patchFactory, \Magento\Framework\Setup\Patch\PatchHistory $patchHistory)
+ {
+ }
+ /**
+ * Register patch and create chain of patches
+ *
+ * @param string $patchName
+ * @return PatchInterface | bool
+ */
+ public function registerPatch(string $patchName)
+ {
+ }
+ /**
+ * If you want to uninstall system, there you will run all patches in reverse order
+ *
+ * But note, that patches also have dependencies, and if patch is dependency to any other patch
+ * you will to revert it dependencies first and only then patch
+ *
+ * @return \ArrayIterator
+ */
+ public function getReverseIterator()
+ {
+ }
+ /**
+ * Retrieve iterator of all patch instances
+ *
+ * If patch have dependencies, then first of all dependencies should be installed and only then desired patch
+ *
+ * @return \ArrayIterator
+ */
+ #[\ReturnTypeWillChange]
+ public function getIterator()
+ {
+ }
+ }
+ /**
+ * For backward compatibility with versioned style module installation.
+ * The interface should be used for migration from the legacy installation approach to the declarative installation
+ * mechanism. The usage of this interface prohibited for the new data or schema patches.
+ *
+ */
+ interface PatchVersionInterface
+ {
+ /**
+ * This version associate patch with Magento setup version.
+ * For example, if Magento current setup version is 2.0.3 and patch version is 2.0.2 then
+ * this patch will be added to registry, but will not be applied, because it is already applied
+ * by old mechanism of UpgradeData.php script
+ *
+ * @return string
+ */
+ public static function getVersion();
+ }
+ /**
+ * Each patch can have dependencies, that should be applied before such patch
+ *
+ * / Patch2 --- Patch3
+ * /
+ * /
+ * Patch1
+ *
+ * Here you see dependency of Patch1 to Patch2
+ *
+ * @api
+ */
+ interface DependentPatchInterface
+ {
+ /**
+ * Get array of patches that have to be executed prior to this.
+ *
+ * Example of implementation:
+ *
+ * [
+ * \Vendor_Name\Module_Name\Setup\Patch\Patch1::class,
+ * \Vendor_Name\Module_Name\Setup\Patch\Patch2::class
+ * ]
+ *
+ * @return string[]
+ */
+ public static function getDependencies();
+ }
+ /**
+ * This interface describe script, that is presented by atomic operations for data and schema
+ *
+ * @api
+ */
+ interface PatchInterface extends \Magento\Framework\Setup\Patch\DependentPatchInterface
+ {
+ /**
+ * Get aliases (previous names) for the patch.
+ *
+ * @return string[]
+ */
+ public function getAliases();
+ /**
+ * Run code inside patch
+ * If code fails, patch must be reverted, in case when we are speaking about schema - then under revert
+ * means run PatchInterface::revert()
+ *
+ * If we speak about data, under revert means: $transaction->rollback()
+ *
+ * @return $this
+ */
+ public function apply();
+ }
+ /**
+ * This interface describe script, that atomic operations with data (DML, DQL) in SQL database
+ * This is wrapper for @see PatchInterface in order to define what kind of patch we have
+ *
+ * @api
+ */
+ interface DataPatchInterface extends \Magento\Framework\Setup\Patch\PatchInterface
+ {
+ }
+ /**
+ * This is registry of all patches, that are already applied on database
+ */
+ class PatchHistory
+ {
+ /**
+ * Table name where patche names will be persisted
+ */
+ const TABLE_NAME = 'patch_list';
+ /**
+ * Name of a patch
+ */
+ const CLASS_NAME = "patch_name";
+ /**
+ * Patch type for schema patches
+ */
+ const SCHEMA_PATCH_TYPE = 'schema';
+ /**
+ * Patch type for data patches
+ */
+ const DATA_PATCH_TYPE = 'data';
+ /**
+ * PatchHistory constructor.
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * Fix patch in patch table in order to avoid reapplying of patch
+ *
+ * @param string $patchName
+ * @return void
+ */
+ public function fixPatch($patchName)
+ {
+ }
+ /**
+ * Revert patch from history
+ *
+ * @param string $patchName
+ * @return void
+ */
+ public function revertPatchFromHistory($patchName)
+ {
+ }
+ /**
+ * Check whether patch was applied on the system or not
+ *
+ * @param string $patchName
+ * @return bool
+ */
+ public function isApplied($patchName)
+ {
+ }
+ }
+ /**
+ * This interface describe script, that atomic operations with schema (DDL) in SQL database
+ * This is wrapper for @see PatchInterface in order to define what kind of patch we have
+ *
+ * @api
+ */
+ interface SchemaPatchInterface extends \Magento\Framework\Setup\Patch\PatchInterface
+ {
+ }
+ /**
+ * Allows to validate if data patches is up to date or not
+ */
+ class UpToDateSchema implements \Magento\Framework\Setup\UpToDateValidatorInterface
+ {
+ /**
+ * UpToDateData constructor.
+ * @param PatchHistory $patchHistory
+ * @param PatchReader $schemaReader
+ * @param PatchBackwardCompatability $patchBackwardCompatability
+ * @param ModuleList $moduleList
+ */
+ public function __construct(\Magento\Framework\Setup\Patch\PatchHistory $patchHistory, \Magento\Framework\Setup\Patch\PatchReader $schemaReader, \Magento\Framework\Setup\Patch\PatchBackwardCompatability $patchBackwardCompatability, \Magento\Framework\Module\ModuleList $moduleList)
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getNotUpToDateMessage() : string
+ {
+ }
+ /**
+ * @return bool
+ */
+ public function isUpToDate() : bool
+ {
+ }
+ }
+ /**
+ * Apply patches per specific module
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class PatchApplier
+ {
+ /**
+ * Flag means, that we need to read schema patches
+ */
+ public const SCHEMA_PATCH = 'schema';
+ /**
+ * Flag means, that we need to read data patches
+ */
+ public const DATA_PATCH = 'data';
+ /**
+ * PatchApplier constructor.
+ * @param PatchReader $dataPatchReader
+ * @param PatchReader $schemaPatchReader
+ * @param PatchRegistryFactory $patchRegistryFactory
+ * @param ResourceConnection $resourceConnection
+ * @param PatchBackwardCompatability $patchBackwardCompatability
+ * @param PatchHistory $patchHistory
+ * @param PatchFactory $patchFactory
+ * @param ObjectManagerInterface $objectManager
+ * @param \Magento\Framework\Setup\SchemaSetupInterface $schemaSetup
+ * @param ModuleDataSetupInterface $moduleDataSetup
+ * @param ModuleList $moduleList
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ * @SuppressWarnings(Magento.TypeDuplication)
+ */
+ public function __construct(\Magento\Framework\Setup\Patch\PatchReader $dataPatchReader, \Magento\Framework\Setup\Patch\PatchReader $schemaPatchReader, \Magento\Framework\Setup\Patch\PatchRegistryFactory $patchRegistryFactory, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Patch\PatchBackwardCompatability $patchBackwardCompatability, \Magento\Framework\Setup\Patch\PatchHistory $patchHistory, \Magento\Framework\Setup\Patch\PatchFactory $patchFactory, \Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Setup\SchemaSetupInterface $schemaSetup, \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup, \Magento\Framework\Module\ModuleList $moduleList)
+ {
+ }
+ /**
+ * Apply all patches for one module
+ *
+ * @param null|string $moduleName
+ * @throws SetupException
+ */
+ public function applyDataPatch($moduleName = null)
+ {
+ }
+ /**
+ * Apply all patches for one module
+ *
+ * Please note: that schema patches are not revertable
+ *
+ * @param null|string $moduleName
+ * @throws SetupException
+ */
+ public function applySchemaPatch($moduleName = null)
+ {
+ }
+ /**
+ * Revert data patches for specific module
+ *
+ * @param null|string $moduleName
+ * @throws SetupException
+ */
+ public function revertDataPatches($moduleName = null)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\SampleData {
+ /**
+ * Interface for SampleData modules installation
+ *
+ * @api
+ */
+ interface InstallerInterface
+ {
+ /**
+ * Install SampleData module
+ *
+ * @return void
+ */
+ public function install();
+ }
+ /**
+ * Constructor modification point for Magento\Framework\Setup\SampleData.
+ *
+ * All context classes were introduced to allow for backwards compatible constructor modifications
+ * of classes that were supposed to be extended by extension developers.
+ *
+ * Do not call methods of this class directly.
+ *
+ * As Magento moves from inheritance-based APIs all such classes will be deprecated together with
+ * the classes they were introduced for.
+ */
+ class Context
+ {
+ /**
+ * @param FixtureManager $fixtureManager
+ * @param Csv $csvReader
+ */
+ public function __construct(\Magento\Framework\Setup\SampleData\FixtureManager $fixtureManager, \Magento\Framework\File\Csv $csvReader)
+ {
+ }
+ /**
+ * @return FixtureManager
+ */
+ public function getFixtureManager()
+ {
+ }
+ /**
+ * @return Csv
+ */
+ public function getCsvReader()
+ {
+ }
+ }
+ /**
+ * Performs sample data installations.
+ */
+ class Executor
+ {
+ /**
+ * @param \Psr\Log\LoggerInterface $logger
+ * @param State $state
+ * @param \Magento\Framework\App\State $appState
+ */
+ public function __construct(\Psr\Log\LoggerInterface $logger, \Magento\Framework\Setup\SampleData\State $state, \Magento\Framework\App\State $appState)
+ {
+ }
+ /**
+ * Execute SampleData module installation.
+ *
+ * Catch exception if it appeared and continue installation
+ *
+ * @param InstallerInterface $installer
+ * @return void
+ */
+ public function exec(\Magento\Framework\Setup\SampleData\InstallerInterface $installer)
+ {
+ }
+ }
+ /**
+ * Interface for SampleData modules installation
+ *
+ * @api
+ */
+ interface StateInterface
+ {
+ /**
+ * Current state
+ */
+ const ERROR = 'error';
+ const INSTALLED = 'installed';
+ /**
+ * Set error flag to Sample Data state
+ *
+ * @return void
+ */
+ public function setError();
+ /**
+ * Check if Sample Data state has error
+ *
+ * @return bool
+ */
+ public function hasError();
+ /**
+ * Set installed flag to Sample Data state
+ *
+ * @return void
+ */
+ public function setInstalled();
+ /**
+ * Check if Sample Data is installed
+ *
+ * @return bool
+ */
+ public function isInstalled();
+ /**
+ * Clear Sample Data state
+ *
+ * @return void
+ */
+ public function clearState();
+ }
+ class State implements \Magento\Framework\Setup\SampleData\StateInterface
+ {
+ /**
+ * @var string
+ */
+ protected $fileName = '.sample-data-state.flag';
+ /**
+ * @var string|null
+ */
+ protected $filePath;
+ /**
+ * @var Filesystem
+ */
+ protected $filesystem;
+ /**
+ * @param Filesystem $filesystem
+ */
+ public function __construct(\Magento\Framework\Filesystem $filesystem)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function hasError()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setError()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function isInstalled()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function setInstalled()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function clearState()
+ {
+ }
+ /**
+ * @return \Magento\Framework\Filesystem\File\WriteInterface
+ */
+ protected function getStream()
+ {
+ }
+ /**
+ * @param string $mode
+ * @return bool|\Magento\Framework\Filesystem\File\WriteInterface
+ */
+ protected function openStream($mode = 'w')
+ {
+ }
+ /**
+ * @param string $data
+ * @throws \Exception
+ * @return void
+ */
+ protected function writeStream($data)
+ {
+ }
+ /**
+ * Closing file stream
+ *
+ * @param \Magento\Framework\Filesystem\File\WriteInterface $stream
+ * @return void
+ */
+ protected function closeStream($stream)
+ {
+ }
+ }
+ class FixtureManager
+ {
+ /**
+ * Modules root directory
+ *
+ * @var ReadInterface
+ */
+ protected $_modulesDirectory;
+ /**
+ * @var \Magento\Framework\Stdlib\StringUtils
+ */
+ protected $_string;
+ /**
+ * @param ComponentRegistrar $componentRegistrar
+ * @param \Magento\Framework\Stdlib\StringUtils $string
+ */
+ public function __construct(\Magento\Framework\Component\ComponentRegistrar $componentRegistrar, \Magento\Framework\Stdlib\StringUtils $string)
+ {
+ }
+ /**
+ * Method to get fixture.
+ *
+ * @param string $fileId
+ * @return string
+ * @throws \Magento\Framework\Exception\LocalizedException
+ */
+ public function getFixture($fileId)
+ {
+ }
+ /**
+ * Remove excessive "." and ".." parts from a path
+ *
+ * For example foo/bar/../file.ext -> foo/file.ext
+ *
+ * @param string $path
+ * @return string
+ */
+ public static function normalizePath($path)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup {
+ class BackupRollbackFactory
+ {
+ /**
+ * @var ObjectManagerInterface
+ */
+ protected $_objectManager;
+ /**
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create and return BackupRollback
+ *
+ * @param OutputInterface $output
+ * @return BackupRollback
+ */
+ public function create($output)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\SchemaListenerDefinition {
+ /**
+ * Definition formatting interface.
+ *
+ * @api
+ */
+ interface DefinitionConverterInterface
+ {
+ /**
+ * Takes definition and convert to new format.
+ *
+ * @param array $definition
+ * @return array
+ */
+ public function convertToDefinition(array $definition);
+ }
+ /**
+ * Boolean type definition.
+ */
+ class BooleanDefinition implements \Magento\Framework\Setup\SchemaListenerDefinition\DefinitionConverterInterface
+ {
+ /**
+ * @inheritdoc
+ */
+ public function convertToDefinition(array $definition)
+ {
+ }
+ }
+ /**
+ * Date type definition.
+ */
+ class DateDefinition implements \Magento\Framework\Setup\SchemaListenerDefinition\DefinitionConverterInterface
+ {
+ /**
+ * @inheritdoc
+ */
+ public function convertToDefinition(array $definition)
+ {
+ }
+ }
+ /**
+ * Convert definition for all real types: decimal, float, double.
+ */
+ class RealDefinition implements \Magento\Framework\Setup\SchemaListenerDefinition\DefinitionConverterInterface
+ {
+ /**
+ * @inheritdoc
+ */
+ public function convertToDefinition(array $definition)
+ {
+ }
+ }
+ /**
+ * Convert definition for all integer types: int, smallint, bigint, tinyint, mediumint.
+ */
+ class IntegerDefinition implements \Magento\Framework\Setup\SchemaListenerDefinition\DefinitionConverterInterface
+ {
+ /**
+ * IntegerDefinition constructor.
+ *
+ * @param BooleanDefinition $booleanDefinition
+ */
+ public function __construct(\Magento\Framework\Setup\SchemaListenerDefinition\BooleanDefinition $booleanDefinition)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function convertToDefinition(array $definition)
+ {
+ }
+ }
+ /**
+ * Char type definition.
+ */
+ class CharDefinition implements \Magento\Framework\Setup\SchemaListenerDefinition\DefinitionConverterInterface
+ {
+ /**
+ * @inheritdoc
+ */
+ public function convertToDefinition(array $definition)
+ {
+ }
+ }
+ /**
+ * Json type definition.
+ */
+ class JsonDefinition implements \Magento\Framework\Setup\SchemaListenerDefinition\DefinitionConverterInterface
+ {
+ /**
+ * @inheritdoc
+ */
+ public function convertToDefinition(array $definition)
+ {
+ }
+ }
+ /**
+ * Convert definition for all text types: timestamp, datetime.
+ */
+ class TimestampDefinition implements \Magento\Framework\Setup\SchemaListenerDefinition\DefinitionConverterInterface
+ {
+ /**
+ * @inheritdoc
+ */
+ public function convertToDefinition(array $definition)
+ {
+ }
+ }
+ /**
+ * Convert definition for all text/blob types: tiny-, medium-, long- text(s) and blob(s).
+ */
+ class TextBlobDefinition implements \Magento\Framework\Setup\SchemaListenerDefinition\DefinitionConverterInterface
+ {
+ /**
+ * @inheritdoc
+ */
+ public function convertToDefinition(array $definition)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup {
+ /**
+ * Retrieves lists of allowed locales and currencies
+ */
+ class Lists
+ {
+ /**
+ * List of allowed locales
+ *
+ * @var array
+ */
+ protected $allowedLocales;
+ /**
+ * @param ConfigInterface $localeConfig
+ */
+ public function __construct(\Magento\Framework\Locale\ConfigInterface $localeConfig)
+ {
+ }
+ /**
+ * Retrieve list of timezones
+ *
+ * @param bool $doSort
+ * @return array
+ */
+ public function getTimezoneList($doSort = true)
+ {
+ }
+ /**
+ * Retrieve list of currencies
+ *
+ * @return array
+ */
+ public function getCurrencyList()
+ {
+ }
+ /**
+ * Retrieve list of locales
+ *
+ * @return array
+ */
+ public function getLocaleList()
+ {
+ }
+ }
+ /**
+ * Persist listened schema to db_schema.xml file.
+ */
+ class SchemaPersistor
+ {
+ /**
+ * @param ComponentRegistrar $componentRegistrar
+ * @param XmlPersistor $xmlPersistor
+ */
+ public function __construct(\Magento\Framework\Component\ComponentRegistrar $componentRegistrar, \Magento\Framework\Setup\XmlPersistor $xmlPersistor)
+ {
+ }
+ /**
+ * Do persist by modules to db_schema.xml file.
+ *
+ * @param SchemaListener $schemaListener
+ */
+ public function persist(\Magento\Framework\Setup\SchemaListener $schemaListener)
+ {
+ }
+ }
+ /**
+ * @codeCoverageIgnore
+ */
+ class ExternalFKSetup
+ {
+ /**
+ * @var SchemaSetupInterface
+ */
+ protected $setup;
+ /**
+ * @var string
+ */
+ protected $entityTable;
+ /**
+ * @var string
+ */
+ protected $entityColumn;
+ /**
+ * @var string
+ */
+ protected $externalTable;
+ /**
+ * @var string
+ */
+ protected $externalColumn;
+ /**
+ * @var string
+ */
+ protected $onDelete;
+ /**
+ * Install external foreign key
+ *
+ * @param SchemaSetupInterface $setup
+ * @param string $entityTable
+ * @param string $entityColumn
+ * @param string $externalTable
+ * @param string $externalColumn
+ * @param string $onDelete
+ * @return void
+ */
+ public function install(\Magento\Framework\Setup\SchemaSetupInterface $setup, $entityTable, $entityColumn, $externalTable, $externalColumn, $onDelete = \Magento\Framework\DB\Adapter\AdapterInterface::FK_ACTION_CASCADE)
+ {
+ }
+ /**
+ * Set external foreign key
+ *
+ * @return void
+ */
+ protected function execute()
+ {
+ }
+ /**
+ * Get foreign keys for tables and columns
+ *
+ * @param string $targetTable
+ * @param string $targetColumn
+ * @param string $refTable
+ * @param string $refColumn
+ * @return array
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+ protected function getForeignKeys($targetTable, $targetColumn, $refTable, $refColumn)
+ {
+ }
+ /**
+ * Remove foreign key if exists
+ *
+ * @param string $targetTable
+ * @param string $targetColumn
+ * @param string $refTable
+ * @param string $refColumn
+ * @return void
+ */
+ protected function clearForeignKey($targetTable, $targetColumn, $refTable, $refColumn)
+ {
+ }
+ /**
+ * Add default foreign key
+ *
+ * @return void
+ */
+ protected function addDefaultForeignKey()
+ {
+ }
+ /**
+ * Add foreign keys to entity table
+ *
+ * @return void
+ */
+ protected function addForeignKeys()
+ {
+ }
+ /**
+ * Drop old foreign key
+ *
+ * @return void
+ */
+ protected function dropOldForeignKey()
+ {
+ }
+ }
+ /**
+ * Interface to Log Message in Setup
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface LoggerInterface
+ {
+ /**
+ * Logs success message
+ *
+ * @param string $message
+ * @return void
+ */
+ public function logSuccess($message);
+ /**
+ * Logs error message
+ *
+ * @param \Exception $e
+ * @return void
+ */
+ public function logError(\Exception $e);
+ /**
+ * Logs a message
+ *
+ * @param string $message
+ * @return void
+ */
+ public function log($message);
+ /**
+ * Logs a message in the current line
+ *
+ * @param string $message
+ * @return void
+ */
+ public function logInline($message);
+ /**
+ * Logs meta information
+ *
+ * @param string $message
+ * @return void
+ */
+ public function logMeta($message);
+ }
+ /**
+ * Console Logger
+ *
+ * @package Magento\Setup\Model
+ */
+ class ConsoleLogger implements \Magento\Framework\Setup\LoggerInterface
+ {
+ /**
+ * Console
+ *
+ * @var OutputInterface
+ */
+ protected $console;
+ /**
+ * Constructor
+ *
+ * @param OutputInterface $output
+ */
+ public function __construct(\Symfony\Component\Console\Output\OutputInterface $output)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function logSuccess($message)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function logError(\Exception $e)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function log($message)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function logInline($message)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function logMeta($message)
+ {
+ }
+ }
+ /**
+ * Class to deal with backup and rollback functionality for database and Code base
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class BackupRollback
+ {
+ /**
+ * Default backup directory
+ */
+ public const DEFAULT_BACKUP_DIRECTORY = 'backups';
+ /**
+ * Constructor
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param LoggerInterface $log
+ * @param DirectoryList $directoryList
+ * @param File $file
+ * @param Helper $fsHelper
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Setup\LoggerInterface $log, \Magento\Framework\App\Filesystem\DirectoryList $directoryList, \Magento\Framework\Filesystem\Driver\File $file, \Magento\Framework\Backup\Filesystem\Helper $fsHelper)
+ {
+ }
+ /**
+ * Take backup for code base
+ *
+ * @param int $time
+ * @param string $type
+ * @return string
+ * @throws LocalizedException
+ */
+ public function codeBackup($time, $type = \Magento\Framework\Backup\Factory::TYPE_FILESYSTEM)
+ {
+ }
+ /**
+ * Roll back code base
+ *
+ * @param string $rollbackFile
+ * @param string $type
+ * @param boolean $keepSourceFile
+ * @return void
+ * @throws LocalizedException
+ */
+ public function codeRollback($rollbackFile, $type = \Magento\Framework\Backup\Factory::TYPE_FILESYSTEM, $keepSourceFile = false)
+ {
+ }
+ /**
+ * Take backup for database
+ *
+ * @param int $time
+ * @return string
+ */
+ public function dbBackup($time)
+ {
+ }
+ /**
+ * Roll back database
+ *
+ * @param string $rollbackFile
+ * @param boolean $keepSourceFile
+ * @return void
+ * @throws LocalizedException
+ */
+ public function dbRollback($rollbackFile, $keepSourceFile = false)
+ {
+ }
+ /**
+ * Get disk availability for filesystem backup
+ *
+ * @param string $type
+ * @return int
+ * @throws LocalizedException
+ */
+ public function getFSDiskSpace($type = \Magento\Framework\Backup\Factory::TYPE_FILESYSTEM)
+ {
+ }
+ /**
+ * Get disk availability for database backup
+ *
+ * @return int
+ * @throws LocalizedException
+ */
+ public function getDBDiskSpace()
+ {
+ }
+ }
+ /**
+ * Interface for handling data removal during module uninstall
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface UninstallInterface
+ {
+ /**
+ * Invoked when remove-data flag is set during module uninstall.
+ *
+ * @param SchemaSetupInterface $setup
+ * @param ModuleContextInterface $context
+ * @return void
+ */
+ public function uninstall(\Magento\Framework\Setup\SchemaSetupInterface $setup, \Magento\Framework\Setup\ModuleContextInterface $context);
+ }
+ /**
+ * Listen for all changes and record them in order to reuse later.
+ *
+ * @SuppressWarnings(PHPMD.TooManyPublicMethods)
+ * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ */
+ class SchemaListener
+ {
+ /**
+ * Ignore all ddl queries.
+ */
+ public const IGNORE_ON = 0;
+ /**
+ * Disable ignore mode.
+ */
+ public const IGNORE_OFF = 1;
+ /**
+ * Staging FK keys installer key. Indicates that changes should be moved from ordinary module to staging module.
+ */
+ public const STAGING_FK_KEYS = 2;
+ /**
+ * @param array $definitionMappers
+ * @param array $handlers
+ */
+ public function __construct(array $definitionMappers, array $handlers = [])
+ {
+ }
+ /**
+ * Drop foreign key in table by name.
+ *
+ * @param string $tableName
+ * @param string $fkName
+ */
+ public function dropForeignKey($tableName, $fkName)
+ {
+ }
+ /**
+ * Rename table.
+ *
+ * @param string $oldTableName
+ * @param string $newTableName
+ * @return void
+ */
+ public function renameTable($oldTableName, $newTableName)
+ {
+ }
+ /**
+ * Add column.
+ *
+ * @param string $tableName
+ * @param string $columnName
+ * @param array $definition
+ * @param string $primaryKeyName
+ * @param string|null $onCreate
+ */
+ public function addColumn($tableName, $columnName, $definition, $primaryKeyName = 'PRIMARY', $onCreate = null)
+ {
+ }
+ /**
+ * Drop index.
+ *
+ * @param string $tableName
+ * @param string $keyName
+ * @param string $indexType
+ */
+ public function dropIndex($tableName, $keyName, $indexType)
+ {
+ }
+ /**
+ * Do drop column.
+ *
+ * @param string $tableName
+ * @param string $columnName
+ */
+ public function dropColumn($tableName, $columnName)
+ {
+ }
+ /**
+ * Change column is the same as rename.
+ *
+ * @param string $tableName
+ * @param string $oldColumnName
+ * @param string $newColumnName
+ * @param array $definition
+ */
+ public function changeColumn($tableName, $oldColumnName, $newColumnName, $definition)
+ {
+ }
+ /**
+ * Modify column.
+ *
+ * @param string $tableName
+ * @param string $columnName
+ * @param array $definition
+ */
+ public function modifyColumn($tableName, $columnName, $definition)
+ {
+ }
+ /**
+ * Log any change done.
+ *
+ * @param string $tableName
+ * @param array $dataToLog
+ * @return void
+ */
+ public function log($tableName, array $dataToLog)
+ {
+ }
+ /**
+ * Add foreign key constraint.
+ *
+ * @param string $fkName
+ * @param string $tableName
+ * @param string $columnName
+ * @param string $refTableName
+ * @param string $refColumnName
+ * @param string $onDelete
+ */
+ public function addForeignKey($fkName, $tableName, $columnName, $refTableName, $refColumnName, $onDelete = \Magento\Framework\DB\Adapter\AdapterInterface::FK_ACTION_CASCADE)
+ {
+ }
+ /**
+ * Add index for table column(s).
+ *
+ * @param string $tableName
+ * @param string $indexName
+ * @param array $fields
+ * @param string $indexType
+ * @param string $indexAlhoritm
+ */
+ public function addIndex($tableName, $indexName, $fields, $indexType = \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_INDEX, $indexAlhoritm = 'btree')
+ {
+ }
+ /**
+ * Create table.
+ *
+ * @param Table $table
+ * @throws \Zend_Db_Exception
+ */
+ public function createTable(\Magento\Framework\DB\Ddl\Table $table)
+ {
+ }
+ /**
+ * Flush all tables.
+ *
+ * @return void
+ */
+ public function flush()
+ {
+ }
+ /**
+ * Turn on/off ignore mode.
+ *
+ * @param bool $flag
+ */
+ public function toogleIgnore($flag)
+ {
+ }
+ /**
+ * Drop table.
+ *
+ * @param string $tableName
+ */
+ public function dropTable($tableName)
+ {
+ }
+ /**
+ * Set resource.
+ *
+ * @param string $resource
+ */
+ public function setResource(string $resource)
+ {
+ }
+ /**
+ * Set module name.
+ *
+ * @param string $moduleName
+ */
+ public function setModuleName($moduleName)
+ {
+ }
+ /**
+ * Get tables.
+ *
+ * @return array
+ */
+ public function getTables()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Patch {
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class PatchApplierTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param $moduleName
+ * @param $dataPatches
+ * @param $moduleVersionInDb
+ *
+ * @dataProvider applyDataPatchDataNewModuleProvider()
+ */
+ public function testApplyDataPatchForNewlyInstalledModule($moduleName, $dataPatches, $moduleVersionInDb)
+ {
+ }
+ /**
+ * @param $moduleName
+ * @param $dataPatches
+ * @param $moduleVersionInDb
+ *
+ * @dataProvider applyDataPatchDataNewModuleProvider()
+ */
+ public function testApplyDataPatchForAlias($moduleName, $dataPatches, $moduleVersionInDb)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function applyDataPatchDataNewModuleProvider()
+ {
+ }
+ /**
+ * @param $moduleName
+ * @param $dataPatches
+ * @param $moduleVersionInDb
+ *
+ * @dataProvider applyDataPatchDataInstalledModuleProvider()
+ */
+ public function testApplyDataPatchForInstalledModule($moduleName, $dataPatches, $moduleVersionInDb)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function applyDataPatchDataInstalledModuleProvider()
+ {
+ }
+ /**
+ * @param $moduleName
+ * @param $dataPatches
+ * @param $moduleVersionInDb
+ *
+ *
+ * @dataProvider applyDataPatchDataInstalledModuleProvider()
+ */
+ public function testApplyDataPatchRollback($moduleName, $dataPatches, $moduleVersionInDb)
+ {
+ }
+ public function testNonDataPatchApply()
+ {
+ }
+ public function testNonTransactionablePatch()
+ {
+ }
+ /**
+ * @param $moduleName
+ * @param $schemaPatches
+ * @param $moduleVersionInDb
+ *
+ * @dataProvider schemaPatchDataProvider()
+ */
+ public function testSchemaPatchAplly($moduleName, $schemaPatches, $moduleVersionInDb)
+ {
+ }
+ /**
+ * @param $moduleName
+ * @param $schemaPatches
+ * @param $moduleVersionInDb
+ *
+ * @dataProvider schemaPatchDataProvider()
+ */
+ public function testSchemaPatchApplyForPatchAlias($moduleName, $schemaPatches, $moduleVersionInDb)
+ {
+ }
+ public function testRevertDataPatches()
+ {
+ }
+ /**
+ * @return array
+ */
+ public function schemaPatchDataProvider()
+ {
+ }
+ }
+ class PatchFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testCreateNonPatchInterface()
+ {
+ }
+ }
+ class PatchRegirtryTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testRegisterAppliedPatch()
+ {
+ }
+ public function testRegisterNonAplliedPatch()
+ {
+ }
+ public function testGetIterator()
+ {
+ }
+ }
+ class PatchHistoryTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test fix non-applied patch
+ */
+ public function testFixPatch()
+ {
+ }
+ public function testFixAppliedPatch()
+ {
+ }
+ public function testFixPatchTwice()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\SampleData {
+ class StateTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var State|MockObject
+ */
+ protected $state;
+ /**
+ * @var Filesystem|MockObject
+ */
+ protected $filesystem;
+ /**
+ * @var WriteInterface|MockObject
+ */
+ protected $writeInterface;
+ /**
+ * @var string
+ */
+ protected $absolutePath;
+ protected function setUp() : void
+ {
+ }
+ public function testClearState()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Setup\SampleData\State::setError
+ */
+ public function testHasError()
+ {
+ }
+ /**
+ * Clear state file
+ */
+ protected function tearDown() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit {
+ /**
+ * Unit test for schema listener.
+ *
+ */
+ class SchemaListenerTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testRenameTable() : void
+ {
+ }
+ public function testDropIndex() : void
+ {
+ }
+ public function testCreateTable() : void
+ {
+ }
+ public function testDropTable() : void
+ {
+ }
+ public function testDropTableInSameModule() : void
+ {
+ }
+ }
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class BackupRollbackTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testCodeBackup()
+ {
+ }
+ public function testCodeBackupWithInvalidType()
+ {
+ }
+ public function testCodeRollback()
+ {
+ }
+ public function testCodeRollbackWithInvalidFilePath()
+ {
+ }
+ public function testCodeRollbackWithInvalidFileType()
+ {
+ }
+ public function testMediaBackup()
+ {
+ }
+ public function testMediaRollback()
+ {
+ }
+ public function testDbBackup()
+ {
+ }
+ public function testDbRollback()
+ {
+ }
+ public function testGetFSDiskSpaceback()
+ {
+ }
+ public function testGetDBDiskSpace()
+ {
+ }
+ }
+ class ConsoleLoggerTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testLogSuccess()
+ {
+ }
+ public function testLogError()
+ {
+ }
+ public function testLog()
+ {
+ }
+ public function testLogInline()
+ {
+ }
+ public function testLogMeta()
+ {
+ }
+ }
+ /**
+ * Unit test for schema persistor.
+ *
+ */
+ class SchemaPersistorTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @dataProvider schemaListenerTablesDataProvider
+ * @param array $tables
+ * @param string $expectedXML
+ */
+ public function testPersist(array $tables, $expectedXML) : void
+ {
+ }
+ /**
+ * Provide listened schema.
+ *
+ * @return array
+ */
+ public function schemaListenerTablesDataProvider() : array
+ {
+ }
+ }
+ class FilePermissionsTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritDoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $mageMode
+ *
+ * @return void
+ * @dataProvider modeDataProvider
+ */
+ public function testGetInstallationWritableDirectories($mageMode) : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetInstallationWritableDirectoriesInProduction() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetApplicationNonWritableDirectories() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetInstallationCurrentWritableDirectories() : void
+ {
+ }
+ /**
+ * @param array $mockMethods
+ * @param array $expected
+ *
+ * @return void
+ * @dataProvider getApplicationCurrentNonWritableDirectoriesDataProvider
+ */
+ public function testGetApplicationCurrentNonWritableDirectories(array $mockMethods, array $expected) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getApplicationCurrentNonWritableDirectoriesDataProvider() : array
+ {
+ }
+ /**
+ * @param string $mageMode
+ *
+ * @return void
+ * @dataProvider modeDataProvider
+ * @covers \Magento\Framework\Setup\FilePermissions::getMissingWritableDirectoriesForInstallation
+ * @covers \Magento\Framework\Setup\FilePermissions::getMissingWritablePathsForInstallation
+ */
+ public function testGetMissingWritableDirectoriesAndPathsForInstallation($mageMode) : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetMissingWritableDirectoriesAndPathsForInstallationInProduction() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetMissingWritableDirectoriesForDbUpgrade() : void
+ {
+ }
+ /**
+ * @param array $mockMethods
+ * @param array $expected
+ *
+ * @return void
+ * @dataProvider getUnnecessaryWritableDirectoriesForApplicationDataProvider
+ */
+ public function testGetUnnecessaryWritableDirectoriesForApplication(array $mockMethods, array $expected) : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function getUnnecessaryWritableDirectoriesForApplicationDataProvider() : array
+ {
+ }
+ /**
+ * @return void
+ */
+ public function setUpDirectoryListInstallation() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function setUpDirectoryListInstallationInProduction() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function setUpDirectoryWriteInstallation() : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function modeDataProvider() : array
+ {
+ }
+ }
+ class BackendFrontnameGeneratorTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGenerate()
+ {
+ }
+ }
+ class BackupRollbackFactoryTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testCreate()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema\Db {
+ /**
+ * Test for Definition Aggregator.
+ *
+ */
+ class DefinitionAggregatorTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testToDefinition()
+ {
+ }
+ public function testFromDefinition()
+ {
+ }
+ }
+ /**
+ * Test for SchemaBuilder.
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class SchemaBuilderTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return array
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ */
+ public function dataProvider()
+ {
+ }
+ /**
+ * @dataProvider dataProvider
+ * @param array $columns
+ * @param array $references
+ * @param array $constraints
+ * @param array $indexes
+ */
+ public function testBuild(array $columns, array $references, array $constraints, array $indexes)
+ {
+ }
+ /**
+ * WARNING! The expected exception type may differ depending on PHPUnit version.
+ *
+ * @dataProvider dataProvider
+ * @param array $columns
+ * @param array $references
+ * @param array $constraints
+ * @param array $indexes
+ */
+ public function testBuildUnknownIndexColumn(array $columns, array $references, array $constraints, array $indexes)
+ {
+ }
+ }
+ /**
+ * Test for StatementAggregator.
+ *
+ */
+ class StatementAggregatorTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testAddStatementsInOneBank()
+ {
+ }
+ public function testAddStatementsForDifferentTables()
+ {
+ }
+ public function testAddStatementsForDifferentResources()
+ {
+ }
+ public function testAddStatementsWithTriggersInLastStatement()
+ {
+ }
+ public function testAddStatementsWithTriggers()
+ {
+ }
+ public function testAddReferenceStatements()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema\Db\MySQL\Definition {
+ /**
+ * Test for index (key) definition.
+ *
+ */
+ class IndexTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ *
+ * @dataProvider toDefinitionDataProvider()
+ */
+ public function testToDefinition($name, $type, $columns, $expectedExpression)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function toDefinitionDataProvider()
+ {
+ }
+ /**
+ * Test from definition conversion.
+ *
+ * @param array $definition
+ * @param array $expectedDefinition
+ * @dataProvider definitionDataProvider()
+ */
+ public function testFromDefinition($definition, $expectedDefinition)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function definitionDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema\Db\MySQL\Definition\Columns {
+ class DateTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinition()
+ {
+ }
+ }
+ class NullableTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition of nullable column.
+ */
+ public function testToDefinition()
+ {
+ }
+ /**
+ * Test conversion to definition for not nullable column.
+ */
+ public function testToDefinitionNotNull()
+ {
+ }
+ /**
+ * Test conversion to definition of not nullable aware class.
+ */
+ public function testToDefinitionNotNullableAware()
+ {
+ }
+ }
+ /**
+ * Test for Identity DTO class.
+ *
+ */
+ class IdentityTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinition()
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinitionFalse()
+ {
+ }
+ /**
+ * Test from definition.
+ */
+ public function testFromDefinition()
+ {
+ }
+ }
+ class BooleanTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinition()
+ {
+ }
+ /**
+ * Test from definition conversion.
+ */
+ public function testFromDefinitionTinyInt()
+ {
+ }
+ }
+ class UnsignedTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition of column with unsigned flag.
+ */
+ public function testToDefinition()
+ {
+ }
+ /**
+ * Test conversion to definition of column with no unsigned flag.
+ */
+ public function testToDefinitionNotUnsigned()
+ {
+ }
+ public function testFromDefinition()
+ {
+ }
+ public function testFromDefinitionSigned()
+ {
+ }
+ }
+ class RealTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinitionNoScale()
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinition()
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinitionNoDefault()
+ {
+ }
+ /**
+ * Test from definition conversion.
+ *
+ * @param array $definition
+ * @param bool $expectedPrecision
+ * @dataProvider definitionDataProvider()
+ */
+ public function testFromDefinition($definition, $expectedPrecision = false, $expectedScale = false)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function definitionDataProvider()
+ {
+ }
+ }
+ /**
+ * Test for StringBinary class.
+ *
+ */
+ class StringBinaryTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinition()
+ {
+ }
+ /**
+ * @param array $definition
+ * @param bool $expectedLength
+ * @dataProvider definitionDataProvider()
+ */
+ public function testGetBinaryDefaultValueFromDefinition($definition)
+ {
+ }
+ /**
+ * Test from definition conversion.
+ *
+ * @param array $definition
+ * @param bool $expectedLength
+ * @dataProvider definitionDataProvider()
+ */
+ public function testFromDefinition($definition, $expectedLength = false)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function definitionDataProvider()
+ {
+ }
+ }
+ class BlobTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinition()
+ {
+ }
+ /**
+ * Test from definition conversion.
+ *
+ * @param array $definition
+ * @param bool $expectedLength
+ * @dataProvider definitionDataProvider()
+ */
+ public function testFromDefinition($definition, $expectedLength = false)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function definitionDataProvider()
+ {
+ }
+ }
+ class OnUpdateTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition of column with onUpdate statement.
+ */
+ public function testToDefinition()
+ {
+ }
+ /**
+ * Test conversion to definition of column with no onUpdate statement.
+ */
+ public function testToDefinitionNonUpdate()
+ {
+ }
+ /**
+ * Test conversion to definition of non-timestamp column.
+ */
+ public function testToDefinitionNonTimestamp()
+ {
+ }
+ }
+ class CommentTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinition()
+ {
+ }
+ }
+ class TimestampTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ * @dataProvider toDefinitionProvider()
+ * @param string $default
+ * @param bool $nullable
+ * @param bool $onUpdate
+ * @param string $expectedStatement
+ */
+ public function testToDefinition($default, $nullable, $onUpdate, $expectedStatement)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function toDefinitionProvider()
+ {
+ }
+ }
+ class IntegerTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinition()
+ {
+ }
+ /**
+ * Test from definition conversion.
+ *
+ * @param array $definition
+ * @param bool $expectedLength
+ * @dataProvider definitionDataProvider()
+ */
+ public function testFromDefinition($definition, $expectedLength = false)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function definitionDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema\Db\MySQL\Definition\Constraints {
+ /**
+ * Test for Foreign Key constraint definition.
+ *
+ */
+ class ForeignKeyTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ */
+ public function testToDefinition()
+ {
+ }
+ /**
+ * Test from definition conversion.
+ *
+ * @param array $definition
+ * @param array $expectedDefinition
+ * @dataProvider definitionDataProvider()
+ */
+ public function testFromDefinition($definition, $expectedDefinition)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function definitionDataProvider()
+ {
+ }
+ }
+ /**
+ * Test for internal (primary key, unique key) constraint definition.
+ *
+ */
+ class InternalTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test conversion to definition.
+ *
+ * @dataProvider toDefinitionDataProvider()
+ */
+ public function testToDefinition($name, $type, $columns, $expectedExpression)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function toDefinitionDataProvider()
+ {
+ }
+ /**
+ * Test from definition conversion.
+ *
+ * @param array $definition
+ * @param array $expectedDefinition
+ * @dataProvider definitionDataProvider()
+ */
+ public function testFromDefinition($definition, $expectedDefinition)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function definitionDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema\ValidationRules {
+ class ValidationRulesTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testValidate()
+ {
+ }
+ }
+ class RealTypesTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testValidate()
+ {
+ }
+ }
+ class CheckReferenceColumnHasIndexTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testValidate()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema\Diff {
+ /**
+ * Test diff manager methods
+ */
+ class DiffManagerTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testShouldBeCreated()
+ {
+ }
+ public function testRegisterModification()
+ {
+ }
+ public function testRegisterIndexModification()
+ {
+ }
+ public function testRegisterRemovalReference()
+ {
+ }
+ public function testRegisterCreation()
+ {
+ }
+ public function testRegisterTableModificationWhenChangeResource()
+ {
+ }
+ public function testRegisterTableModificationWhenChangeEngine()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema\Operations {
+ /**
+ * Test for AddColumn.
+ *
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class AddColumnTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testDoOperation()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema {
+ /**
+ * Test for OperationsExecutor.
+ *
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class OperationsExecutorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @inheritdoc
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testExecute() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema\Declaration {
+ /**
+ * Test for SchemaBuilder.
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class SchemaBuilderTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @return array
+ */
+ public function tablesProvider()
+ {
+ }
+ /**
+ * @dataProvider tablesProvider
+ * @param array $tablesData
+ * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+ * @throws LocalizedException
+ */
+ public function testBuild(array $tablesData)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema\Config {
+ /**
+ * Test for Converter class.
+ *
+ */
+ class ConverterTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test converting table schema to array.
+ */
+ public function testConvert()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema\Dto\Factories {
+ /**
+ * Test table factory
+ */
+ class TableTest extends \PHPUnit\Framework\TestCase
+ {
+ /** @var \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\Table */
+ protected $model;
+ /** @var ObjectManagerHelper */
+ protected $objectManagerHelper;
+ /** @var ObjectManagerInterface|MockObject */
+ protected $objectManagerMock;
+ /** @var ResourceConnection|MockObject */
+ protected $resourceConnectionMock;
+ /** @var SqlVersionProvider */
+ protected $sqlVersionProvider;
+ protected function setUp() : void
+ {
+ }
+ public function testCreate()
+ {
+ }
+ public function testCreateWithPrefix()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Declaration\Schema {
+ class ShardingTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testCanUseResource()
+ {
+ }
+ public function testGetResources()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit {
+ class ListsTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ public function testGetTimezoneList()
+ {
+ }
+ public function testGetLocaleList()
+ {
+ }
+ public function testGetCurrencyList()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Test\Unit\Option {
+ class FlagConfigOptionTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testGetFrontendType()
+ {
+ }
+ }
+ class SelectConfigOptionTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testConstructInvalidFrontendType()
+ {
+ }
+ public function testConstructNoOptions()
+ {
+ }
+ public function testGetFrontendType()
+ {
+ }
+ public function testGetSelectOptions()
+ {
+ }
+ public function testValidateException()
+ {
+ }
+ }
+ class TextConfigOptionTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testConstructInvalidFrontendType()
+ {
+ }
+ public function testGetFrontendType()
+ {
+ }
+ public function testValidateException()
+ {
+ }
+ }
+ class MultiSelectConfigOptionTest extends \PHPUnit\Framework\TestCase
+ {
+ public function testConstructInvalidFrontendType()
+ {
+ }
+ public function testConstructNoOptions()
+ {
+ }
+ public function testGetFrontendType()
+ {
+ }
+ public function testGetSelectOptions()
+ {
+ }
+ public function testValidateException()
+ {
+ }
+ }
+}
+namespace {
+ // @codingStandardsIgnoreFile - as of namespace absence
+ class OtherSchemaPatch implements \Magento\Framework\Setup\Patch\SchemaPatchInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public static function getDependencies()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getAliases()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function apply()
+ {
+ }
+ }
+ class SomeSchemaPatch implements \Magento\Framework\Setup\Patch\SchemaPatchInterface, \Magento\Framework\Setup\Patch\PatchVersionInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public static function getDependencies()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getAliases()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function apply()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public static function getVersion()
+ {
+ }
+ }
+ // @codingStandardsIgnoreFile - as of namespace absence
+ class OtherDataPatch implements \Magento\Framework\Setup\Patch\DataPatchInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public static function getDependencies()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getAliases()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function apply()
+ {
+ }
+ }
+ class SomeDataPatch implements \Magento\Framework\Setup\Patch\DataPatchInterface, \Magento\Framework\Setup\Patch\PatchVersionInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public static function getDependencies()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getAliases()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function apply()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public static function getVersion()
+ {
+ }
+ }
+ class NonTransactionableDataPatch implements \Magento\Framework\Setup\Patch\DataPatchInterface, \Magento\Framework\Setup\Patch\NonTransactionableInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public static function getDependencies()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getAliases()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function apply()
+ {
+ }
+ }
+ class RevertableDataPatch implements \Magento\Framework\Setup\Patch\DataPatchInterface, \Magento\Framework\Setup\Patch\PatchRevertableInterface
+ {
+ /**
+ * {@inheritdoc}
+ */
+ public static function getDependencies()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getAliases()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function apply()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function revert()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup {
+ /**
+ * Interface for data upgrades of a module
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface UpgradeDataInterface
+ {
+ /**
+ * Upgrades data for a module
+ *
+ * @param ModuleDataSetupInterface $setup
+ * @param ModuleContextInterface $context
+ * @return void
+ */
+ public function upgrade(\Magento\Framework\Setup\ModuleDataSetupInterface $setup, \Magento\Framework\Setup\ModuleContextInterface $context);
+ }
+ /**
+ * Interface for DB schema upgrades of a module
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface UpgradeSchemaInterface
+ {
+ /**
+ * Upgrades DB schema for a module
+ *
+ * @param SchemaSetupInterface $setup
+ * @param ModuleContextInterface $context
+ * @return void
+ */
+ public function upgrade(\Magento\Framework\Setup\SchemaSetupInterface $setup, \Magento\Framework\Setup\ModuleContextInterface $context);
+ }
+ /**
+ * Interface for data installs of a module
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface InstallDataInterface
+ {
+ /**
+ * Installs data for a module
+ *
+ * @param ModuleDataSetupInterface $setup
+ * @param ModuleContextInterface $context
+ * @return void
+ */
+ public function install(\Magento\Framework\Setup\ModuleDataSetupInterface $setup, \Magento\Framework\Setup\ModuleContextInterface $context);
+ }
+ /**
+ * Checks permissions to files and folders.
+ */
+ class FilePermissions
+ {
+ /**
+ * @var Filesystem
+ */
+ protected $filesystem;
+ /**
+ * @var DirectoryList
+ */
+ protected $directoryList;
+ /**
+ * List of required writable directories for installation
+ *
+ * @var array
+ */
+ protected $installationWritableDirectories = [];
+ /**
+ * List of recommended non-writable directories for application
+ *
+ * @var array
+ */
+ protected $applicationNonWritableDirectories = [];
+ /**
+ * List of current writable directories for installation
+ *
+ * @var array
+ */
+ protected $installationCurrentWritableDirectories = [];
+ /**
+ * List of current non-writable directories for application
+ *
+ * @var array
+ */
+ protected $applicationCurrentNonWritableDirectories = [];
+ /**
+ * List of non-writable paths in a specified directory
+ *
+ * @var array
+ */
+ protected $nonWritablePathsInDirectories = [];
+ /**
+ * @param Filesystem $filesystem
+ * @param DirectoryList $directoryList
+ * @param State $state
+ */
+ public function __construct(\Magento\Framework\Filesystem $filesystem, \Magento\Framework\App\Filesystem\DirectoryList $directoryList, \Magento\Framework\App\State $state = null)
+ {
+ }
+ /**
+ * Retrieve list of required writable directories for installation
+ *
+ * @return array
+ */
+ public function getInstallationWritableDirectories()
+ {
+ }
+ /**
+ * Retrieve list of recommended non-writable directories for application
+ *
+ * @return array
+ */
+ public function getApplicationNonWritableDirectories()
+ {
+ }
+ /**
+ * Retrieve list of currently writable directories for installation
+ *
+ * @return array
+ */
+ public function getInstallationCurrentWritableDirectories()
+ {
+ }
+ /**
+ * Retrieve list of currently non-writable directories for application
+ *
+ * @return array
+ */
+ public function getApplicationCurrentNonWritableDirectories()
+ {
+ }
+ /**
+ * Checks if directory is writable by given directory code
+ *
+ * @param string $code
+ * @return bool
+ */
+ protected function isWritable($code)
+ {
+ }
+ /**
+ * Checks if directory is non-writable by given directory code
+ *
+ * @param string $code
+ * @return bool
+ */
+ protected function isNonWritable($code)
+ {
+ }
+ /**
+ * Checks if directory exists and is readable
+ *
+ * @param \Magento\Framework\Filesystem\Directory\WriteInterface $directory
+ * @return bool
+ */
+ protected function isReadableDirectory($directory)
+ {
+ }
+ /**
+ * Checks writable paths for installation, returns associative array if input is true, else returns simple array
+ *
+ * @param bool $associative
+ * @return array
+ */
+ public function getMissingWritablePathsForInstallation($associative = false)
+ {
+ }
+ /**
+ * Checks writable paths for database upgrade, returns array of directory paths that requires write permission
+ *
+ * @return array List of directories that requires write permission for database upgrade
+ */
+ public function getMissingWritableDirectoriesForDbUpgrade()
+ {
+ }
+ /**
+ * Checks writable directories for installation
+ *
+ * @deprecated 100.1.0 Use getMissingWritablePathsForInstallation()
+ * to get all missing writable paths required for install.
+ * @return array
+ */
+ public function getMissingWritableDirectoriesForInstallation()
+ {
+ }
+ /**
+ * Checks non-writable directories for application
+ *
+ * @return array
+ */
+ public function getUnnecessaryWritableDirectoriesForApplication()
+ {
+ }
+ }
+ /**
+ * Persist json files.
+ */
+ class JsonPersistor
+ {
+ /**
+ * Persist data to json file.
+ *
+ * @param array $data
+ * @param string $path
+ * @return bool
+ */
+ public function persist(array $data, $path)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema {
+ /**
+ * Schema operation interface.
+ *
+ * @api
+ */
+ interface OperationInterface
+ {
+ /**
+ * Retrieve operation identifier key.
+ *
+ * @return string
+ */
+ public function getOperationName();
+ /**
+ * Is operation destructive flag.
+ *
+ * Destructive operations can make system unstable.
+ *
+ * For example, if operation is destructive it can remove table or column created not with
+ * declarative schema (for example with old migration script).
+ *
+ * @return bool
+ */
+ public function isOperationDestructive();
+ /**
+ * Apply change of any type.
+ *
+ * @param ElementHistory $elementHistory
+ * @return Statement[]
+ */
+ public function doOperation(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory);
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Db {
+ /**
+ * This class is responsible for read different schema
+ * structural elements: indexes, constraints, table names and columns.
+ *
+ * @api
+ */
+ interface DbSchemaReaderInterface
+ {
+ /**
+ * Read indexes from Magento tables.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @return array
+ */
+ public function readIndexes($tableName, $resource);
+ /**
+ * Read constraints from Magento tables.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @return array
+ */
+ public function readConstraints($tableName, $resource);
+ /**
+ * Read columns from Magento tables.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @return array
+ */
+ public function readColumns($tableName, $resource);
+ /**
+ * Show table options like engine, partitioning, etc.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @return array
+ */
+ public function getTableOptions($tableName, $resource);
+ /**
+ * Read references (foreign keys) from Magento tables.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @return array
+ */
+ public function readReferences($tableName, $resource);
+ /**
+ * Read table names from Magento tables.
+ *
+ * @param string $resource
+ * @return array
+ */
+ public function readTables($resource);
+ }
+ /**
+ * This class is responsible for read different schema structural elements: indexes, constraints,
+ * table names and columns.
+ *
+ * @api
+ */
+ interface DbSchemaWriterInterface
+ {
+ /**
+ * Type for all alter statements.
+ */
+ const ALTER_TYPE = 'alter';
+ /**
+ * Type for all create statements.
+ */
+ const CREATE_TYPE = 'create';
+ /**
+ * Type for all drop statements.
+ */
+ const DROP_TYPE = 'drop';
+ /**
+ * Create table from SQL fragments, like columns, constraints, foreign keys, indexes, etc.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @param array $definition
+ * @param array $options
+ * @return Statement
+ */
+ public function createTable($tableName, $resource, array $definition, array $options);
+ /**
+ * Drop table from SQL database.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @return Statement
+ */
+ public function dropTable($tableName, $resource);
+ /**
+ * Add generic element to table (table must be specified in elementOptions).
+ *
+ * Can be: column, constraint, index.
+ *
+ * @param string $elementName
+ * @param string $resource
+ * @param string $tableName
+ * @param string $elementDefinition , for example: like CHAR(200) NOT NULL
+ * @param string $elementType
+ * @return Statement
+ */
+ public function addElement($elementName, $resource, $tableName, $elementDefinition, $elementType);
+ /**
+ * Return statements which reset auto_increment to the current maximum AUTO_INCREMENT column value plus one.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @return Statement
+ */
+ public function resetAutoIncrement($tableName, $resource);
+ /**
+ * Modify column and change it definition.
+ *
+ * Note: only column can be modified.
+ *
+ * @param string $columnName
+ * @param string $resource
+ * @param string $tableName
+ * @param string $columnDefinition
+ * @return Statement
+ */
+ public function modifyColumn($columnName, $resource, $tableName, $columnDefinition);
+ /**
+ * Modify any table option, like comment, engine, etc...
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @param string $optionName
+ * @param string $optionValue
+ * @return Statement
+ */
+ public function modifyTableOption($tableName, $resource, $optionName, $optionValue);
+ /**
+ * Drop any element (constraint, column, index) from index.
+ *
+ * @param string $resource
+ * @param string $elementName
+ * @param string $tableName
+ * @param string $type
+ * @return Statement
+ */
+ public function dropElement($resource, $elementName, $tableName, $type);
+ /**
+ * Compile statements and make SQL request from them.
+ *
+ * @param StatementAggregator $statementAggregator
+ * @param bool $dryRun
+ * @return void
+ */
+ public function compile(\Magento\Framework\Setup\Declaration\Schema\Db\StatementAggregator $statementAggregator, $dryRun);
+ }
+ /**
+ * DDL triggers is events that can be fired:
+ * - after element creation;
+ * - before/after element modification
+ * - before element removal
+ *
+ * Trigger is used to make changes in data not in schema, e.g migrate data from column of one table to
+ * column of another table.
+ *
+ * Please note: triggers are used to serve needs of some operations, that can`t be described with declarative schema,
+ * for example: renaming. Renaming implemented with removal column with old name and creating with new one.
+ * Question with data is solved with help of triggers, that allows to migrate data.
+ * This approach is correct from prospective of declaration but is not so fast as ALTER TABLE is.
+ * So if you need to perform some renaming operations quickly, please use raw SQL dump instead, that can be taken with
+ * help of --dry-run mode
+ *
+ * @api
+ */
+ interface DDLTriggerInterface
+ {
+ /**
+ * Check whether current trigger can be applied to current statement.
+ *
+ * @param string $statement
+ * @return bool
+ */
+ public function isApplicable(string $statement) : bool;
+ /**
+ * Setup callback to current statement, can generate new statements.
+ *
+ * @param ElementHistory $elementHistory
+ * @return callable
+ */
+ public function getCallback(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory) : callable;
+ }
+ /**
+ * Statement factory.
+ * Statement aggregates SQL statements and executes them for one table.
+ */
+ class StatementFactory
+ {
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ * @param string $referenceClassName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Db\Statement::class, $referenceClassName = \Magento\Framework\Setup\Declaration\Schema\Db\ReferenceStatement::class)
+ {
+ }
+ /**
+ * Create statement object.
+ *
+ * @param string $name
+ * @param string $tableName
+ * @param string $type
+ * @param string $statement
+ * @param string $resource
+ * @param string|null $elementType
+ * @return Statement
+ */
+ public function create(string $name, string $tableName, string $type, string $statement, string $resource, string $elementType = null)
+ {
+ }
+ }
+ /**
+ * Statement aggregator for SQL statements for one table.
+ * All statements are independent with each other, but neither statement can be included with other in one alter query.
+ */
+ class Statement
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $tableName
+ * @param string $type
+ * @param string $statement
+ * @param string $resource
+ */
+ public function __construct(string $name, string $tableName, string $type, string $statement, string $resource)
+ {
+ }
+ /**
+ * Get statement.
+ *
+ * @return string
+ */
+ public function getStatement() : string
+ {
+ }
+ /**
+ * Add trigger to current statement.
+ * This means, that statement is final and can`t be modified any more.
+ *
+ * @param callable $trigger
+ */
+ public function addTrigger(callable $trigger)
+ {
+ }
+ /**
+ * Get statement type.
+ *
+ * @return string
+ */
+ public function getType() : string
+ {
+ }
+ /**
+ * Get table name.
+ *
+ * @return string
+ */
+ public function getTableName() : string
+ {
+ }
+ /**
+ * Get resource name.
+ *
+ * @return string
+ */
+ public function getResource() : string
+ {
+ }
+ /**
+ * Get triggers array.
+ *
+ * @return callable[]
+ */
+ public function getTriggers() : array
+ {
+ }
+ /**
+ * Get statement name.
+ *
+ * @return string
+ */
+ public function getName() : string
+ {
+ }
+ }
+ /**
+ * Foreign key statement.
+ *
+ * @inheritdoc
+ */
+ class ReferenceStatement extends \Magento\Framework\Setup\Declaration\Schema\Db\Statement
+ {
+ }
+ /**
+ * Statement aggregator.
+ *
+ * Statements are concatenated conditionally, decides which statements go separately and which may be concatenated.
+ *
+ * @api
+ */
+ class StatementAggregator
+ {
+ /**
+ * Add one or few statements and divide them if they can`t be executed in one query.
+ *
+ * For example, foreign key modification can`t be done in one query.
+ * First existing foreign key should be dropped and only then new one can be created.
+ *
+ * @param Statement[] $statements
+ */
+ public function addStatements(array $statements)
+ {
+ }
+ /**
+ * Return all statements separated in batches.
+ *
+ * @return Statement[]
+ */
+ public function getStatementsBank()
+ {
+ }
+ }
+ /**
+ * This type of builder is responsible for converting ENTIRE data, that comes from db
+ * into DTO`s format, with aggregation root: Schema.
+ *
+ * Note: SchemaBuilder can not be used for one structural element, like column or constraint
+ * because it should have references to other DTO objects.
+ * In order to convert build only 1 structural element use directly it factory.
+ *
+ * @see Schema
+ * @inheritdoc
+ */
+ class SchemaBuilder
+ {
+ /**
+ * Constructor.
+ *
+ * @param ElementFactory $elementFactory
+ * @param DbSchemaReaderInterface $dbSchemaReader
+ * @param Sharding $sharding
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementFactory $elementFactory, \Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaReaderInterface $dbSchemaReader, \Magento\Framework\Setup\Declaration\Schema\Sharding $sharding)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function build(\Magento\Framework\Setup\Declaration\Schema\Dto\Schema $schema)
+ {
+ }
+ }
+ /**
+ * Factory for statement aggregator.
+ */
+ class StatementAggregatorFactory
+ {
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Db\StatementAggregator::class)
+ {
+ }
+ /**
+ * Create statement aggregator object.
+ *
+ * @return StatementAggregator
+ */
+ public function create()
+ {
+ }
+ }
+ /**
+ * Do processing strings to desired format:
+ * For example, from VARCHAR(255) to:
+ * 'type' => 'varchar'
+ * 'length' => 255
+ *
+ * @api
+ */
+ interface DbDefinitionProcessorInterface
+ {
+ /**
+ * Output always will be SQL definition.
+ *
+ * @param ElementInterface $column
+ * @return string
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column);
+ /**
+ * Input always will be array of SQL definitions,
+ * like:
+ * 'type' => 'name VARCHAR(255)'\
+ * 'nullable' => 'no'
+ *
+ * @param array $data
+ * @return array
+ */
+ public function fromDefinition(array $data);
+ }
+ /**
+ * Holds different definitions and apply them depends on column, constraint, index types.
+ */
+ class DefinitionAggregator implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param SqlVersionProvider $sqlVersionProvider
+ * @param DbDefinitionProcessorInterface[] $definitionProcessors
+ */
+ public function __construct(\Magento\Framework\DB\Adapter\SqlVersionProvider $sqlVersionProvider, array $definitionProcessors)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ /**
+ * Processes `$value` to be compatible with MySQL.
+ *
+ * @param array $data
+ * @return string|null|bool
+ */
+ protected function processDefaultValue(array $data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Db\MySQL\DDL\Triggers {
+ /**
+ * Used to migrate data from one column to another in scope of one table.
+ * Also can add statement in case when data can`t be migrate easily.
+ */
+ class MigrateDataBetweenShards implements \Magento\Framework\Setup\Declaration\Schema\Db\DDLTriggerInterface
+ {
+ /**
+ * This flag says, whether we should to skip data migration from one shard to another
+ */
+ const SKIP_MIGRATION_DATA_FLAG = 'skip-migration';
+ /**
+ * Constructor.
+ *
+ * @param ResourceConnection $resourceConnection
+ * @param SelectGenerator $selectGenerator
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\DataSavior\SelectGenerator $selectGenerator)
+ {
+ }
+ /**
+ * If skip migration flag is enabled, we should skip data migration
+ *
+ * @inheritdoc
+ */
+ public function isApplicable(string $statement) : bool
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getCallback(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory) : callable
+ {
+ }
+ }
+ /**
+ * Used to migrate all the data from one table to another one
+ */
+ class MigrateDataFromAnotherTable implements \Magento\Framework\Setup\Declaration\Schema\Db\DDLTriggerInterface
+ {
+ /**
+ * Pattern with which we can match whether we can apply and use this trigger or not.
+ */
+ const MATCH_PATTERN = '/migrateDataFromAnotherTable\\(([^\\)]+)\\)/';
+ /**
+ * Constructor.
+ *
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function isApplicable(string $statement) : bool
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getCallback(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $tableHistory) : callable
+ {
+ }
+ }
+ /**
+ * Used to migrate data from one column to another in scope of one table.
+ * Also can add statement in case when data can`t be migrate easily.
+ */
+ class MigrateDataFrom implements \Magento\Framework\Setup\Declaration\Schema\Db\DDLTriggerInterface
+ {
+ /**
+ * Pattern with which we can match whether we can apply and use this trigger or not.
+ */
+ public const MATCH_PATTERN = '/migrateDataFrom\\(([^\\)]+)\\)/';
+ /**
+ * Constructor.
+ *
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function isApplicable(string $statement) : bool
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getCallback(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $columnHistory) : callable
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Db\MySQL {
+ /**
+ * @inheritdoc
+ */
+ class DbSchemaReader implements \Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaReaderInterface
+ {
+ /**
+ * Table type in information_schema.TABLES which allows to identify only tables and ignore views
+ */
+ const MYSQL_TABLE_TYPE = 'BASE TABLE';
+ /**
+ * Constructor.
+ *
+ * @param ResourceConnection $resourceConnection
+ * @param DefinitionAggregator $definitionAggregator
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\Db\DefinitionAggregator $definitionAggregator)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getTableOptions($tableName, $resource)
+ {
+ }
+ /**
+ * Prepare and fetch query: Describe {table_name}.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @return array
+ */
+ public function readColumns($tableName, $resource)
+ {
+ }
+ /**
+ * Fetch all indexes from table.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @return array
+ */
+ public function readIndexes($tableName, $resource)
+ {
+ }
+ /**
+ * Read references (foreign keys) from Magento tables.
+ *
+ * As MySQL has bug and do not show foreign keys during DESCRIBE and other directives required
+ * to take it from "SHOW CREATE TABLE ..." command.
+ *
+ * @inheritdoc
+ */
+ public function readReferences($tableName, $resource)
+ {
+ }
+ /**
+ * Retrieve Create table SQL, from SHOW CREATE TABLE query.
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @return array
+ */
+ public function getCreateTableSql($tableName, $resource)
+ {
+ }
+ /**
+ * Reading DB constraints.
+ *
+ * Primary and unique constraints are always non_unique=0.
+ *
+ * @inheritdoc
+ */
+ public function readConstraints($tableName, $resource)
+ {
+ }
+ /**
+ * Return names of all tables from shard.
+ *
+ * @param string $resource Shard name.
+ * @return array
+ */
+ public function readTables($resource)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns {
+ /**
+ * Comment definition processor.
+ *
+ * @inheritdoc
+ */
+ class Comment implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * @param Column $column
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Nullable columns processor.
+ *
+ * @inheritdoc
+ */
+ class Nullable implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * @param ColumnNullableAwareInterface $column
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Process blob and text types.
+ *
+ * @inheritdoc
+ */
+ class Blob implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Blob constructor.
+ *
+ * @param Nullable $nullable
+ * @param Comment $comment
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Nullable $nullable, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Comment $comment, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Integer type processor.
+ *
+ * Processes integer type and separate it on type and padding.
+ *
+ * @inheritdoc
+ */
+ class Integer implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param Unsigned $unsigned
+ * @param bool $boolean
+ * @param Nullable $nullable
+ * @param Identity $identity
+ * @param Comment $comment
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Unsigned $unsigned, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Boolean $boolean, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Nullable $nullable, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Identity $identity, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Comment $comment, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @param \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Integer $column
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Unsigned flag processor.
+ * Unsigned can be used for all numeric types.
+ *
+ * @inheritdoc
+ */
+ class Unsigned implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Unsigned flag. Applicable only to numeric types.
+ */
+ const UNSIGNED_FLAG = 'unsigned';
+ /**
+ * @param ColumnUnsignedAwareInterface $column
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Process real types and separate them into type, scale and precision.
+ * See https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html
+ *
+ * @inheritdoc
+ */
+ class Real implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * @param Nullable $nullable
+ * @param Unsigned $unsigned
+ * @param Comment $comment
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Nullable $nullable, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Unsigned $unsigned, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Comment $comment, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Date type processor.
+ *
+ * @inheritdoc
+ */
+ class Date implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param ResourceConnection $resourceConnection
+ * @param Nullable $nullable
+ * @param Comment $comment
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Nullable $nullable, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Comment $comment)
+ {
+ }
+ /**
+ * @param \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Timestamp $column
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @codeCoverageIgnore
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * On update statement processor.
+ *
+ * @inheritdoc
+ */
+ class OnUpdate implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Get definition for given column.
+ *
+ * @param \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Timestamp $column
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * As all MySQL aliases as BOOL or BOOLEAN are converted to TINYINT(1)
+ * proposed to processed tinyint as boolean.
+ *
+ * @inheritdoc
+ */
+ class Boolean implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Type the column is persisted with.
+ */
+ const TYPE = 'BOOLEAN';
+ /**
+ * Type of integer that is used in MySQL for boolean.
+ */
+ const INTEGER_TYPE = 'tinyint';
+ /**
+ * Padding for integer described below.
+ */
+ const INTEGER_PADDING = '1';
+ /**
+ * Constructor.
+ *
+ * @param Nullable $nullable
+ * @param ResourceConnection $resourceConnection
+ * @param Comment $comment
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Nullable $nullable, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Comment $comment)
+ {
+ }
+ /**
+ * Get definition for given column.
+ *
+ * @param \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Boolean $column
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * Boolean is presented as tinyint(1).
+ *
+ * @param array $data
+ * @return array
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Process json data type.
+ */
+ class Json implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Blob constructor.
+ *
+ * @param Nullable $nullable
+ * @param Comment $comment
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Nullable $nullable, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Comment $comment, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * Returns an array of column definitions
+ *
+ * @param array $data
+ * @return array
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Processor for following types: char, varchar, varbinary, binary.
+ *
+ * @inheritdoc
+ */
+ class StringBinary implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * @param Nullable $nullable
+ * @param ResourceConnection $resourceConnection
+ * @param Comment $comment
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Nullable $nullable, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Comment $comment)
+ {
+ }
+ /**
+ * Get definition for given column.
+ *
+ * @param \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\StringBinary $column
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Identity (auto_increment) column processor.
+ *
+ * @inheritdoc
+ */
+ class Identity implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Auto increment flag.
+ */
+ const IDENTITY_FLAG = 'auto_increment';
+ /**
+ * @param ColumnIdentityAwareInterface $column
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Processor for timestamp/datetime types.
+ *
+ * @inheritdoc
+ */
+ class Timestamp implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * This date and time can be used, when const value as DEFAULT 0 was passed for datetime type.
+ */
+ const CONST_DEFAULT_TIMESTAMP = '0000-00-00 00:00:00';
+ /**
+ * Constructor.
+ *
+ * @param OnUpdate $onUpdate
+ * @param Nullable $nullable
+ * @param Comment $comment
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\OnUpdate $onUpdate, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Nullable $nullable, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Columns\Comment $comment, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @param \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Timestamp $column
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition\Constraints {
+ /**
+ * Foreign key constraint processor.
+ *
+ * MySQL holds foreign keys definitions only in "CREATE TABLE" sql. So we can access them
+ * only with parsing of this statement, and searching by ADD CONSTRAINT FOREIGN KEY.
+ *
+ * @inheritdoc
+ */
+ class ForeignKey implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Foreign key statement.
+ */
+ const FOREIGN_KEY_STATEMENT = 'FOREIGN KEY';
+ /**
+ * Constructor.
+ *
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $foreignKey)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+ /**
+ * Internal key (index) processor.
+ *
+ * Detect primary or unique constraints and map them to appropriate format.
+ *
+ * @inheritdoc
+ */
+ class Internal implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Name of Primary Key.
+ */
+ const PRIMARY_NAME = 'PRIMARY';
+ /**
+ * Primary key statement.
+ */
+ const PRIMARY_KEY_NAME = 'PRIMARY KEY';
+ /**
+ * Unique key statement.
+ */
+ const UNIQUE_KEY_NAME = 'UNIQUE KEY';
+ /**
+ * Constructor.
+ *
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @param \Magento\Framework\Setup\Declaration\Schema\Dto\Constraints\Internal $constraint
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $constraint)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Db\MySQL\Definition {
+ /**
+ * Index (key) processor.
+ *
+ * @inheritdoc
+ */
+ class Index implements \Magento\Framework\Setup\Declaration\Schema\Db\DbDefinitionProcessorInterface
+ {
+ /**
+ * Index statement.
+ */
+ public const INDEX_KEY_NAME = 'INDEX';
+ /**
+ * Index constructor.
+ *
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function toDefinition(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $index)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function fromDefinition(array $data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Db\MySQL {
+ /**
+ * @inheritdoc
+ */
+ class DbSchemaWriter implements \Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaWriterInterface
+ {
+ /**
+ * @param ResourceConnection $resourceConnection
+ * @param StatementFactory $statementFactory
+ * @param DryRunLogger $dryRunLogger
+ * @param array $tableOptions
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\Db\StatementFactory $statementFactory, \Magento\Framework\Setup\Declaration\Schema\DryRunLogger $dryRunLogger, array $tableOptions = [])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function createTable($tableName, $resource, array $definition, array $options)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function dropTable($tableName, $resource)
+ {
+ }
+ /**
+ * @inheritdoc
+ *
+ * @param string $elementName
+ * @param string $resource
+ * @param string $tableName
+ * @param string $elementDefinition , for example: like CHAR(200) NOT NULL
+ * @param string $elementType
+ * @return Statement
+ */
+ public function addElement($elementName, $resource, $tableName, $elementDefinition, $elementType)
+ {
+ }
+ /**
+ * @inheritdoc
+ *
+ * @param string $tableName
+ * @param string $resource
+ * @param string $optionName
+ * @param string $optionValue
+ * @return Statement
+ */
+ public function modifyTableOption($tableName, $resource, $optionName, $optionValue)
+ {
+ }
+ /**
+ * @inheritdoc
+ *
+ * @param string $columnName
+ * @param string $resource
+ * @param string $tableName
+ * @param string $columnDefinition
+ * @return Statement
+ */
+ public function modifyColumn($columnName, $resource, $tableName, $columnDefinition)
+ {
+ }
+ /**
+ * @inheritdoc
+ *
+ * @param string $resource
+ * @param string $elementName
+ * @param string $tableName
+ * @param string $type
+ * @return Statement
+ */
+ public function dropElement($resource, $elementName, $tableName, $type)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function resetAutoIncrement($tableName, $resource)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function compile(\Magento\Framework\Setup\Declaration\Schema\Db\StatementAggregator $statementAggregator, $dryRun)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema {
+ /**
+ * Schema operations executor.
+ *
+ * Go through all available SQL operations and execute each one with data from change registry.
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class OperationsExecutor
+ {
+ /**
+ * Request keys.
+ */
+ const KEY_SAFE_MODE = 'safe-mode';
+ const KEY_DATA_RESTORE = 'data-restore';
+ /**
+ * Constructor.
+ *
+ * @param array $operations
+ * @param array $dataSaviorsCollection
+ * @param Sharding $sharding
+ * @param ResourceConnection $resourceConnection
+ * @param StatementFactory $statementFactory
+ * @param DbSchemaWriterInterface $dbSchemaWriter
+ * @param StatementAggregatorFactory $statementAggregatorFactory
+ * @param DryRunLogger $dryRunLogger
+ */
+ public function __construct(array $operations, array $dataSaviorsCollection, \Magento\Framework\Setup\Declaration\Schema\Sharding $sharding, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\Db\StatementFactory $statementFactory, \Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaWriterInterface $dbSchemaWriter, \Magento\Framework\Setup\Declaration\Schema\Db\StatementAggregatorFactory $statementAggregatorFactory, \Magento\Framework\Setup\Declaration\Schema\DryRunLogger $dryRunLogger)
+ {
+ }
+ /**
+ * Retrieve only destructive operation names.
+ *
+ * For example, drop_table, recreate_table, etc.
+ *
+ * @return array
+ */
+ public function getDestructiveOperations()
+ {
+ }
+ /**
+ * Loop through all operations that are configured in di.xml
+ * and execute them with elements from Diff.
+ *
+ * @see OperationInterface
+ * @param DiffInterface $diff
+ * @param array $requestData
+ * @return void
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+ * @SuppressWarnings(PHPMD.NPathComplexity)
+ */
+ public function execute(\Magento\Framework\Setup\Declaration\Schema\Diff\DiffInterface $diff, array $requestData)
+ {
+ }
+ }
+ /**
+ * Resolver of table names.
+ */
+ class TableNameResolver
+ {
+ /**
+ * Provides the name of the origin table for cloned tables.
+ *
+ * Replica tables should be identical to the original -
+ * indexes and constraints must use the original table name to calculate their own names.
+ *
+ * @param string $tableName
+ * @return string
+ */
+ public function getNameOfOriginTable(string $tableName) : string
+ {
+ }
+ }
+ /**
+ * Allows to validate if schema is up to date or not
+ */
+ class UpToDateDeclarativeSchema implements \Magento\Framework\Setup\UpToDateValidatorInterface
+ {
+ /**
+ * UpToDateSchema constructor.
+ * @param SchemaConfigInterface $schemaConfig
+ * @param SchemaDiff $schemaDiff
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\SchemaConfigInterface $schemaConfig, \Magento\Framework\Setup\Declaration\Schema\Diff\SchemaDiff $schemaDiff)
+ {
+ }
+ /**
+ * @return string
+ */
+ public function getNotUpToDateMessage() : string
+ {
+ }
+ /**
+ * @return bool
+ */
+ public function isUpToDate() : bool
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Diff {
+ /**
+ * As table can have different types of elements inside itself.
+ * We need to compare all of this elements.
+ *
+ * If element exists only in XML -> then we need to create element.
+ * If element exists in both version and are different -> then we need to modify element.
+ * If element exists only in db -> then we need to remove this element.
+ */
+ class TableDiff
+ {
+ /**
+ * Column type for diff.
+ */
+ const COLUMN_DIFF_TYPE = "columns";
+ /**
+ * Constraint type for diff.
+ */
+ const CONSTRAINT_DIFF_TYPE = "constraints";
+ /**
+ * Constraint type for diff.
+ */
+ const INDEX_DIFF_TYPE = "indexes";
+ /**
+ * Constructor.
+ *
+ * @param DiffManager $diffManager
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Diff\DiffManager $diffManager)
+ {
+ }
+ /**
+ * Diff between tables.
+ *
+ * @param Table | ElementInterface $declaredTable
+ * @param Table | ElementInterface $generatedTable
+ * @param Diff $diff
+ * @inheritdoc
+ */
+ public function diff(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $declaredTable, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $generatedTable, \Magento\Framework\Setup\Declaration\Schema\Diff\Diff $diff)
+ {
+ }
+ }
+ /**
+ * @api
+ * @see DiffInterface
+ */
+ class DiffFactory
+ {
+ /**
+ * ChangeRegistryFactory constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create Diff object.
+ *
+ * @param array $data
+ * @return Diff
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Aggregation root of all diffs.
+ * Loop through all tables and find difference between them.
+ *
+ * If table exists only in XML -> then we need to create table.
+ * If table exists in both version -> then we need to go deeper and inspect each element.
+ * If table exists only in db -> then we need to remove this table.
+ */
+ class SchemaDiff
+ {
+ /**
+ * Constructor.
+ *
+ * @param DiffManager $diffManager
+ * @param TableDiff $tableDiff
+ * @param DiffFactory $diffFactory
+ * @param OperationsExecutor $operationsExecutor
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Diff\DiffManager $diffManager, \Magento\Framework\Setup\Declaration\Schema\Diff\TableDiff $tableDiff, \Magento\Framework\Setup\Declaration\Schema\Diff\DiffFactory $diffFactory, \Magento\Framework\Setup\Declaration\Schema\OperationsExecutor $operationsExecutor)
+ {
+ }
+ /**
+ * Create diff.
+ *
+ * @param Schema $schema
+ * @param Schema $generatedSchema
+ * @return Diff
+ */
+ public function diff(\Magento\Framework\Setup\Declaration\Schema\Dto\Schema $schema, \Magento\Framework\Setup\Declaration\Schema\Dto\Schema $generatedSchema)
+ {
+ }
+ }
+ /**
+ * DiffInterface is type of classes, that holds all information
+ * that need to be changed from one installation to another.
+ *
+ * @api
+ */
+ interface DiffInterface
+ {
+ /**
+ * Retrieve operations by type.
+ *
+ * Please note: that we wants to save history and we retrieve next structure:
+ * [
+ * 'column_a' => ElementHistory [
+ * 'new' => [
+ * ...
+ * ],
+ * 'old' => [
+ * ...
+ * ]
+ * ]
+ * ]
+ *
+ * @return array
+ */
+ public function getAll();
+ /**
+ * Register operation.
+ *
+ * @param ElementInterface|object $dtoObject
+ * @param string $operation
+ * @param ElementInterface $oldDtoObject
+ * @return void
+ */
+ public function register(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $dtoObject, $operation, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $oldDtoObject = null);
+ }
+ /**
+ * Holds information about all changes between 2 schemas: db and declaration XML.
+ * Holds 2 items:
+ * - new (Should be changed to)
+ * - old ()
+ * @api
+ * @since 102.0.0
+ */
+ class Diff implements \Magento\Framework\Setup\Declaration\Schema\Diff\DiffInterface
+ {
+ /**
+ * Whitelist file name.
+ */
+ const GENERATED_WHITELIST_FILE_NAME = 'db_schema_whitelist.json';
+ /**
+ * This changes created only for debug reasons.
+ *
+ * @var array
+ * @since 102.0.0
+ */
+ public $debugChanges;
+ /**
+ * Constructor.
+ *
+ * @param ComponentRegistrar $componentRegistrar
+ * @param ElementHistoryFactory $elementHistoryFactory
+ * @param array $tableIndexes
+ * @param array $destructiveOperations
+ */
+ public function __construct(\Magento\Framework\Component\ComponentRegistrar $componentRegistrar, \Magento\Framework\Setup\Declaration\Schema\ElementHistoryFactory $elementHistoryFactory, array $tableIndexes, array $destructiveOperations)
+ {
+ }
+ /**
+ * We return all sorted changes.
+ *
+ * All changes are sorted because there are dependencies between tables, like foreign keys.
+ *
+ * @inheritdoc
+ * @since 102.0.0
+ */
+ public function getAll()
+ {
+ }
+ /**
+ * Retrieve all changes for specific table.
+ *
+ * @param string $table
+ * @param string $operation
+ * @return ElementHistory[]
+ * @since 102.0.0
+ */
+ public function getChange($table, $operation)
+ {
+ }
+ /**
+ * Check whether element can be registered.
+ *
+ * For example, if element is not in db_schema_whitelist.json it cant
+ * be registered due to backward incompatibility
+ * Extensibility point: if you want to add some dynamic rules of applying or ignoring any schema elements
+ * you can do this by pluginizing this method
+ *
+ * @param ElementInterface | Table $object
+ * @param string $operation
+ * @return bool
+ * @since 102.0.0
+ */
+ public function canBeRegistered(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $object, $operation) : bool
+ {
+ }
+ /**
+ * Register DTO object.
+ *
+ * @param TableElementInterface $dtoObject
+ * @inheritdoc
+ * @since 102.0.0
+ */
+ public function register(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $dtoObject, $operation, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $oldDtoObject = null)
+ {
+ }
+ }
+ /**
+ * Helper which provide methods, that helps to compare 2 different nodes:
+ * For instance, 2 columns between each other.
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class DiffManager
+ {
+ /**
+ * Constructor.
+ *
+ * @param Comparator $comparator
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Comparator $comparator)
+ {
+ }
+ /**
+ * Check whether this is element is new or not, by checking it in db schema.
+ *
+ * @param ElementInterface[] $generatedElements
+ * @param ElementInterface $element
+ * @return bool
+ */
+ public function shouldBeCreated(array $generatedElements, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $element)
+ {
+ }
+ /**
+ * Check whether we have elements that should be removed from database.
+ *
+ * @param array $generatedElements
+ * @return bool
+ */
+ public function shouldBeRemoved(array $generatedElements)
+ {
+ }
+ /**
+ * Register element, that should changes.
+ *
+ * @param Diff $diff
+ * @param ElementInterface $element
+ * @param ElementInterface $generatedElement
+ * @return DiffInterface
+ */
+ public function registerModification(\Magento\Framework\Setup\Declaration\Schema\Diff\Diff $diff, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $element, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $generatedElement)
+ {
+ }
+ /**
+ * If elements really dont exists in declaration - we will remove them.
+ * If some mistake happens (and element is just not preprocessed), we will throw exception.
+ *
+ * @param Diff $diff
+ * @param ElementInterface[] $generatedElements
+ * @return DiffInterface
+ */
+ public function registerRemoval(\Magento\Framework\Setup\Declaration\Schema\Diff\Diff $diff, array $generatedElements)
+ {
+ }
+ /**
+ * Register creation.
+ *
+ * @param DiffInterface $diff
+ * @param ElementInterface $element
+ * @return DiffInterface
+ */
+ public function registerCreation(\Magento\Framework\Setup\Declaration\Schema\Diff\DiffInterface $diff, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $element)
+ {
+ }
+ /**
+ * Depends on what should be changed we can re-create table or modify it.
+ *
+ * For example, we can modify table if we need to change comment or engine.
+ * Or we can re-create table, when we need to change it shard.
+ *
+ * @param Table $declaredTable
+ * @param Table $generatedTable
+ * @param Diff $diff
+ * @return void
+ */
+ public function registerTableModification(\Magento\Framework\Setup\Declaration\Schema\Dto\Table $declaredTable, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $generatedTable, \Magento\Framework\Setup\Declaration\Schema\Diff\Diff $diff)
+ {
+ }
+ /**
+ * Register recreation of table, in case for example, when we need to move table from one shard to another
+ *
+ * @param Table $declaredTable
+ * @param Table $generatedTable
+ * @param Diff $diff
+ * @return void
+ */
+ public function registerRecreation(\Magento\Framework\Setup\Declaration\Schema\Dto\Table $declaredTable, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $generatedTable, \Magento\Framework\Setup\Declaration\Schema\Diff\Diff $diff)
+ {
+ }
+ /**
+ * Check whether element should be modified or not.
+ *
+ * @param ElementInterface $element
+ * @param ElementInterface $generatedElement
+ * @return bool
+ */
+ public function shouldBeModified(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $element, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $generatedElement)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\DataSavior {
+ /**
+ * Allows to access dump, that can be persisted in any file format or in database
+ *
+ * @api
+ */
+ interface DumpAccessorInterface
+ {
+ /**
+ * Allows to persist data to different sources: file, database, etc
+ *
+ * @param string $resource - can be for example absolute path to file
+ * @param array $data - data format, in which data should be stored
+ * @return void
+ */
+ public function save($resource, array $data);
+ /**
+ * Allows to read data by batches from different resources
+ *
+ * By resource means connection to database to absolute path to file, depends to implementation
+ *
+ * @param string $resource
+ * @return \Generator
+ */
+ public function read($resource);
+ /**
+ * Destruct resource
+ *
+ * @param string $resource
+ * @return void
+ */
+ public function destruct($resource);
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\FileSystem {
+ /**
+ * CSV file operations wrapper.
+ */
+ class Csv implements \Magento\Framework\Setup\Declaration\Schema\DataSavior\DumpAccessorInterface
+ {
+ /**
+ * Folder where will be persisted all csv dumps
+ */
+ const DUMP_FOLDER = 'declarative_dumps_csv';
+ /**
+ * Csv constructor.
+ * @param DirectoryList $directoryList
+ * @param \Magento\Framework\Filesystem\Driver\File $fileDriver
+ * @param int $baseBatchSize
+ */
+ public function __construct(\Magento\Framework\App\Filesystem\DirectoryList $directoryList, \Magento\Framework\Filesystem\Driver\File $fileDriver, $baseBatchSize = 15000)
+ {
+ }
+ /**
+ * Save to csv data with batches.
+ *
+ * @param string $file
+ * @param array $data
+ * @return $this
+ */
+ public function save($file, array $data)
+ {
+ }
+ /**
+ * File read generator.
+ *
+ * This generator allows to load to memory only batch, with which we need to work at the moment
+ *
+ * @param string $file
+ * @return \Generator
+ */
+ public function read($file)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function destruct($resource)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Operations {
+ /**
+ * Drop foreign key operation.
+ */
+ class DropReference implements \Magento\Framework\Setup\Declaration\Schema\OperationInterface
+ {
+ /**
+ * Operation name.
+ */
+ const OPERATION_NAME = 'drop_reference';
+ /**
+ * Constructor.
+ *
+ * @param DropElement $dropElement
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Operations\DropElement $dropElement)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function isOperationDestructive()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getOperationName()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function doOperation(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory)
+ {
+ }
+ }
+ /**
+ * Modify column in table operation.
+ */
+ class ModifyColumn implements \Magento\Framework\Setup\Declaration\Schema\OperationInterface
+ {
+ /**
+ * Operation name.
+ */
+ const OPERATION_NAME = 'modify_column';
+ /**
+ * Constructor.
+ *
+ * @param DefinitionAggregator $definitionAggregator
+ * @param DbSchemaWriterInterface $dbSchemaWriter
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\DefinitionAggregator $definitionAggregator, \Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaWriterInterface $dbSchemaWriter)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getOperationName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function isOperationDestructive()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function doOperation(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory)
+ {
+ }
+ }
+ /**
+ * Add complex element operation.
+ *
+ * Adds element that has various dependencies, like foreign key that has dependencies to another table.
+ */
+ class AddComplexElement implements \Magento\Framework\Setup\Declaration\Schema\OperationInterface
+ {
+ /**
+ * Operation name.
+ */
+ const OPERATION_NAME = 'add_complex_element';
+ /**
+ * Constructor.
+ *
+ * @param DefinitionAggregator $definitionAggregator
+ * @param DbSchemaWriterInterface $dbSchemaWriter
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\DefinitionAggregator $definitionAggregator, \Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaWriterInterface $dbSchemaWriter)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getOperationName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function isOperationDestructive()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function doOperation(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory)
+ {
+ }
+ }
+ /**
+ * Modify table operation.
+ *
+ * Used to change table options.
+ */
+ class ModifyTable implements \Magento\Framework\Setup\Declaration\Schema\OperationInterface
+ {
+ /**
+ * Operation name.
+ */
+ const OPERATION_NAME = 'modify_table';
+ /**
+ * @param DbSchemaWriterInterface $dbSchemaWriter
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaWriterInterface $dbSchemaWriter)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getOperationName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function isOperationDestructive()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function doOperation(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory)
+ {
+ }
+ }
+ /**
+ * Drop element operation.
+ *
+ * Drops structural element.
+ */
+ class DropElement implements \Magento\Framework\Setup\Declaration\Schema\OperationInterface
+ {
+ /**
+ * Operation name.
+ */
+ const OPERATION_NAME = 'drop_element';
+ /**
+ * Constructor.
+ *
+ * @param DbSchemaWriterInterface $dbSchemaWriter
+ * @param DefinitionAggregator $definitionAggregator
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaWriterInterface $dbSchemaWriter, \Magento\Framework\Setup\Declaration\Schema\Db\DefinitionAggregator $definitionAggregator)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getOperationName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function isOperationDestructive()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function doOperation(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory)
+ {
+ }
+ }
+ /**
+ * Drop table operation.
+ */
+ class DropTable implements \Magento\Framework\Setup\Declaration\Schema\OperationInterface
+ {
+ /**
+ * Operation name.
+ */
+ const OPERATION_NAME = 'drop_table';
+ /**
+ * Constructor.
+ *
+ * @param DefinitionAggregator $definitionAggregator
+ * @param DbSchemaWriterInterface $dbSchemaWriter
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\DefinitionAggregator $definitionAggregator, \Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaWriterInterface $dbSchemaWriter)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function isOperationDestructive()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getOperationName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function doOperation(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $tableHistory)
+ {
+ }
+ }
+ /**
+ * Create table operation.
+ */
+ class CreateTable implements \Magento\Framework\Setup\Declaration\Schema\OperationInterface
+ {
+ /**
+ * Operation name.
+ */
+ const OPERATION_NAME = 'create_table';
+ /**
+ * @param DbSchemaWriterInterface $dbSchemaWriter
+ * @param DefinitionAggregator $definitionAggregator
+ * @param ElementHistoryFactory $elementHistoryFactory
+ * @param array $columnTriggers
+ * @param array $triggers
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaWriterInterface $dbSchemaWriter, \Magento\Framework\Setup\Declaration\Schema\Db\DefinitionAggregator $definitionAggregator, \Magento\Framework\Setup\Declaration\Schema\ElementHistoryFactory $elementHistoryFactory, array $columnTriggers = [], array $triggers = [])
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getOperationName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function isOperationDestructive()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function doOperation(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory)
+ {
+ }
+ }
+ /**
+ * Recreate table operation.
+ * Drops and creates table again.
+ */
+ class ReCreateTable implements \Magento\Framework\Setup\Declaration\Schema\OperationInterface
+ {
+ /**
+ * Operation name.
+ */
+ const OPERATION_NAME = 'recreate_table';
+ /**
+ * Constructor.
+ *
+ * @param CreateTable $createTable
+ * @param DropTable $dropTable
+ * @param MigrateDataBetweenShards $migrateDataBetweenShards
+ * @param ElementHistoryFactory $elementHistoryFactory
+ * @param ElementFactory $elementFactory
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Operations\CreateTable $createTable, \Magento\Framework\Setup\Declaration\Schema\Operations\DropTable $dropTable, \Magento\Framework\Setup\Declaration\Schema\Db\MySQL\DDL\Triggers\MigrateDataBetweenShards $migrateDataBetweenShards, \Magento\Framework\Setup\Declaration\Schema\ElementHistoryFactory $elementHistoryFactory, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementFactory $elementFactory)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function isOperationDestructive()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getOperationName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function doOperation(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory)
+ {
+ }
+ }
+ /**
+ * Add column to table operation.
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class AddColumn implements \Magento\Framework\Setup\Declaration\Schema\OperationInterface
+ {
+ /**
+ * The name of the operation.
+ */
+ const OPERATION_NAME = 'add_column';
+ /**
+ * This key is service key and need only for migration of data on auto_increment field.
+ */
+ const TEMPORARY_KEY = 'AUTO_INCREMENT_TEMPORARY_KEY';
+ /**
+ * AddColumn constructor.
+ *
+ * @param DefinitionAggregator $definitionAggregator
+ * @param DbSchemaWriterInterface $dbSchemaWriter
+ * @param ElementFactory $elementFactory
+ * @param ElementHistoryFactory $elementHistoryFactory
+ * @param AddComplexElement $addComplexElement
+ * @param DropElement $dropElement
+ * @param array $triggers
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\DefinitionAggregator $definitionAggregator, \Magento\Framework\Setup\Declaration\Schema\Db\DbSchemaWriterInterface $dbSchemaWriter, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementFactory $elementFactory, \Magento\Framework\Setup\Declaration\Schema\ElementHistoryFactory $elementHistoryFactory, \Magento\Framework\Setup\Declaration\Schema\Operations\AddComplexElement $addComplexElement, \Magento\Framework\Setup\Declaration\Schema\Operations\DropElement $dropElement, array $triggers = [])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getOperationName()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function isOperationDestructive()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function doOperation(\Magento\Framework\Setup\Declaration\Schema\ElementHistory $elementHistory)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema {
+ /**
+ * Schema configuration interface.
+ *
+ * Used to fetch schema object with data from either db or XML file.
+ *
+ * Declaration has 2 schema builders, that build schema from db and from XML.
+ *
+ * @api
+ */
+ interface SchemaConfigInterface
+ {
+ /**
+ * Parse DB schema
+ *
+ * @return Schema
+ */
+ public function getDbConfig();
+ /**
+ * Parse XML schema
+ *
+ * @return Schema
+ */
+ public function getDeclarationConfig();
+ }
+ /**
+ * {@inheritdoc}
+ */
+ class SchemaConfig implements \Magento\Framework\Setup\Declaration\Schema\SchemaConfigInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param DbSchemaBuilder $dbSchemaBuilder
+ * @param DeclarativeSchemaBuilder $declarativeSchemaBuilder
+ * @param SchemaFactory $schemaFactory
+ * @param ReaderComposite $readerComposite
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Db\SchemaBuilder $dbSchemaBuilder, \Magento\Framework\Setup\Declaration\Schema\Declaration\SchemaBuilder $declarativeSchemaBuilder, \Magento\Framework\Setup\Declaration\Schema\Dto\SchemaFactory $schemaFactory, \Magento\Framework\Setup\Declaration\Schema\Declaration\ReaderComposite $readerComposite)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDbConfig()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDeclarationConfig()
+ {
+ }
+ }
+ /**
+ * Comparator allows to compare only sensitive params of 2 nodes
+ * that can come from different places.
+ */
+ class Comparator
+ {
+ /**
+ * Compare elements.
+ *
+ * @param ElementInterface | ElementDiffAwareInterface $first
+ * @param ElementInterface | ElementDiffAwareInterface $second
+ * @return bool
+ */
+ public function compare(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $first, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $second)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Declaration {
+ /**
+ * This class is responsible for basic validation rules.
+ *
+ * @api
+ */
+ interface ValidationInterface
+ {
+ /**
+ * Do different validations on db schema.
+ *
+ * @param Schema $schema
+ * @return array Return array of errors. If everything is ok - retrieve empty array
+ */
+ public function validate(\Magento\Framework\Setup\Declaration\Schema\Dto\Schema $schema);
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationRules {
+ /**
+ * Go through all tables and find out what foreign keys columns definitions are not match each other
+ *
+ * @inheritdoc
+ */
+ class IncosistentReferenceDefinition implements \Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationInterface
+ {
+ /**
+ * Error code.
+ */
+ const ERROR_TYPE = 'reference_incosistence_definition';
+ /**
+ * @inheritdoc
+ */
+ public function validate(\Magento\Framework\Setup\Declaration\Schema\Dto\Schema $schema)
+ {
+ }
+ }
+ /**
+ * Go through all tables and find out if primary keys can be applied
+ *
+ * @inheritdoc
+ */
+ class PrimaryKeyCanBeCreated implements \Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationInterface
+ {
+ /**
+ * Error code.
+ */
+ const ERROR_TYPE = 'primary_key_cant_be_applied';
+ /**
+ * Error message, that will be shown.
+ */
+ const ERROR_MESSAGE = 'Primary key can`t be applied on table "%s". ';
+ /**
+ * @inheritdoc
+ */
+ public function validate(\Magento\Framework\Setup\Declaration\Schema\Dto\Schema $schema)
+ {
+ }
+ }
+ /**
+ * Go through all tables in schema and see if reference columns in foreign keys
+ * has unique or primary key constraints.
+ *
+ * @inheritdoc
+ */
+ class CheckReferenceColumnHasIndex implements \Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationInterface
+ {
+ /**
+ * Error code.
+ */
+ const ERROR_TYPE = 'reference_column_without_unique_index';
+ /**
+ * Error message, that will be shown.
+ */
+ const ERROR_MESSAGE = 'Reference column %s in reference table %s do not have index';
+ /**
+ * @inheritdoc
+ */
+ public function validate(\Magento\Framework\Setup\Declaration\Schema\Dto\Schema $schema)
+ {
+ }
+ }
+ /**
+ * Go through all tables in schema and validate real types basis and fraction sizes are valid.
+ *
+ * @inheritdoc
+ */
+ class RealTypes implements \Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationInterface
+ {
+ /**
+ * Error code.
+ */
+ const ERROR_TYPE = 'real_type_basis_error';
+ /**
+ * Error message, that will be shown.
+ */
+ const ERROR_MESSAGE = 'Real type "precision" must be greater or equal to "scale". %s(%s,%s) is invalid in %s.';
+ /**
+ * @inheritdoc
+ */
+ public function validate(\Magento\Framework\Setup\Declaration\Schema\Dto\Schema $schema)
+ {
+ }
+ }
+ /**
+ * Check whether autoincrement column is valid
+ *
+ * @inheritdoc
+ */
+ class AutoIncrementColumnValidation implements \Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationInterface
+ {
+ /**
+ * Error code.
+ */
+ const ERROR_TYPE = 'auto_increment_column_is_valid';
+ /**
+ * Error message, that will be shown.
+ */
+ const ERROR_MESSAGE = 'Auto Increment column do not have index. Column - "%s", table - "%s"';
+ /**
+ * @inheritdoc
+ */
+ public function validate(\Magento\Framework\Setup\Declaration\Schema\Dto\Schema $schema)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Declaration {
+ /**
+ * Read schema from different places: XML, csv, etc.
+ * You can add one more reader from di.xml.
+ * Note: that schema from your reader will not be validated through XSD.
+ */
+ class ReaderComposite implements \Magento\Framework\Config\ReaderInterface
+ {
+ /**
+ * @param DeploymentConfig $deploymentConfig
+ * @param ReaderInterface[] $readers
+ */
+ public function __construct(\Magento\Framework\App\DeploymentConfig $deploymentConfig, array $readers = [])
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function read($scope = null)
+ {
+ }
+ }
+ /**
+ * This type of builder is responsible for converting ENTIRE data, that comes from XML into DTO`s format.
+ *
+ * Note: SchemaBuilder can not be used for one structural element, like column or constraint
+ * because it should have references to other DTO objects.
+ * In order to convert build only 1 structural element use directly it factory.
+ *
+ * structure
+ * - table[N,]
+ * -column
+ * -constraint
+ * -internal (unique, primary, check, nullable)
+ * -reference (referenceTable=, referenceColumn=, ...)
+ * -index
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class SchemaBuilder
+ {
+ /**
+ * SchemaBuilder constructor.
+ *
+ * @param ElementFactory $elementFactory
+ * @param BooleanUtils $booleanUtils
+ * @param Sharding $sharding
+ * @param ValidationComposite $validationComposite
+ * @param ResourceConnection $resourceConnection
+ * @param ElementNameResolver $elementNameResolver
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementFactory $elementFactory, \Magento\Framework\Stdlib\BooleanUtils $booleanUtils, \Magento\Framework\Setup\Declaration\Schema\Sharding $sharding, \Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationComposite $validationComposite, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\Declaration\TableElement\ElementNameResolver $elementNameResolver)
+ {
+ }
+ /**
+ * Add tables data to builder.
+ *
+ * Tables data holds tables information: columns, constraints, indexes, attributes.
+ *
+ * @param array $tablesData
+ * @return self
+ */
+ public function addTablesData(array $tablesData)
+ {
+ }
+ /**
+ * Build schema.
+ *
+ * @param Schema $schema
+ * @return Schema
+ * @throws ValidationException
+ */
+ public function build(\Magento\Framework\Setup\Declaration\Schema\Dto\Schema $schema) : \Magento\Framework\Setup\Declaration\Schema\Dto\Schema
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Declaration\TableElement {
+ /**
+ * Provide names of table elements with autogenerated names.
+ */
+ class ElementNameResolver
+ {
+ /**
+ * @param TableNameResolver $tableNameResolver
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\TableNameResolver $tableNameResolver, \Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * Provide the full index name based on the prefix value.
+ *
+ * @param Table $table
+ * @param string[] $columns
+ * @param string $type
+ * @return string
+ */
+ public function getFullIndexName(\Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, array $columns, ?string $type = \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_INDEX) : string
+ {
+ }
+ /**
+ * Provide the index name without prefix value.
+ *
+ * @param string $name
+ * @param Table $table
+ * @param string[] $columns
+ * @param string $type
+ * @return string
+ */
+ public function getIndexNameWithoutPrefix(string $name, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, array $columns, ?string $type = \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_INDEX) : string
+ {
+ }
+ /**
+ * Provide the full foreign key name based on the prefix value.
+ *
+ * @param Table $table
+ * @param Column $column
+ * @param Table $referenceTable
+ * @param Column $referenceColumn
+ * @return string
+ */
+ public function getFullFKName(\Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, \Magento\Framework\Setup\Declaration\Schema\Dto\Column $column, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $referenceTable, \Magento\Framework\Setup\Declaration\Schema\Dto\Column $referenceColumn) : string
+ {
+ }
+ /**
+ * Provide the foreign key name without prefix value.
+ *
+ * @param string $name
+ * @param Table $table
+ * @param Column $column
+ * @param Table $referenceTable
+ * @param Column $referenceColumn
+ * @return string
+ */
+ public function getFKNameWithoutPrefix(string $name, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, \Magento\Framework\Setup\Declaration\Schema\Dto\Column $column, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $referenceTable, \Magento\Framework\Setup\Declaration\Schema\Dto\Column $referenceColumn) : string
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Declaration {
+ /**
+ * This validator holds different validations rules.
+ *
+ * @inheritdoc
+ */
+ class ValidationComposite implements \Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param ValidationInterface[] $rules
+ */
+ public function __construct(array $rules)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function validate(\Magento\Framework\Setup\Declaration\Schema\Dto\Schema $schema)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema {
+ /**
+ * Sharding provider.
+ *
+ * Sharding distributes structural elements among various shards (connections) described in deployment configuration.
+ */
+ class Sharding
+ {
+ /**
+ * Name of default connection.
+ */
+ const DEFAULT_CONNECTION = 'default';
+ /**
+ * Constructor.
+ *
+ * @param DeploymentConfig $deploymentConfig
+ * @param array $resources
+ */
+ public function __construct(\Magento\Framework\App\DeploymentConfig $deploymentConfig, array $resources)
+ {
+ }
+ /**
+ * Depends on different settings we should have different qty of connection names.
+ *
+ * @return array
+ */
+ public function getResources()
+ {
+ }
+ /**
+ * Check whether our resource is valid one.
+ *
+ * @param string $scopeName
+ * @return bool
+ */
+ public function canUseResource($scopeName)
+ {
+ }
+ /**
+ * Retrieve default resource name, that is used by the system.
+ *
+ * @return string
+ */
+ public function getDefaultResource()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Config {
+ /**
+ * This converter is required for Declaration Filesystem reader:
+ *
+ * @see \Magento\Framework\Setup\Declaration\Schema\FileSystem\XmlReader
+ *
+ * Allows to convert declarative schema to raw array and add default values
+ * for column types and for constraints.
+ */
+ class Converter implements \Magento\Framework\Config\ConverterInterface
+ {
+ /**
+ * Convert config from XML to array.
+ *
+ * @param \DOMDocument $source
+ * @return array
+ */
+ public function convert($source) : array
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Dto\Columns {
+ /**
+ * Unsigned flag provider for element.
+ * If column element implement this interface, then it will have UNSIGNED flag in column
+ * definition.
+ *
+ * @api
+ */
+ interface ColumnUnsignedAwareInterface
+ {
+ /**
+ * Check whether element is unsigned or not.
+ *
+ * @return array
+ */
+ public function isUnsigned();
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Dto {
+ /**
+ * Element diff provider interface.
+ *
+ * This interface provides all params, that should participate in elements comparison.
+ *
+ * @api
+ */
+ interface ElementDiffAwareInterface
+ {
+ /**
+ * Return sensitive params, with respect of which we will compare db and xml
+ * For instance,
+ * padding => '2'
+ * identity => null
+ *
+ * Such params as name, renamedTo, disabled, tableName should be avoided here.
+ * As this params are system and must not participate in comparison at all.
+ *
+ * @return array
+ */
+ public function getDiffSensitiveParams();
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Dto\Columns {
+ /**
+ * Provides nullable flag for element.
+ * If column element implement this interface, then it will have NULL or NOT NULL flag in column definition.
+ *
+ * @api
+ */
+ interface ColumnNullableAwareInterface
+ {
+ /**
+ * Check is element nullable or not.
+ *
+ * @return array
+ */
+ public function isNullable();
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Dto {
+ /**
+ * Generic DTO Element interface.
+ *
+ * Is parent interface for all various schema structural elements:
+ * table, column, constraint, index.
+ * @api
+ * @since 102.0.0
+ */
+ interface ElementInterface
+ {
+ /**
+ * Return name of structural element.
+ *
+ * @return string
+ * @since 102.0.0
+ */
+ public function getName();
+ /**
+ * Retrieve element low level type: varchar, char, foreign key, etc..
+ *
+ * @return string
+ * @since 102.0.0
+ */
+ public function getType();
+ /**
+ * Retrieve high level type: column, constraint, index, table.
+ *
+ * On high level different elements can be created or modified in different ways.
+ * So for each high level type of elements were created different operations.
+ * And in order to distinguish this types of elements we use this method.
+ *
+ * @return string
+ * @since 102.0.0
+ */
+ public function getElementType();
+ }
+ /**
+ * Table DTO Element interface.
+ *
+ * This interface can be used for elements that hold tables, like constraints.
+ *
+ * @api
+ */
+ interface TableElementInterface
+ {
+ /**
+ * Get table object.
+ *
+ * @return Table
+ */
+ public function getTable();
+ }
+ /**
+ * Generic element DTO.
+ *
+ * Data transfer object, that provides access to basic attributes of various structural elements.
+ *
+ * Under structural element means one of next element, with can be represented in db schema :
+ * - column
+ * - constraint
+ * - index
+ */
+ abstract class GenericElement implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ */
+ public function __construct(string $name, string $type)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getName()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getType()
+ {
+ }
+ }
+ /**
+ * Column structural element.
+ */
+ class Column extends \Magento\Framework\Setup\Declaration\Schema\Dto\GenericElement implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\TableElementInterface
+ {
+ /**
+ * Element type.
+ */
+ const TYPE = 'column';
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param string $comment
+ * @param string|null $onCreate
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, string $comment = null, string $onCreate = null)
+ {
+ }
+ /**
+ * Retrieve table name.
+ *
+ * @return Table
+ */
+ public function getTable()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getElementType()
+ {
+ }
+ /**
+ * Get On Create statement.
+ *
+ * @return null|string
+ */
+ public function getOnCreate()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getComment()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Dto\Columns {
+ /**
+ * This column represent binary type.
+ * We can have few binary types: blob, mediumblob, longblob.
+ * Declared in SQL, like blob.
+ */
+ class Blob extends \Magento\Framework\Setup\Declaration\Schema\Dto\Column implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnNullableAwareInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param bool $nullable
+ * @param string|null $comment
+ * @param string|null $onCreate
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, bool $nullable = true, string $comment = null, string $onCreate = null)
+ {
+ }
+ /**
+ * Check whether column can be nullable.
+ *
+ * @return bool
+ */
+ public function isNullable()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ }
+ /**
+ * Provides auto_increment flag for column.
+ *
+ * @api
+ */
+ interface ColumnIdentityAwareInterface
+ {
+ /**
+ * Check whether element is auto incremental or not.
+ *
+ * @return array
+ */
+ public function isIdentity();
+ }
+ /**
+ * Provides default value for column.
+ *
+ * @api
+ */
+ interface ColumnDefaultAwareInterface
+ {
+ /**
+ * Check whether element is unsigned or not.
+ *
+ * @return array
+ */
+ public function getDefault();
+ }
+ /**
+ * Integer column.
+ * Declared in SQL, like INT(11) or BIGINT(20).
+ * Where digit is padding, how many zeros should be added before first non-zero digit.
+ */
+ class Integer extends \Magento\Framework\Setup\Declaration\Schema\Dto\Column implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnUnsignedAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnNullableAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnIdentityAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnDefaultAwareInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param int $padding
+ * @param bool $nullable
+ * @param bool $unsigned
+ * @param bool $identity
+ * @param float|int $default
+ * @param string|null $comment
+ * @param string|null $onCreate
+ *
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, int $padding = null, bool $nullable = true, bool $unsigned = false, bool $identity = false, int $default = null, string $comment = null, string $onCreate = null)
+ {
+ }
+ /**
+ * Column padding.
+ *
+ * @return int | null
+ */
+ public function getPadding()
+ {
+ }
+ /**
+ * Check whether column can be nullable.
+ *
+ * @return bool
+ */
+ public function isNullable()
+ {
+ }
+ /**
+ * Return default value.
+ *
+ * Note: default value should be int.
+ *
+ * @return int | null
+ */
+ public function getDefault()
+ {
+ }
+ /**
+ * Check whether element is unsigned or not.
+ *
+ * @return bool
+ */
+ public function isUnsigned()
+ {
+ }
+ /**
+ * Define whether column can be autoincrement or not.
+ *
+ * @return bool
+ */
+ public function isIdentity()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ }
+ /**
+ * Real data column.
+ * Declared in SQL, like FLOAT(P, S), DOUBLE(P, S) or DECIMAL(P, S)
+ * where S - is scale, P - is precision.
+ * https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html
+ */
+ class Real extends \Magento\Framework\Setup\Declaration\Schema\Dto\Column implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnUnsignedAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnNullableAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnDefaultAwareInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param int $precision
+ * @param int $scale
+ * @param bool $nullable
+ * @param bool $unsigned
+ * @param float $default
+ * @param string|null $comment
+ * @param string|null $onCreate
+ *
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, int $precision, int $scale, bool $nullable = true, bool $unsigned = false, float $default = null, string $comment = null, string $onCreate = null)
+ {
+ }
+ /**
+ * Column precision.
+ *
+ * @return int
+ */
+ public function getPrecision()
+ {
+ }
+ /**
+ * Column scale.
+ *
+ * @return int
+ */
+ public function getScale()
+ {
+ }
+ /**
+ * Check whether column can be nullable.
+ *
+ * @return bool
+ */
+ public function isNullable()
+ {
+ }
+ /**
+ * Return default value.
+ * Note: default value should be float.
+ *
+ * @return float|null
+ */
+ public function getDefault()
+ {
+ }
+ /**
+ * Check whether element is unsigned or not.
+ *
+ * @return bool
+ */
+ public function isUnsigned()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ }
+ /**
+ * Date column.
+ * Declared in SQL, like DATE.
+ * Does not have any additional params.
+ * Is represented like: YY:MM:DD.
+ */
+ class Date extends \Magento\Framework\Setup\Declaration\Schema\Dto\Column implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnNullableAwareInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param bool $nullable
+ * @param string|null $comment
+ * @param string|null $onCreate
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, bool $nullable = true, string $comment = null, string $onCreate = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function isNullable() : bool
+ {
+ }
+ }
+ /**
+ * Boolean column.
+ * Declared in SQL, like TINYINT(1) or BOOL or BOOLEAN. Alias for integer or binary type.
+ */
+ class Boolean extends \Magento\Framework\Setup\Declaration\Schema\Dto\Column implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnNullableAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnDefaultAwareInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param bool $nullable
+ * @param bool $default
+ * @param string|null $comment
+ * @param string|null $onCreate
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, bool $nullable = true, bool $default = null, string $comment = null, string $onCreate = null)
+ {
+ }
+ /**
+ * Check whether column can be nullable.
+ *
+ * @return bool
+ */
+ public function isNullable()
+ {
+ }
+ /**
+ * Return default value.
+ * Note: default value should be int.
+ *
+ * @return int|null
+ */
+ public function getDefault()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ }
+ /**
+ * Json
+ *
+ * Text column.
+ * Declared in SQL, like: JSON
+ */
+ class Json extends \Magento\Framework\Setup\Declaration\Schema\Dto\Column implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnNullableAwareInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param bool $nullable
+ * @param string|null $comment
+ * @param string|null $onCreate
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, bool $nullable = true, string $comment = null, string $onCreate = null)
+ {
+ }
+ /**
+ * Check whether column can be nullable.
+ *
+ * @return bool
+ */
+ public function isNullable()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ }
+ /**
+ * String or Binary column.
+ * Declared in SQL, like CHAR(L), VARCHAR(L), BINARY(L)
+ * where L - length.
+ */
+ class StringBinary extends \Magento\Framework\Setup\Declaration\Schema\Dto\Column implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnNullableAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnDefaultAwareInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param int $length
+ * @param bool $nullable
+ * @param string $default
+ * @param string|null $comment
+ * @param string|null $onCreate
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, int $length, bool $nullable = true, string $default = null, string $comment = null, string $onCreate = null)
+ {
+ }
+ /**
+ * Check whether column can be nullable.
+ *
+ * @return bool
+ */
+ public function isNullable()
+ {
+ }
+ /**
+ * Return default value, Note: default value should be string.
+ *
+ * @return string|null
+ */
+ public function getDefault()
+ {
+ }
+ /**
+ * Length can be integer value from 0 to 255.
+ *
+ * @return int
+ */
+ public function getLength()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ }
+ /**
+ * Text column.
+ * Declared in SQL, like: TEXT, TINYTEXT, MEDIUMTEXT, LONGTEXT.
+ */
+ class Text extends \Magento\Framework\Setup\Declaration\Schema\Dto\Column implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnNullableAwareInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param bool $nullable
+ * @param string|null $comment
+ * @param string|null $onCreate
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, bool $nullable = true, string $comment = null, string $onCreate = null)
+ {
+ }
+ /**
+ * Check whether column can be nullable.
+ *
+ * @return bool
+ */
+ public function isNullable()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ }
+ /**
+ * Timestamp column.
+ * Declared in SQL, like Timestamp.
+ * Has 2 additional params: default and on_update.
+ */
+ class Timestamp extends \Magento\Framework\Setup\Declaration\Schema\Dto\Column implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnDefaultAwareInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnNullableAwareInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param string $default
+ * @param bool $nullable
+ * @param string|null $onUpdate
+ * @param string|null $comment
+ * @param string|null $onCreate
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, string $default, bool $nullable = true, string $onUpdate = null, string $comment = null, string $onCreate = null)
+ {
+ }
+ /**
+ * Return default value.
+ *
+ * @return int|null
+ */
+ public function getDefault()
+ {
+ }
+ /**
+ * Retrieve on_update param.
+ *
+ * @return string
+ */
+ public function getOnUpdate()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function isNullable() : bool
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Dto {
+ /**
+ * Schema DTO element factory.
+ */
+ class SchemaFactory
+ {
+ /**
+ * SchemaFactory constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create class instance with specified parameters.
+ *
+ * @return \Magento\Framework\Setup\Declaration\Schema\Dto\Schema
+ */
+ public function create()
+ {
+ }
+ }
+ /**
+ * Table structural element
+ * Aggregate inside itself: columns, constraints and indexes
+ * Resource is also specified on this strucural element
+ *
+ * @api
+ */
+ class Table extends \Magento\Framework\Setup\Declaration\Schema\Dto\GenericElement implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface
+ {
+ /**
+ * In case if we will need to change this object: add, modify or drop, we will need
+ * to define it by its type
+ */
+ const TYPE = 'table';
+ /**
+ * @var string
+ */
+ protected $type = 'table';
+ /**
+ * @param string $name
+ * @param string $type
+ * @param string $nameWithoutPrefix
+ * @param string $resource
+ * @param string $engine
+ * @param string $charset
+ * @param string $collation
+ * @param string $onCreate
+ * @param string|null $comment
+ * @param array $columns
+ * @param array $indexes
+ * @param array $constraints
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+ */
+ public function __construct(string $name, string $type, string $nameWithoutPrefix, string $resource, string $engine, string $charset, string $collation, string $onCreate, string $comment = null, array $columns = [], array $indexes = [], array $constraints = [])
+ {
+ }
+ /**
+ * Return different table constraints.
+ *
+ * It can be constraint like unique key or reference to another table, etc
+ *
+ * @return Constraint[]
+ */
+ public function getConstraints()
+ {
+ }
+ /**
+ * Get constraint by name.
+ *
+ * @param string $name
+ * @return Constraint | bool
+ */
+ public function getConstraintByName($name)
+ {
+ }
+ /**
+ * This method lookup only for foreign keys constraints
+ *
+ * @return Reference[]
+ */
+ public function getReferenceConstraints()
+ {
+ }
+ /**
+ * Returns primary constraint
+ *
+ * As primary constraint always have one name
+ * and can be only one for table
+ * it name is allocated into it constraint
+ *
+ * @return bool|Internal
+ */
+ public function getPrimaryConstraint()
+ {
+ }
+ /**
+ * Retrieve internal constraints
+ *
+ * @return array
+ */
+ public function getInternalConstraints() : array
+ {
+ }
+ /**
+ * Get index by name
+ *
+ * @param string $name
+ * @return Index | bool
+ */
+ public function getIndexByName($name)
+ {
+ }
+ /**
+ * Return all columns.
+ *
+ * Note, table always must have columns
+ *
+ * @return Column[]
+ */
+ public function getColumns()
+ {
+ }
+ /**
+ * Return all indexes, that are applied to table
+ *
+ * @return Index[]
+ */
+ public function getIndexes()
+ {
+ }
+ /**
+ * Retrieve shard name, on which table will exists
+ *
+ * @return string
+ */
+ public function getResource()
+ {
+ }
+ /**
+ * Add constraints
+ *
+ * This is workaround, as any DTO object couldnt be changed after instantiation.
+ * However there is case, when we have 2 tables with constraints in different tables,
+ * that depends to each other table. So we need to setup DTO first and only then pass
+ * problematic constraints to it, in order to avoid circular dependency.
+ *
+ * @param Constraint[] $constraints
+ */
+ public function addConstraints(array $constraints)
+ {
+ }
+ /**
+ * Add columns
+ *
+ * @param Column[] $columns
+ */
+ public function addColumns(array $columns)
+ {
+ }
+ /**
+ * Retrieve information about trigger
+ *
+ * @return string
+ */
+ public function getOnCreate()
+ {
+ }
+ /**
+ * If column exists - retrieve column
+ *
+ * @param string $nameOrId
+ * @return Column | bool
+ */
+ public function getColumnByName($nameOrId)
+ {
+ }
+ /**
+ * Retrieve elements by specific type
+ *
+ * Allowed types: columns, constraints, indexes...
+ *
+ * @param string $type
+ * @return ElementInterface[]
+ */
+ public function getElementsByType($type)
+ {
+ }
+ /**
+ * Add indexes
+ *
+ * This is workaround, as any DTO object couldnt be changed after instantiation.
+ * However there is case, when we depends on column definition we need modify our indexes
+ *
+ * @param array $indexes
+ */
+ public function addIndexes(array $indexes)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getElementType()
+ {
+ }
+ /**
+ * Get engine name
+ *
+ * @return string
+ */
+ public function getEngine() : string
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ /**
+ * Return charset of table
+ *
+ * @return string
+ */
+ public function getCharset() : string
+ {
+ }
+ /**
+ * Return charset of table
+ *
+ * @return string
+ */
+ public function getCollation() : string
+ {
+ }
+ /**
+ * Get name without prefix
+ *
+ * @return string
+ */
+ public function getNameWithoutPrefix() : string
+ {
+ }
+ /**
+ * Get comment
+ *
+ * @return null|string
+ */
+ public function getComment()
+ {
+ }
+ }
+ /**
+ * Constraint structural element.
+ * Used for creating additional rules on db tables.
+ */
+ class Constraint extends \Magento\Framework\Setup\Declaration\Schema\Dto\GenericElement implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\TableElementInterface
+ {
+ /**
+ * In case if we will need to change this object: add, modify or drop, we will need
+ * to define it by its type.
+ */
+ const TYPE = 'constraint';
+ /**
+ * Means PRIMARY KEY
+ */
+ const PRIMARY_TYPE = 'primary';
+ /**
+ * Means UNIQUE KEY
+ */
+ const UNIQUE_TYPE = 'unique';
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param string $nameWithoutPrefix
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, string $nameWithoutPrefix)
+ {
+ }
+ /**
+ * Retrieve table object.
+ *
+ * @return Table
+ */
+ public function getTable()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getElementType()
+ {
+ }
+ /**
+ * Retrieve the constraint name which is calculated without table prefix.
+ *
+ * @return string
+ */
+ public function getNameWithoutPrefix()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Dto\Constraints {
+ /**
+ * Reference (Foreign Key) constraint.
+ */
+ class Reference extends \Magento\Framework\Setup\Declaration\Schema\Dto\Constraint implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface
+ {
+ /**
+ * In case if we will need to change this object: add, modify or drop, we will need
+ * to define it by its type.
+ */
+ const TYPE = 'reference';
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param string $nameWithoutPrefix
+ * @param Column $column
+ * @param Table $referenceTable
+ * @param Column $referenceColumn
+ * @param string $onDelete
+ * @SuppressWarnings(Magento.TypeDuplication)
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, string $nameWithoutPrefix, \Magento\Framework\Setup\Declaration\Schema\Dto\Column $column, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $referenceTable, \Magento\Framework\Setup\Declaration\Schema\Dto\Column $referenceColumn, string $onDelete)
+ {
+ }
+ /**
+ * Get column instance.
+ *
+ * @return Column
+ */
+ public function getColumn()
+ {
+ }
+ /**
+ * Get external column in reference table.
+ *
+ * @return Column
+ */
+ public function getReferenceColumn()
+ {
+ }
+ /**
+ * Get external referenced table.
+ *
+ * @return Table
+ */
+ public function getReferenceTable()
+ {
+ }
+ /**
+ * On delete action.
+ *
+ * @return string
+ */
+ public function getOnDelete()
+ {
+ }
+ /**
+ * For foreign key type is always 'reference'.
+ *
+ * @return string
+ */
+ public function getType()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ }
+ /**
+ * Internal key constraint is constraint that add KEY onto table columns, on which it is declared.
+ * All columns that are holded in this constraint are represented as unique vector.
+ */
+ class Internal extends \Magento\Framework\Setup\Declaration\Schema\Dto\Constraint implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface
+ {
+ /**
+ * As we can have only one primary key. It name should be always PRIMARY/
+ */
+ const PRIMARY_NAME = "PRIMARY";
+ /**
+ * Internal constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param string $nameWithoutPrefix
+ * @param array $columns
+ */
+ public function __construct($name, $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, string $nameWithoutPrefix, array $columns)
+ {
+ }
+ /**
+ * Get key columns.
+ *
+ * @return Column[]
+ */
+ public function getColumns()
+ {
+ }
+ /**
+ * Retrieve column names.
+ *
+ * @return array
+ */
+ public function getColumnNames()
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Dto {
+ /**
+ * Index structural element.
+ * Used to speedup read operations from SQL database.
+ */
+ class Index extends \Magento\Framework\Setup\Declaration\Schema\Dto\GenericElement implements \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\TableElementInterface, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementDiffAwareInterface
+ {
+ /**
+ * Element type.
+ */
+ const TYPE = 'index';
+ /**
+ * Fulltext index type.
+ */
+ const FULLTEXT_INDEX = "fulltext";
+ /**
+ * Constructor.
+ *
+ * @param string $name
+ * @param string $type
+ * @param Table $table
+ * @param array $columns
+ * @param string $indexType
+ * @param string $nameWithoutPrefix
+ */
+ public function __construct(string $name, string $type, \Magento\Framework\Setup\Declaration\Schema\Dto\Table $table, array $columns, string $indexType, string $nameWithoutPrefix)
+ {
+ }
+ /**
+ * Return columns in order, in which they should go in composite index.
+ *
+ * @return Column[]
+ */
+ public function getColumns()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getTable()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getDiffSensitiveParams()
+ {
+ }
+ /**
+ * Retrieve array with column names from column objects collections.
+ *
+ * @return array
+ */
+ public function getColumnNames()
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function getElementType()
+ {
+ }
+ /**
+ * Get index type (FULLTEXT, BTREE, HASH).
+ *
+ * @return string
+ */
+ public function getIndexType()
+ {
+ }
+ /**
+ * Retrieve the index name which is calculated without table prefix.
+ *
+ * @return string
+ */
+ public function getNameWithoutPrefix()
+ {
+ }
+ }
+ /**
+ * Schema DTO element.
+ *
+ * Aggregation root for all structural elements. Provides access to tables by their names.
+ *
+ * @api
+ */
+ class Schema
+ {
+ /**
+ * Schema constructor.
+ *
+ * @param ResourceConnection $resourceConnection
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection)
+ {
+ }
+ /**
+ * Retrieve all tables, that are presented in schema.
+ *
+ * @return Table[]
+ */
+ public function getTables()
+ {
+ }
+ /**
+ * Add table by name key to tables registry.
+ *
+ * @param Table $table
+ * @return $this
+ */
+ public function addTable(\Magento\Framework\Setup\Declaration\Schema\Dto\Table $table)
+ {
+ }
+ /**
+ * Retrieve table by it name.
+ *
+ * Return false if table is not present in schema.
+ *
+ * @param string $name
+ * @return bool|Table
+ */
+ public function getTableByName($name)
+ {
+ }
+ }
+ /**
+ * DTO Element factory.
+ *
+ * Instantiates any type of structural elements.
+ *
+ * @see ElementInterface
+ */
+ class ElementFactory
+ {
+ /**
+ * Constructor.
+ *
+ * @param FactoryInterface[] $typeFactories
+ * @param BooleanUtils $booleanUtils
+ */
+ public function __construct(array $typeFactories, \Magento\Framework\Stdlib\BooleanUtils $booleanUtils)
+ {
+ }
+ /**
+ * Instantiate different types of elements, depends on their xsi:type.
+ *
+ * @param string $type
+ * @param array $elementStructuralData
+ * @return ElementInterface | object
+ */
+ public function create($type, array $elementStructuralData)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\Dto\Factories {
+ /**
+ * DTO Element Factory Interface.
+ *
+ * @api
+ */
+ interface FactoryInterface
+ {
+ /**
+ * Create element using definition data array.
+ *
+ * @param array $data
+ * @return ElementInterface
+ */
+ public function create(array $data);
+ }
+ /**
+ * LongText DTO Element factory.
+ */
+ class LongText implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default long text length.
+ */
+ const DEFAULT_TEXT_LENGTH = 2147483648;
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Text::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Table DTO element factory.
+ */
+ class Table implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default engine.
+ * May be redefined for other DBMS.
+ */
+ public const DEFAULT_ENGINE = 'innodb';
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param ResourceConnection $resourceConnection
+ * @param string $className
+ * @param SqlVersionProvider|null $sqlVersionProvider
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\App\ResourceConnection $resourceConnection, string $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Table::class, ?\Magento\Framework\DB\Adapter\SqlVersionProvider $sqlVersionProvider = null)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Blob factory.
+ */
+ class Blob implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default blob length.
+ */
+ const DEFAULT_BLOB_LENGTH = 65536;
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Blob::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Integer DTO element factory.
+ */
+ class Integer implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Integer::class)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Primary key DTO element factory.
+ *
+ * By default primary key can have only one name - PRIMARY to prevent duplicate primary key creation attempts.
+ */
+ class Primary implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Constraints\Internal::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Unique constraint DTO element factory.
+ */
+ class Unique implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param ResourceConnection $resourceConnection
+ * @param TableNameResolver $tableNameResolver
+ * @param ElementNameResolver $elementNameResolver
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\TableNameResolver $tableNameResolver, \Magento\Framework\Setup\Declaration\Schema\Declaration\TableElement\ElementNameResolver $elementNameResolver, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Constraints\Internal::class)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Index element factory.
+ */
+ class Index implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default index type.
+ */
+ const DEFAULT_INDEX_TYPE = "btree";
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param ResourceConnection $resourceConnection
+ * @param TableNameResolver $tableNameResolver
+ * @param ElementNameResolver $elementNameResolver
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\TableNameResolver $tableNameResolver, \Magento\Framework\Setup\Declaration\Schema\Declaration\TableElement\ElementNameResolver $elementNameResolver, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Index::class)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Medium blob DTO element factory.
+ */
+ class MediumBlob implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default medium blob length.
+ */
+ const DEFAULT_BLOB_LENGTH = 16777216;
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Blob::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Real type DTO element factory.
+ *
+ * Used for real numbers DTO elements like decimal, float or double.
+ * Decimal type is highly recommended for business math.
+ */
+ class Real implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default SQL precision.
+ */
+ const DEFAULT_PRECISION = "10";
+ /**
+ * Default SQL scale.
+ */
+ const DEFAULT_SCALE = "0";
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Real::class)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Date factory.
+ * Remove default and nullable attributes, as date type must not have any attributes.
+ */
+ class Date implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Date::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Boolean factory.
+ */
+ class Boolean implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default value for boolean xsi:type.
+ */
+ const DEFAULT_BOOLEAN = false;
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param BooleanUtils $booleanUtils
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Stdlib\BooleanUtils $booleanUtils, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Boolean::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Class Json
+ *
+ * Json Factory
+ */
+ class Json implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Blob::class)
+ {
+ }
+ /**
+ * Create element using definition data array.
+ *
+ * @param array $data
+ * @return \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface|mixed
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * LongBlob DTO element factory.
+ */
+ class LongBlob implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default long blog length.
+ */
+ const DEFAULT_BLOB_LENGTH = 2147483648;
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Blob::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * StringBinary DTO element factory.
+ *
+ * Used for char, varchar, binary, varbinary types.
+ */
+ class StringBinary implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default data length.
+ */
+ const DEFAULT_TEXT_LENGTH = 255;
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\StringBinary::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Text DTO element factory.
+ */
+ class Text implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default text length.
+ */
+ const DEFAULT_TEXT_LENGTH = 65536;
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Text::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Timestamp DTO element factory.
+ *
+ * This format is used to save date (year, month, day).
+ * Probably your SQL engine will save date in this format: 'YYYY-MM-DD HH:MM::SS'
+ * Date time in invalid format will be converted to '0000-00-00 00:00:00' string
+ * MySQL timestamp is similar to UNIX timestamp. You can pass you local time there and it will
+ * be converted to UTC timezone. Then when you will try to pull your time back it will be converted
+ * to your local time again.
+ * Unix range: 1970-01-01 00:00:01' UTC to '2038-01-09 03:14:07'
+ */
+ class Timestamp implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Nullable timestamp value.
+ */
+ const NULL_TIMESTAMP = 'NULL';
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param BooleanUtils $booleanUtils
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\Stdlib\BooleanUtils $booleanUtils, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Timestamp::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Foreign key constraint factory.
+ */
+ class Foreign implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default ON DELETE action.
+ */
+ const DEFAULT_ON_DELETE = "CASCADE";
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param ResourceConnection $resourceConnection
+ * @param TableNameResolver $tableNameResolver
+ * @param ElementNameResolver $elementNameResolver
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\TableNameResolver $tableNameResolver, \Magento\Framework\Setup\Declaration\Schema\Declaration\TableElement\ElementNameResolver $elementNameResolver, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Constraints\Reference::class)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function create(array $data)
+ {
+ }
+ }
+ /**
+ * Medium text DTO element factory.
+ */
+ class MediumText implements \Magento\Framework\Setup\Declaration\Schema\Dto\Factories\FactoryInterface
+ {
+ /**
+ * Default medium text length.
+ */
+ const DEFAULT_TEXT_LENGTH = 16777216;
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ * @param string $className
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $className = \Magento\Framework\Setup\Declaration\Schema\Dto\Columns\Text::class)
+ {
+ }
+ /**
+ * {@inheritdoc}
+ */
+ public function create(array $data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema\DataSavior {
+ /**
+ * This interface allows to dump data during declarative installation process
+ * and revert changes with applying previously saved data, if something goes wrong
+ *
+ * @api
+ */
+ interface DataSaviorInterface
+ {
+ /**
+ * Generate dump file by element
+ *
+ * For example, it can generate file for removed column is_allowed, in this case
+ * this file will consists of data in is_allowed column and additional data, that allows
+ * to identify each `is_allowed` value
+ *
+ * @param ElementInterface $element
+ * @return void
+ */
+ public function dump(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $element);
+ /**
+ * Find the field, that was backed up by file name, and tries to restore data
+ * that is in this file
+ *
+ * @param ElementInterface $element
+ * @return mixed
+ */
+ public function restore(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $element);
+ /**
+ * Check whether this element is acceptable by current implementation of data savior
+ *
+ * @param ElementInterface $element
+ * @return bool
+ */
+ public function isAcceptable(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $element);
+ }
+ /**
+ * Allows to dump and restore data for specific table
+ */
+ class TableSavior implements \Magento\Framework\Setup\Declaration\Schema\DataSavior\DataSaviorInterface
+ {
+ /**
+ * TableDump constructor.
+ * @param ResourceConnection $resourceConnection
+ * @param SelectGeneratorFactory $selectGeneratorFactory
+ * @param DumpAccessorInterface $dumpAccessor
+ * @param SelectFactory $selectFactory
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\DataSavior\SelectGeneratorFactory $selectGeneratorFactory, \Magento\Framework\Setup\Declaration\Schema\DataSavior\DumpAccessorInterface $dumpAccessor, \Magento\Framework\DB\SelectFactory $selectFactory)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @param Table | ElementInterface $table
+ * @return void
+ */
+ public function dump(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $table)
+ {
+ }
+ /**
+ * @param Table | ElementInterface $table
+ * @inheritdoc
+ */
+ public function restore(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $table)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function isAcceptable(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $element)
+ {
+ }
+ }
+ /**
+ * Yields data from database by select objects
+ */
+ class SelectGenerator
+ {
+ /**
+ * TableDump constructor.
+ * @param ResourceConnection $resourceConnection
+ * @param int $baseBatchSize
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection, $baseBatchSize = 30000)
+ {
+ }
+ /**
+ * It retrieves data by batches
+ *
+ * Select generator do not know what data he will fetch, so you need to pass builded Select statement in it
+ *
+ * @param Select $select
+ * @param string $connectionName
+ * @return \Generator
+ */
+ public function generator(\Magento\Framework\Db\Select $select, $connectionName)
+ {
+ }
+ }
+ /**
+ * Allows to dump and restore data for one specific field
+ */
+ class ColumnSavior implements \Magento\Framework\Setup\Declaration\Schema\DataSavior\DataSaviorInterface
+ {
+ /**
+ * TableDump constructor.
+ * @param ResourceConnection $resourceConnection
+ * @param SelectGeneratorFactory $selectGeneratorFactory
+ * @param DumpAccessorInterface $dumpAccessor
+ * @param UniqueConstraintsResolver $uniqueConstraintsResolver
+ * @param SelectFactory $selectFactory
+ */
+ public function __construct(\Magento\Framework\App\ResourceConnection $resourceConnection, \Magento\Framework\Setup\Declaration\Schema\DataSavior\SelectGeneratorFactory $selectGeneratorFactory, \Magento\Framework\Setup\Declaration\Schema\DataSavior\DumpAccessorInterface $dumpAccessor, \Magento\Framework\Setup\Declaration\Schema\DataSavior\UniqueConstraintsResolver $uniqueConstraintsResolver, \Magento\Framework\DB\SelectFactory $selectFactory)
+ {
+ }
+ /**
+ * @inheritdoc
+ * @param Column | ElementInterface $column
+ * @return void
+ */
+ public function dump(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @param Column | ElementInterface $column
+ * @inheritdoc
+ */
+ public function restore(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $column)
+ {
+ }
+ /**
+ * @param ElementInterface $element
+ * @return bool
+ */
+ public function isAcceptable(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $element)
+ {
+ }
+ }
+ /**
+ * Factory which allows to create SQL select generator
+ */
+ class SelectGeneratorFactory
+ {
+ /**
+ * SelectGeneratorFactory constructor.
+ * @param ObjectManagerInterface $objectManager
+ * @param string $instanceName
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Setup\Declaration\Schema\DataSavior\SelectGenerator::class)
+ {
+ }
+ /**
+ * Create class instance with specified parameters
+ *
+ * @return SelectGenerator
+ */
+ public function create()
+ {
+ }
+ }
+ /**
+ * Search for any unique constraints in table
+ */
+ class UniqueConstraintsResolver
+ {
+ /**
+ * Retrieve list of all columns that are in one unique constraints. Yields the first constraint and stop on it
+ *
+ * @param Table $table
+ * @return array | bool If method return false, it means that table do not have any unique constraints and can`t be
+ * processed
+ */
+ public function resolve(\Magento\Framework\Setup\Declaration\Schema\Dto\Table $table)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\Declaration\Schema {
+ /**
+ * This class is responsible for logging dry run SQL`s
+ * By default it logs them into filesystem, but it can be extended and you can log them in CLI
+ * Current problem with logging output to CLI, is that we have redudant things in CLI output, like modules progress
+ */
+ class DryRunLogger
+ {
+ /**
+ * We will run installation or upgrade in Dry Run mode
+ */
+ const INPUT_KEY_DRY_RUN_MODE = 'dry-run';
+ /**
+ * File name, where all dry-run SQL`s will be puted
+ */
+ const FILE_NAME = 'dry-run-installation.log';
+ /**
+ * Allows to separate 2 different sql statements with this separator
+ * Be default is used 2 empty lines
+ */
+ const LINE_SEPARATOR = "\n\n";
+ /**
+ * @param \Magento\Framework\Filesystem\Driver\File $fileDriver
+ * @param DirectoryList $directoryList
+ */
+ public function __construct(\Magento\Framework\Filesystem\Driver\File $fileDriver, \Magento\Framework\App\Filesystem\DirectoryList $directoryList)
+ {
+ }
+ /**
+ * Make file empty from request to request
+ * @throws \Exception
+ * @return void
+ */
+ public function prepareToDryRun()
+ {
+ }
+ /**
+ * Do log of SQL query, 2 different SQL`s will be divided by one empty line
+ *
+ * @param string $sql
+ * @throws \Exception
+ * @return void
+ */
+ public function log($sql)
+ {
+ }
+ }
+ /**
+ * Element history container.
+ *
+ * This class holds history about element modifications.
+ *
+ * @api
+ */
+ class ElementHistory
+ {
+ /**
+ * Constructor.
+ *
+ * @param ElementInterface $new
+ * @param ElementInterface $old
+ */
+ public function __construct(\Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $new, \Magento\Framework\Setup\Declaration\Schema\Dto\ElementInterface $old = null)
+ {
+ }
+ /**
+ * Retrieve element, that exists before we run installation.
+ *
+ * @return ElementInterface|null
+ */
+ public function getOld()
+ {
+ }
+ /**
+ * Retrieve element, that comes from configuration.
+ *
+ * @return ElementInterface
+ */
+ public function getNew()
+ {
+ }
+ }
+ /**
+ * Element history container factory.
+ */
+ class ElementHistoryFactory
+ {
+ /**
+ * Constructor.
+ *
+ * @param ObjectManagerInterface $objectManager
+ */
+ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
+ {
+ }
+ /**
+ * Create element history container.
+ *
+ * @param array $data
+ * - Should consist of 2 params:
+ * new
+ * old
+ * @return mixed
+ */
+ public function create(array $data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup {
+ /**
+ * Exception thrown if an error occurs on setup process.
+ */
+ class Exception extends \Magento\Framework\Exception\LocalizedException
+ {
+ }
+}
+namespace Magento\Framework\Setup\Option {
+ /**
+ * Abstract Option class in deployment configuration tool
+ */
+ abstract class AbstractConfigOption extends \Symfony\Component\Console\Input\InputOption
+ {
+ /**
+ * Constructor
+ *
+ * @param string $name
+ * @param string $frontendType
+ * @param int $mode
+ * @param string $configPath
+ * @param string $description
+ * @param string|array|null $defaultValue
+ * @param string|array|null $shortcut
+ */
+ public function __construct($name, $frontendType, $mode, $configPath, $description = '', $defaultValue = null, $shortcut = null)
+ {
+ }
+ /**
+ * Get frontend input type
+ *
+ * @return string
+ */
+ public function getFrontendType()
+ {
+ }
+ /**
+ * Get config path
+ *
+ * @return string
+ */
+ public function getConfigPath()
+ {
+ }
+ /**
+ * No base validation
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ * @param mixed $data
+ * @return void
+ */
+ public function validate($data)
+ {
+ }
+ }
+ /**
+ * Multi-select option in deployment config tool
+ */
+ class MultiSelectConfigOption extends \Magento\Framework\Setup\Option\AbstractConfigOption
+ {
+ /**#@+
+ * Frontend input types
+ */
+ const FRONTEND_WIZARD_CHECKBOX = 'checkbox';
+ const FRONTEND_WIZARD_MULTISELECT = 'multiselect';
+ /**
+ * Constructor
+ *
+ * @param string $name
+ * @param string $frontendType
+ * @param array $selectOptions
+ * @param string $configPath
+ * @param string $description
+ * @param array $defaultValue
+ * @param string|array|null $shortCut
+ * @throws \InvalidArgumentException
+ */
+ public function __construct($name, $frontendType, array $selectOptions, $configPath, $description = '', array $defaultValue = [], $shortCut = null)
+ {
+ }
+ /**
+ * Get available options
+ *
+ * @return array
+ */
+ public function getSelectOptions()
+ {
+ }
+ /**
+ * Validates input data
+ *
+ * @param mixed $data
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ public function validate($data)
+ {
+ }
+ }
+ /**
+ * Flag option in deployment config tool
+ */
+ class FlagConfigOption extends \Magento\Framework\Setup\Option\AbstractConfigOption
+ {
+ /**
+ * Frontend input types
+ */
+ const FRONTEND_WIZARD_FLAG = 'flag';
+ /**
+ * Constructor
+ *
+ * @param string $name
+ * @param string $configPath
+ * @param string $description
+ * @param string|array|null $shortCut
+ */
+ public function __construct($name, $configPath, $description = '', $shortCut = null)
+ {
+ }
+ }
+ /**
+ * Select option in deployment config tool
+ */
+ class SelectConfigOption extends \Magento\Framework\Setup\Option\AbstractConfigOption
+ {
+ /**#@+
+ * Frontend input types
+ */
+ const FRONTEND_WIZARD_RADIO = 'radio';
+ const FRONTEND_WIZARD_SELECT = 'select';
+ /**
+ * Constructor
+ *
+ * @param string $name
+ * @param string $frontendType
+ * @param array $selectOptions
+ * @param string $configPath
+ * @param string $description
+ * @param string|null $defaultValue
+ * @param string|array|null $shortCut
+ * @throws \InvalidArgumentException
+ */
+ public function __construct($name, $frontendType, array $selectOptions, $configPath, $description = '', $defaultValue = null, $shortCut = null)
+ {
+ }
+ /**
+ * Get available options
+ *
+ * @return array
+ */
+ public function getSelectOptions()
+ {
+ }
+ /**
+ * Validates input data
+ *
+ * @param mixed $data
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ public function validate($data)
+ {
+ }
+ }
+ /**
+ * Text option in deployment config tool
+ */
+ class TextConfigOption extends \Magento\Framework\Setup\Option\AbstractConfigOption
+ {
+ /**#@+
+ * Frontend input types
+ */
+ const FRONTEND_WIZARD_TEXT = 'text';
+ const FRONTEND_WIZARD_PASSWORD = 'password';
+ const FRONTEND_WIZARD_TEXTAREA = 'textarea';
+ /**#@- */
+ /**
+ * Constructor
+ *
+ * @param string $name
+ * @param string $frontendType
+ * @param string $configPath
+ * @param string $description
+ * @param string|null $defaultValue
+ * @param string|array|null $shortCut
+ * @throws \InvalidArgumentException
+ */
+ public function __construct($name, $frontendType, $configPath, $description = '', $defaultValue = null, $shortCut = null)
+ {
+ }
+ /**
+ * Validates input data
+ *
+ * @param mixed $data
+ * @return void
+ * @throws \InvalidArgumentException
+ */
+ public function validate($data)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Setup\SchemaListenerHandlers {
+ /**
+ * Here we will put schema listener handlers.
+ *
+ * @api
+ */
+ interface SchemaListenerHandlerInterface
+ {
+ /**
+ * Handle schema changes.
+ *
+ * @param string $moduleName
+ * @param array $tables
+ * @param array $params Params consist data as old_column_name, new_column_name, table_name, etc
+ * @param array $definition
+ * @return mixed
+ */
+ public function handle($moduleName, $tables, array $params, $definition);
+ }
+}
+namespace Magento\Framework\Setup {
+ /**
+ * DB schema resource interface
+ * @api
+ * @since 100.0.2
+ */
+ interface SchemaSetupInterface extends \Magento\Framework\Setup\SetupInterface
+ {
+ /**
+ * Retrieves 32bit UNIQUE HASH for a Table index
+ *
+ * @param string $tableName
+ * @param array|string $fields
+ * @param string $indexType
+ * @return string
+ */
+ public function getIdxName($tableName, $fields, $indexType = '');
+ /**
+ * Retrieves 32bit UNIQUE HASH for a Table foreign key
+ *
+ * @param string $priTableName the target table name
+ * @param string $priColumnName the target table column name
+ * @param string $refTableName the reference table name
+ * @param string $refColumnName the reference table column name
+ * @return string
+ */
+ public function getFkName($priTableName, $priColumnName, $refTableName, $refColumnName);
+ }
+ /**
+ * DB data resource interface for a module
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface ModuleDataSetupInterface extends \Magento\Framework\Setup\SetupInterface
+ {
+ const DEFAULT_SETUP_CONNECTION = 'default_setup';
+ const VERSION_COMPARE_EQUAL = 0;
+ const VERSION_COMPARE_LOWER = -1;
+ const VERSION_COMPARE_GREATER = 1;
+ const TYPE_DATA_INSTALL = 'data-install';
+ const TYPE_DATA_UPGRADE = 'data-upgrade';
+ /**
+ * Retrieve row or field from table by id or string and parent id
+ *
+ * @param string $table
+ * @param string $idField
+ * @param string|integer $rowId
+ * @param string|null $field
+ * @param string|null $parentField
+ * @param string|integer $parentId
+ * @return mixed
+ */
+ public function getTableRow($table, $idField, $rowId, $field = null, $parentField = null, $parentId = 0);
+ /**
+ * Delete table row
+ *
+ * @param string $table
+ * @param string $idField
+ * @param string|int $rowId
+ * @param null|string $parentField
+ * @param int|string $parentId
+ * @return $this
+ */
+ public function deleteTableRow($table, $idField, $rowId, $parentField = null, $parentId = 0);
+ /**
+ * Update one or more fields of table row
+ *
+ * @param string $table
+ * @param string $idField
+ * @param string|integer $rowId
+ * @param string|array $field
+ * @param mixed|null $value
+ * @param string $parentField
+ * @param string|integer $parentId
+ * @return $this
+ */
+ public function updateTableRow($table, $idField, $rowId, $field, $value = null, $parentField = null, $parentId = 0);
+ /**
+ * Gets event manager
+ *
+ * @return \Magento\Framework\Event\ManagerInterface
+ */
+ public function getEventManager();
+ /**
+ * Gets filesystem
+ *
+ * @return \Magento\Framework\Filesystem
+ */
+ public function getFilesystem();
+ /**
+ * Create migration setup
+ *
+ * @param array $data
+ * @return \Magento\Framework\Module\Setup\Migration
+ */
+ public function createMigrationSetup(array $data = []);
+ /**
+ * Gets setup cache
+ *
+ * @return DataCacheInterface
+ */
+ public function getSetupCache();
+ }
+ /**
+ * Class to generate random backend URI
+ */
+ class BackendFrontnameGenerator
+ {
+ /**
+ * Prefix for admin area path
+ */
+ public const ADMIN_AREA_PATH_PREFIX = 'admin_';
+ /**
+ * Length of the backend frontname random part
+ */
+ public const ADMIN_AREA_PATH_RANDOM_PART_LENGTH = 7;
+ /**
+ * Generate Backend name
+ *
+ * @return string
+ */
+ public static function generate() : string
+ {
+ }
+ }
+ /**
+ * Old Validator for database
+ *
+ * Used in order to support backward compatibility of modules that are installed
+ * in old way (with Install/Upgrade Schema/Data scripts)
+ */
+ class OldDbValidator implements \Magento\Framework\Setup\UpToDateValidatorInterface
+ {
+ /**
+ * @param DbVersionInfo $dbVersionInfo
+ */
+ public function __construct(\Magento\Framework\Module\DbVersionInfo $dbVersionInfo)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function getNotUpToDateMessage() : string
+ {
+ }
+ /**
+ * Is up to date
+ *
+ * @return bool
+ */
+ public function isUpToDate() : bool
+ {
+ }
+ }
+ /**
+ * Interface for handling options in deployment configuration tool
+ *
+ * @api
+ */
+ interface ConfigOptionsListInterface
+ {
+ /**
+ * Gets a list of input options so that user can provide required
+ * information that will be used in deployment config file
+ *
+ * @return Option\AbstractConfigOption[]
+ */
+ public function getOptions();
+ /**
+ * Creates array of ConfigData objects from user input data.
+ * Data in these objects will be stored in array form in deployment config file.
+ *
+ * @param array $options
+ * @param DeploymentConfig $deploymentConfig
+ * @return \Magento\Framework\Config\Data\ConfigData[]
+ */
+ public function createConfig(array $options, \Magento\Framework\App\DeploymentConfig $deploymentConfig);
+ /**
+ * Validates user input option values and returns error messages
+ *
+ * @param array $options
+ * @param DeploymentConfig $deploymentConfig
+ * @return string[]
+ */
+ public function validate(array $options, \Magento\Framework\App\DeploymentConfig $deploymentConfig);
+ }
+ /**
+ * Data setup cache
+ *
+ * @api
+ */
+ interface DataCacheInterface
+ {
+ /**
+ * Set data of a row
+ *
+ * @param string $table
+ * @param string $parentId
+ * @param string $rowId
+ * @param mixed $value
+ * @return void
+ */
+ public function setRow($table, $parentId, $rowId, $value);
+ /**
+ * Set data of a field
+ *
+ * @param string $table
+ * @param string $parentId
+ * @param string $rowId
+ * @param string $field
+ * @param mixed $value
+ * @return void
+ */
+ public function setField($table, $parentId, $rowId, $field, $value);
+ /**
+ * Gets requested row/field
+ *
+ * @param string $table
+ * @param string $parentId
+ * @param string $rowId
+ * @param string|null $field
+ * @return mixed Returns false if there is no such record
+ */
+ public function get($table, $parentId, $rowId, $field = null);
+ /**
+ * Removed requested row
+ *
+ * @param string $table
+ * @param string $parentId
+ * @param string $rowId
+ * @return void
+ */
+ public function remove($table, $parentId, $rowId);
+ /**
+ * Checks if requested data exists
+ *
+ * @param string $table
+ * @param string $parentId
+ * @param string $rowId
+ * @param string|null $field
+ * @return bool
+ */
+ public function has($table, $parentId, $rowId, $field = null);
+ }
+ /**
+ * Interface for DB schema installs of a module
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface InstallSchemaInterface
+ {
+ /**
+ * Installs DB schema for a module
+ *
+ * @param SchemaSetupInterface $setup
+ * @param ModuleContextInterface $context
+ * @return void
+ */
+ public function install(\Magento\Framework\Setup\SchemaSetupInterface $setup, \Magento\Framework\Setup\ModuleContextInterface $context);
+ }
+ /**
+ * Context of a module being installed/updated: version, user data, etc.
+ * @api
+ * @since 100.0.2
+ */
+ interface ModuleContextInterface
+ {
+ /**
+ * Gets current version of the module
+ *
+ * @return string
+ */
+ public function getVersion();
+ }
+}
+namespace Magento\Framework\Css\Test\Unit\PreProcessor\Instruction {
+ class ImportTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $originalContent
+ * @param string $foundPath
+ * @param string $resolvedPath
+ * @param string $expectedContent
+ *
+ * @dataProvider processDataProvider
+ */
+ public function testProcess($originalContent, $foundPath, $resolvedPath, $expectedContent)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function processDataProvider()
+ {
+ }
+ public function testProcessNoImport()
+ {
+ }
+ /**
+ * @covers \Magento\Framework\Css\PreProcessor\Instruction\Import::resetRelatedFiles
+ */
+ public function testGetRelatedFiles()
+ {
+ }
+ }
+ /**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class MagentoImportTest extends \PHPUnit\Framework\TestCase
+ {
+ protected function setUp() : void
+ {
+ }
+ /**
+ * @param string $originalContent
+ * @param string $foundPath
+ * @param string $resolvedPath
+ * @param array $foundFiles
+ * @param string $expectedContent
+ *
+ * @dataProvider processDataProvider
+ */
+ public function testProcess($originalContent, $foundPath, $resolvedPath, $foundFiles, $expectedContent)
+ {
+ }
+ /**
+ * @return array
+ */
+ public function processDataProvider()
+ {
+ }
+ public function testProcessNoImport()
+ {
+ }
+ public function testProcessException()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Css\Test\Unit\PreProcessor\Adapter\Less {
+ class ProcessorTest extends \PHPUnit\Framework\TestCase
+ {
+ const TEST_CONTENT = 'test-content';
+ const ASSET_PATH = 'test-path';
+ const TMP_PATH_LESS = '_file/test.less';
+ const TMP_PATH_CSS = '_file/test.css';
+ const ERROR_MESSAGE = 'Test exception';
+ /**
+ * Set up
+ */
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Test for processContent method (exception)
+ */
+ public function testProcessContentException()
+ {
+ }
+ /**
+ * Test for processContent method (empty content)
+ */
+ public function testProcessContentEmpty()
+ {
+ }
+ /**
+ * Test for processContent method (not empty content)
+ */
+ public function testProcessContentNotEmpty()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Css\Test\Unit\PreProcessor\File\FileList {
+ class CollatorTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Collator
+ */
+ protected $model;
+ /**
+ * @var File[]
+ */
+ protected $originFiles;
+ /**
+ * @var File
+ */
+ protected $baseFile;
+ /**
+ * @var File
+ */
+ protected $themeFile;
+ protected function setUp() : void
+ {
+ }
+ /**
+ * Return newly created theme layout file with a mocked theme
+ *
+ * @param string $filename
+ * @param string $module
+ * @param string|null $themeFullPath
+ * @return MockObject|File
+ */
+ protected function createLayoutFile($filename, $module, $themeFullPath = null)
+ {
+ }
+ public function testCollate()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Css\Test\Unit\PreProcessor\File\Collector {
+ /**
+ * Tests Aggregate
+ */
+ class AggregatedTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Factory|MockObject
+ */
+ protected $fileListFactoryMock;
+ /**
+ * @var FileList|MockObject
+ */
+ protected $fileListMock;
+ /**
+ * @var CollectorInterface|MockObject
+ */
+ protected $libraryFilesMock;
+ /**
+ * @var CollectorInterface|MockObject
+ */
+ protected $baseFilesMock;
+ /**
+ * @var CollectorInterface|MockObject
+ */
+ protected $overriddenBaseFilesMock;
+ /**
+ * @var ThemeInterface|MockObject
+ */
+ protected $themeMock;
+ /**
+ * @var LoggerInterface|MockObject
+ */
+ protected $loggerMock;
+ /**
+ * @inheritdoc
+ */
+ protected function setup() : void
+ {
+ }
+ /**
+ * @return void
+ */
+ public function testGetFilesEmpty() : void
+ {
+ }
+ /**
+ *
+ * @dataProvider getFilesDataProvider
+ *
+ * @param array $libraryFiles Files in lib directory
+ * @param array $baseFiles Files in base directory
+ * @param array $themeFiles Files in theme
+ * *
+ * @return void
+ */
+ public function testGetFiles($libraryFiles, $baseFiles, $themeFiles) : void
+ {
+ }
+ /**
+ * Provides test data for testGetFiles()
+ *
+ * @return array
+ */
+ public function getFilesDataProvider() : array
+ {
+ }
+ }
+ /**
+ * Tests Library
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+ class LibraryTest extends \PHPUnit\Framework\TestCase
+ {
+ /**
+ * @var Factory|MockObject
+ */
+ protected $fileListFactoryMock;
+ /**
+ * @var Filesystem|MockObject
+ */
+ protected $fileSystemMock;
+ /**
+ * @var \Magento\Framework\View\File\Factory|MockObject
+ */
+ protected $fileFactoryMock;
+ /**
+ * @var FileList|MockObject
+ */
+ protected $fileListMock;
+ /**
+ * @var ReadInterface|MockObject
+ */
+ protected $libraryDirectoryMock;
+ /**
+ * @var ThemeInterface|MockObject
+ */
+ protected $themeMock;
+ /**
+ * Setup tests
+ * @return void
+ */
+ protected function setup() : void
+ {
+ }
+ public function testGetFilesEmpty()
+ {
+ }
+ /**
+ *
+ * @dataProvider getFilesDataProvider
+ *
+ * @param array $libraryFiles Files in lib directory
+ * @param array $themeFiles Files in theme
+ * *
+ * @return void
+ */
+ public function testGetFiles($libraryFiles, $themeFiles)
+ {
+ }
+ /**
+ * Provides test data for testGetFiles()
+ *
+ * @return array
+ */
+ public function getFilesDataProvider()
+ {
+ }
+ }
+}
+namespace Magento\Framework\Css\PreProcessor {
+ /**
+ * Error handler interface
+ *
+ * @api
+ */
+ interface ErrorHandlerInterface
+ {
+ /**
+ * Process an exception which was thrown during processing dynamic instructions
+ *
+ * @param \Exception $e
+ * @return void
+ */
+ public function processException(\Exception $e);
+ }
+}
+namespace Magento\Framework\View\Asset {
+ /**
+ * An interface for "preprocessing" asset contents
+ *
+ * @api
+ * @since 100.0.2
+ */
+ interface PreProcessorInterface
+ {
+ /**
+ * Transform content and/or content type for the specified preprocessing chain object
+ *
+ * @param PreProcessor\Chain $chain
+ * @return void
+ */
+ public function process(\Magento\Framework\View\Asset\PreProcessor\Chain $chain);
+ }
+}
+namespace Magento\Framework\Css\PreProcessor\Instruction {
+ /**
+ * 'import' instruction preprocessor
+ */
+ class Import implements \Magento\Framework\View\Asset\PreProcessorInterface
+ {
+ /**
+ * Pattern of 'import' instruction
+ */
+ public const REPLACE_PATTERN = '#@import[\\s]*' . '(?P[\\(\\),\\w\\s]*?[\'\\"][\\s]*)' . '(?P[^\\)\'\\"]*?)' . '(?P[\\s]*[\'\\"][\\s\\w]*[\\)]?)[\\s]*;#';
+ /**
+ * @var array
+ */
+ protected $relatedFiles = [];
+ /**
+ * Constructor
+ *
+ * @param NotationResolver\Module $notationResolver
+ * @param RelatedGenerator $relatedFileGenerator
+ */
+ public function __construct(\Magento\Framework\View\Asset\NotationResolver\Module $notationResolver, \Magento\Framework\Css\PreProcessor\FileGenerator\RelatedGenerator $relatedFileGenerator)
+ {
+ }
+ /**
+ * @inheritdoc
+ */
+ public function process(\Magento\Framework\View\Asset\PreProcessor\Chain $chain)
+ {
+ }
+ /**
+ * Retrieve information on all related files, processed so far
+ *
+ * BUG: this information about related files is not supposed to be in the state of this object.
+ * This class is meant to be a service (shareable instance) without such a transient state.
+ * The list of related files needs to be accumulated for the preprocessor,
+ * because it uses a 3rd-party library, which requires the files to physically reside in the base same directory.
+ *
+ * @return array
+ */
+ public function getRelatedFiles()
+ {
+ }
+ /**
+ * Clear the record of related files, processed so far
+ *
+ * @return void
+ */
+ public function resetRelatedFiles()
+ {
+ }
+ /**
+ * Add related file to the record of processed files
+ *
+ * @param string $matchedFileId
+ * @param LocalInterface $asset
+ * @return void
+ */
+ protected function recordRelatedFile($matchedFileId, \Magento\Framework\View\Asset\LocalInterface $asset)
+ {
+ }
+ /**
+ * Return replacement of an original @import directive
+ *
+ * @param array $matchedContent
+ * @param LocalInterface $asset
+ * @param string $contentType
+ * @return string
+ */
+ protected function replace(array $matchedContent, \Magento\Framework\View\Asset\LocalInterface $asset, $contentType)
+ {
+ }
+ /**
+ * Resolve extension of imported asset according to exact format
+ *
+ * @param string $fileId
+ * @param string $contentType
+ * @return string
+ * @link http://lesscss.org/features/#import-directives-feature-file-extensions
+ */
+ protected function fixFileExtension($fileId, $contentType)
+ {
+ }
+ }
+ /**
+ * @magento_import instruction preprocessor
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects) Must be deleted after moving themeProvider to construct
+ */
+ class MagentoImport implements \Magento\Framework\View\Asset\PreProcessorInterface, \Magento\Framework\ObjectManager\ResetAfterRequestInterface
+ {
+ /**
+ * PCRE pattern that matches @magento_import instruction
+ */
+ public const REPLACE_PATTERN = '#//@magento_import(?P\\s+\\(reference\\))?\\s+[\'\\"](?P(?![/\\\\]|\\w:[/\\\\])[^\\"\']+)[\'\\"]\\s*?;#';
+ /**
+ * @var DesignInterface
+ */
+ protected $design;
+ /**
+ * @var CollectorInterface
+ */
+ protected $fileSource;
+ /**
+ * @var ErrorHandlerInterface
+ */
+ protected $errorHandler;
+ /**
+ * @var \Magento\Framework\View\Asset\Repository
+ */
+ protected $assetRepo;
+ /**
+ * @var \Magento\Framework\View\Design\Theme\ListInterface
+ * @deprecated 100.0.2
+ * @see not used
+ */
+ protected $themeList;
+ /**
+ * @param DesignInterface $design
+ * @param CollectorInterface $fileSource
+ * @param ErrorHandlerInterface $errorHandler
+ * @param \Magento\Framework\View\Asset\Repository $assetRepo
+ * @param \Magento\Framework\View\Design\Theme\ListInterface $themeList
+ */
+ public function __construct(\Magento\Framework\View\DesignInterface $design, \Magento\Framework\View\File\CollectorInterface $fileSource, \Magento\Framework\Css\PreProcessor\ErrorHandlerInterface $errorHandler, \Magento\Framework\View\Asset\Repository $assetRepo, \Magento\Framework\View\Design\Theme\ListInterface $themeList)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function process(\Magento\Framework\View\Asset\PreProcessor\Chain $chain)
+ {
+ }
+ /**
+ * Replace @magento_import to @import instructions
+ *
+ * @param array $matchedContent
+ * @param LocalInterface $asset
+ * @return string
+ */
+ protected function replace(array $matchedContent, \Magento\Framework\View\Asset\LocalInterface $asset)
+ {
+ }
+ /**
+ * Get theme model based on the information from asset
+ *
+ * @param LocalInterface $asset
+ * @return \Magento\Framework\View\Design\ThemeInterface
+ */
+ protected function getTheme(\Magento\Framework\View\Asset\LocalInterface $asset)
+ {
+ }
+ /**
+ * @inheritDoc
+ */
+ public function _resetState() : void
+ {
+ }
+ }
+}
+namespace Magento\Framework\Css\PreProcessor\FileGenerator {
+ /**
+ * Class RelatedGenerator
+ */
+ class RelatedGenerator
+ {
+ /**
+ * @param Repository $assetRepository
+ * @param Temporary $temporaryFile
+ */
+ public function __construct(\Magento\Framework\View\Asset\Repository $assetRepository, \Magento\Framework\Css\PreProcessor\File\Temporary $temporaryFile)
+ {
+ }
+ /**
+ * Create all asset files, referenced from already processed ones
+ *
+ * @param Import $importGenerator
+ *
+ * @return void
+ */
+ public function generate(\Magento\Framework\Css\PreProcessor\Instruction\Import $importGenerator)
+ {
+ }
+ /**
+ * Create file, referenced relatively to an asset
+ *
+ * @param string $relatedFileId
+ * @param LocalInterface $asset
+ * @return \Magento\Framework\View\Asset\File
+ */
+ protected function generateRelatedFile($relatedFileId, \Magento\Framework\View\Asset\LocalInterface $asset)
+ {
+ }
+ }
+}
+namespace Magento\Framework\Css\PreProcessor\Adapter {
+ /**
+ * This class will inline the css of an html to each tag to be used for applications such as a styled email.
+ */
+ class CssInliner
+ {
+ /**
+ * @param State $appState
+ */
+ public function __construct(\Magento\Framework\App\State $appState)
+ {
+ }
+ /**
+ * Sets the HTML to be used with the css. This method should be used with setCss.
+ *
+ * @param string $html
+ * @return void
+ */
+ public function setHtml($html)
+ {
+ }
+ /**
+ * Sets the CSS to be merged with the HTML. This method should be used with setHtml.
+ *
+ * @param string $css
+ * @return void
+ */
+ public function setCss($css)
+ {
+ }
+ /**
+ * Disables the parsing of