/
dimamir
/
Wsdl_PackageGenerator
Обзор
Документация
Войти
/
dimamir
/
Wsdl_PackageGenerator
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
tests/resources/generated/ValidApiArrayOfString.php
143 строки
4 KB
Mikaël DELSOL
issue #274 - Fix validation on scalar contained by array
20 фев 2023, 19:55
Не верифицирован
20 фев 2023, 19:55
a31d48e
Код
Авторство
О чём код?
<?php declare(strict_types=1); namespace ArrayType; use InvalidArgumentException; use WsdlToPhp\PackageBase\AbstractStructArrayBase; /** * This class stands for ArrayOfString ArrayType * @package Api * @subpackage Arrays * @release 1.1.0 */ class ApiArrayOfString extends AbstractStructArrayBase { /** * The string * Meta information extracted from the WSDL * - maxOccurs: unbounded * - minOccurs: 0 * @var string[] */ protected ?array $string = null; /** * Constructor method for ArrayOfString * @uses ApiArrayOfString::setString() * @param string[] $string */ public function __construct(?array $string = null) { $this ->setString($string); } /** * Get string value * @return string[] */ public function getString(): ?array { return $this->string; } /** * This method is responsible for validating the value(s) passed to the setString method * This method is willingly generated in order to preserve the one-line inline validation within the setString method * This has to validate that each item contained by the array match the itemType constraint * @param array $values * @return string A non-empty message if the values does not match the validation rules */ public static function validateStringForArrayConstraintFromSetString(?array $values = []): string { if (!is_array($values)) { return ''; } $message = ''; $invalidValues = []; foreach ($values as $arrayOfStringStringItem) { // validation for constraint: itemType if (!is_string($arrayOfStringStringItem)) { $invalidValues[] = is_object($arrayOfStringStringItem) ? get_class($arrayOfStringStringItem) : sprintf('%s(%s)', gettype($arrayOfStringStringItem), var_export($arrayOfStringStringItem, true)); } } if (!empty($invalidValues)) { $message = sprintf('The string property can only contain items of type string, %s given', is_object($invalidValues) ? get_class($invalidValues) : (is_array($invalidValues) ? implode(', ', $invalidValues) : gettype($invalidValues))); } unset($invalidValues); return $message; } /** * Set string value * @throws InvalidArgumentException * @param string[] $string * @return \ArrayType\ApiArrayOfString */ public function setString(?array $string = null): self { // validation for constraint: array if ('' !== ($stringArrayErrorMessage = self::validateStringForArrayConstraintFromSetString($string))) { throw new InvalidArgumentException($stringArrayErrorMessage, __LINE__); } $this->string = $string; return $this; } /** * Returns the current element * @see AbstractStructArrayBase::current() * @return string|null */ public function current(): ?string { return parent::current(); } /** * Returns the indexed element * @see AbstractStructArrayBase::item() * @param int $index * @return string|null */ public function item($index): ?string { return parent::item($index); } /** * Returns the first element * @see AbstractStructArrayBase::first() * @return string|null */ public function first(): ?string { return parent::first(); } /** * Returns the last element * @see AbstractStructArrayBase::last() * @return string|null */ public function last(): ?string { return parent::last(); } /** * Returns the element at the offset * @see AbstractStructArrayBase::offsetGet() * @param int $offset * @return string|null */ public function offsetGet($offset): ?string { return parent::offsetGet($offset); } /** * Returns the attribute name * @see AbstractStructArrayBase::getAttributeName() * @return string string */ public function getAttributeName(): string { return 'string'; } }