Completed
Pull Request — master (#3407)
by Antoine
05:48
created

Parameter   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 33
c 1
b 0
f 0
dl 0
loc 39
rs 10
wmc 6

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 23 6
1
<?php
2
3
/*
4
 * This file is part of the API Platform project.
5
 *
6
 * (c) Kévin Dunglas <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace ApiPlatform\Core\OpenApi;
15
16
class Parameter
17
{
18
    private $name;
19
    private $in;
20
    private $description;
21
    private $required;
22
    private $deprecated;
23
    private $allowEmptyValue;
24
    private $schema;
25
    private $explode;
26
    private $allowReserved;
27
    private $style;
28
    private $example;
29
    private $examples;
30
    private $content;
31
32
    public function __construct(string $name, string $in, string $description = '', bool $required = false, bool $deprecated = false, bool $allowEmptyValue = false, array $schema = [], string $style = null, bool $explode = false, bool $allowReserved = false, $example = null, $examples = [], array $content = [])
33
    {
34
        $this->name = $name;
35
        $this->in = $in;
36
        $this->description = $description;
37
        $this->required = $required;
38
        $this->deprecated = $deprecated;
39
        $this->allowEmptyValue = $allowEmptyValue;
40
        $this->schema = $schema;
41
        $this->explode = $explode;
42
        $this->allowReserved = $allowReserved;
43
        $this->example = $example;
44
        $this->examples = $examples;
45
        $this->content = $content;
46
47
        if ($style === null) {
48
            if ($in === 'query' || $in === 'cookie') {
49
                $this->style = 'form';
50
            } else if ($in === 'path' || $in === 'header') {
51
                $this->style = 'simple';
52
            }
53
        } else {
54
            $this->style = $style;
55
        }
56
    }
57
}
58