Completed
Pull Request — master (#6)
by Veaceslav
11:19
created

ComponentsBuilder::getSchemas()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Aweapi\Openapi\Builders;
6
7
use Aweapi\Openapi\Objects;
8
9
final class ComponentsBuilder implements Objects\ComponentsFactory
10
{
11
    use Properties\OptionalExtensions;
12
13
    private $callbacks;
14
15
    private $examples;
16
17
    private $headers;
18
19
    private $links;
20
21
    private $parameters;
22
23
    private $requestBodies;
24
25
    private $responses;
26
27
    private $schemas;
28
29
    private $securitySchemes;
30
31
    public function createComponents(): Objects\Components
32
    {
33
        return new Objects\Components(
34
            $this->getSchemas() ? $this->getSchemas()->createSchemas() : null,
35
            $this->getResponses() ? $this->getResponses()->createResponses() : null,
36
            $this->getParameters() ? $this->getParameters()->createParameters() : null,
37
            $this->getRequestBodies() ? $this->getRequestBodies()->createRequestBodies() : null,
38
            $this->getHeaders() ? $this->getHeaders()->createHeaders() : null,
39
            null,
40
            $this->getLinks() ? $this->getLinks()->createLinks() : null,
41
            $this->getCallbacks() ? $this->getCallbacks()->createCallbackRequests() : null,
42
            $this->getExample() ? $this->getExample()->createExamples() : null,
43
            $this->getExtensions()
44
        );
45
    }
46
47
    public function setCallbacks(Objects\CallbackRequestsFactory $callbacks): self
48
    {
49
        $this->callbacks = $callbacks;
50
51
        return $this;
52
    }
53
54
    public function setExamples(Objects\ExamplesFactory $examples): self
55
    {
56
        $this->examples = $examples;
57
58
        return $this;
59
    }
60
61
    public function setHeaders(Objects\HeadersFactory $headers): self
62
    {
63
        $this->headers = $headers;
64
65
        return $this;
66
    }
67
68
    public function setLinks(Objects\LinksFactory $links): self
69
    {
70
        $this->links = $links;
71
72
        return $this;
73
    }
74
75
    public function setParameters(Objects\ParametersFactory $parameters): self
76
    {
77
        $this->parameters = $parameters;
78
79
        return $this;
80
    }
81
82
    public function setRequestBodies(Objects\RequestBodiesFactory $requestBodies): self
83
    {
84
        $this->requestBodies = $requestBodies;
85
86
        return $this;
87
    }
88
89
    public function setResponses(Objects\ResponsesFactory $responses): self
90
    {
91
        $this->responses = $responses;
92
93
        return $this;
94
    }
95
96
    public function setSchemas(Objects\SchemasFactory $schemas): self
97
    {
98
        $this->schemas = $schemas;
99
100
        return $this;
101
    }
102
103
    private function getCallbacks(): ?Objects\CallbackRequestsFactory
104
    {
105
        return $this->callbacks;
106
    }
107
108
    private function getExample(): ?Objects\ExamplesFactory
109
    {
110
        return $this->examples;
111
    }
112
113
    private function getHeaders(): ?Objects\HeadersFactory
114
    {
115
        return $this->headers;
116
    }
117
118
    private function getLinks(): ?Objects\LinksFactory
119
    {
120
        return $this->links;
121
    }
122
123
    private function getParameters(): ?Objects\ParametersFactory
124
    {
125
        return $this->parameters;
126
    }
127
128
    private function getRequestBodies(): ?Objects\RequestBodiesFactory
129
    {
130
        return $this->requestBodies;
131
    }
132
133
    private function getResponses(): ?Objects\ResponsesFactory
134
    {
135
        return $this->responses;
136
    }
137
138
    private function getSchemas(): ?Objects\SchemasFactory
139
    {
140
        return $this->schemas;
141
    }
142
}
143