blob: db37ffb0194e4a6aa3c66192ffa01b85ececdad0 [file] [log] [blame]
avm9996399bb77c2020-01-27 03:15:08 +01001<?php
2# Generated by the protocol buffer compiler. DO NOT EDIT!
3# source: google/protobuf/api.proto
4
5namespace Google\Protobuf;
6
7use Google\Protobuf\Internal\GPBType;
8use Google\Protobuf\Internal\RepeatedField;
9use Google\Protobuf\Internal\GPBUtil;
10
11/**
12 * Api is a light-weight descriptor for an API Interface.
13 * Interfaces are also described as "protocol buffer services" in some contexts,
14 * such as by the "service" keyword in a .proto file, but they are different
15 * from API Services, which represent a concrete implementation of an interface
16 * as opposed to simply a description of methods and bindings. They are also
17 * sometimes simply referred to as "APIs" in other contexts, such as the name of
18 * this message itself. See https://cloud.google.com/apis/design/glossary for
19 * detailed terminology.
20 *
21 * Generated from protobuf message <code>google.protobuf.Api</code>
22 */
23class Api extends \Google\Protobuf\Internal\Message
24{
25 /**
26 * The fully qualified name of this interface, including package name
27 * followed by the interface's simple name.
28 *
29 * Generated from protobuf field <code>string name = 1;</code>
30 */
31 private $name = '';
32 /**
33 * The methods of this interface, in unspecified order.
34 *
35 * Generated from protobuf field <code>repeated .google.protobuf.Method methods = 2;</code>
36 */
37 private $methods;
38 /**
39 * Any metadata attached to the interface.
40 *
41 * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
42 */
43 private $options;
44 /**
45 * A version string for this interface. If specified, must have the form
46 * `major-version.minor-version`, as in `1.10`. If the minor version is
47 * omitted, it defaults to zero. If the entire version field is empty, the
48 * major version is derived from the package name, as outlined below. If the
49 * field is not empty, the version in the package name will be verified to be
50 * consistent with what is provided here.
51 * The versioning schema uses [semantic
52 * versioning](http://semver.org) where the major version number
53 * indicates a breaking change and the minor version an additive,
54 * non-breaking change. Both version numbers are signals to users
55 * what to expect from different versions, and should be carefully
56 * chosen based on the product plan.
57 * The major version is also reflected in the package name of the
58 * interface, which must end in `v<major-version>`, as in
59 * `google.feature.v1`. For major versions 0 and 1, the suffix can
60 * be omitted. Zero major versions must only be used for
61 * experimental, non-GA interfaces.
62 *
63 * Generated from protobuf field <code>string version = 4;</code>
64 */
65 private $version = '';
66 /**
67 * Source context for the protocol buffer service represented by this
68 * message.
69 *
70 * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
71 */
72 private $source_context = null;
73 /**
74 * Included interfaces. See [Mixin][].
75 *
76 * Generated from protobuf field <code>repeated .google.protobuf.Mixin mixins = 6;</code>
77 */
78 private $mixins;
79 /**
80 * The source syntax of the service.
81 *
82 * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
83 */
84 private $syntax = 0;
85
86 /**
87 * Constructor.
88 *
89 * @param array $data {
90 * Optional. Data for populating the Message object.
91 *
92 * @type string $name
93 * The fully qualified name of this interface, including package name
94 * followed by the interface's simple name.
95 * @type \Google\Protobuf\Method[]|\Google\Protobuf\Internal\RepeatedField $methods
96 * The methods of this interface, in unspecified order.
97 * @type \Google\Protobuf\Option[]|\Google\Protobuf\Internal\RepeatedField $options
98 * Any metadata attached to the interface.
99 * @type string $version
100 * A version string for this interface. If specified, must have the form
101 * `major-version.minor-version`, as in `1.10`. If the minor version is
102 * omitted, it defaults to zero. If the entire version field is empty, the
103 * major version is derived from the package name, as outlined below. If the
104 * field is not empty, the version in the package name will be verified to be
105 * consistent with what is provided here.
106 * The versioning schema uses [semantic
107 * versioning](http://semver.org) where the major version number
108 * indicates a breaking change and the minor version an additive,
109 * non-breaking change. Both version numbers are signals to users
110 * what to expect from different versions, and should be carefully
111 * chosen based on the product plan.
112 * The major version is also reflected in the package name of the
113 * interface, which must end in `v<major-version>`, as in
114 * `google.feature.v1`. For major versions 0 and 1, the suffix can
115 * be omitted. Zero major versions must only be used for
116 * experimental, non-GA interfaces.
117 * @type \Google\Protobuf\SourceContext $source_context
118 * Source context for the protocol buffer service represented by this
119 * message.
120 * @type \Google\Protobuf\Mixin[]|\Google\Protobuf\Internal\RepeatedField $mixins
121 * Included interfaces. See [Mixin][].
122 * @type int $syntax
123 * The source syntax of the service.
124 * }
125 */
126 public function __construct($data = NULL) {
127 \GPBMetadata\Google\Protobuf\Api::initOnce();
128 parent::__construct($data);
129 }
130
131 /**
132 * The fully qualified name of this interface, including package name
133 * followed by the interface's simple name.
134 *
135 * Generated from protobuf field <code>string name = 1;</code>
136 * @return string
137 */
138 public function getName()
139 {
140 return $this->name;
141 }
142
143 /**
144 * The fully qualified name of this interface, including package name
145 * followed by the interface's simple name.
146 *
147 * Generated from protobuf field <code>string name = 1;</code>
148 * @param string $var
149 * @return $this
150 */
151 public function setName($var)
152 {
153 GPBUtil::checkString($var, True);
154 $this->name = $var;
155
156 return $this;
157 }
158
159 /**
160 * The methods of this interface, in unspecified order.
161 *
162 * Generated from protobuf field <code>repeated .google.protobuf.Method methods = 2;</code>
163 * @return \Google\Protobuf\Internal\RepeatedField
164 */
165 public function getMethods()
166 {
167 return $this->methods;
168 }
169
170 /**
171 * The methods of this interface, in unspecified order.
172 *
173 * Generated from protobuf field <code>repeated .google.protobuf.Method methods = 2;</code>
174 * @param \Google\Protobuf\Method[]|\Google\Protobuf\Internal\RepeatedField $var
175 * @return $this
176 */
177 public function setMethods($var)
178 {
179 $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Method::class);
180 $this->methods = $arr;
181
182 return $this;
183 }
184
185 /**
186 * Any metadata attached to the interface.
187 *
188 * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
189 * @return \Google\Protobuf\Internal\RepeatedField
190 */
191 public function getOptions()
192 {
193 return $this->options;
194 }
195
196 /**
197 * Any metadata attached to the interface.
198 *
199 * Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
200 * @param \Google\Protobuf\Option[]|\Google\Protobuf\Internal\RepeatedField $var
201 * @return $this
202 */
203 public function setOptions($var)
204 {
205 $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
206 $this->options = $arr;
207
208 return $this;
209 }
210
211 /**
212 * A version string for this interface. If specified, must have the form
213 * `major-version.minor-version`, as in `1.10`. If the minor version is
214 * omitted, it defaults to zero. If the entire version field is empty, the
215 * major version is derived from the package name, as outlined below. If the
216 * field is not empty, the version in the package name will be verified to be
217 * consistent with what is provided here.
218 * The versioning schema uses [semantic
219 * versioning](http://semver.org) where the major version number
220 * indicates a breaking change and the minor version an additive,
221 * non-breaking change. Both version numbers are signals to users
222 * what to expect from different versions, and should be carefully
223 * chosen based on the product plan.
224 * The major version is also reflected in the package name of the
225 * interface, which must end in `v<major-version>`, as in
226 * `google.feature.v1`. For major versions 0 and 1, the suffix can
227 * be omitted. Zero major versions must only be used for
228 * experimental, non-GA interfaces.
229 *
230 * Generated from protobuf field <code>string version = 4;</code>
231 * @return string
232 */
233 public function getVersion()
234 {
235 return $this->version;
236 }
237
238 /**
239 * A version string for this interface. If specified, must have the form
240 * `major-version.minor-version`, as in `1.10`. If the minor version is
241 * omitted, it defaults to zero. If the entire version field is empty, the
242 * major version is derived from the package name, as outlined below. If the
243 * field is not empty, the version in the package name will be verified to be
244 * consistent with what is provided here.
245 * The versioning schema uses [semantic
246 * versioning](http://semver.org) where the major version number
247 * indicates a breaking change and the minor version an additive,
248 * non-breaking change. Both version numbers are signals to users
249 * what to expect from different versions, and should be carefully
250 * chosen based on the product plan.
251 * The major version is also reflected in the package name of the
252 * interface, which must end in `v<major-version>`, as in
253 * `google.feature.v1`. For major versions 0 and 1, the suffix can
254 * be omitted. Zero major versions must only be used for
255 * experimental, non-GA interfaces.
256 *
257 * Generated from protobuf field <code>string version = 4;</code>
258 * @param string $var
259 * @return $this
260 */
261 public function setVersion($var)
262 {
263 GPBUtil::checkString($var, True);
264 $this->version = $var;
265
266 return $this;
267 }
268
269 /**
270 * Source context for the protocol buffer service represented by this
271 * message.
272 *
273 * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
274 * @return \Google\Protobuf\SourceContext
275 */
276 public function getSourceContext()
277 {
278 return $this->source_context;
279 }
280
281 /**
282 * Source context for the protocol buffer service represented by this
283 * message.
284 *
285 * Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
286 * @param \Google\Protobuf\SourceContext $var
287 * @return $this
288 */
289 public function setSourceContext($var)
290 {
291 GPBUtil::checkMessage($var, \Google\Protobuf\SourceContext::class);
292 $this->source_context = $var;
293
294 return $this;
295 }
296
297 /**
298 * Included interfaces. See [Mixin][].
299 *
300 * Generated from protobuf field <code>repeated .google.protobuf.Mixin mixins = 6;</code>
301 * @return \Google\Protobuf\Internal\RepeatedField
302 */
303 public function getMixins()
304 {
305 return $this->mixins;
306 }
307
308 /**
309 * Included interfaces. See [Mixin][].
310 *
311 * Generated from protobuf field <code>repeated .google.protobuf.Mixin mixins = 6;</code>
312 * @param \Google\Protobuf\Mixin[]|\Google\Protobuf\Internal\RepeatedField $var
313 * @return $this
314 */
315 public function setMixins($var)
316 {
317 $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Mixin::class);
318 $this->mixins = $arr;
319
320 return $this;
321 }
322
323 /**
324 * The source syntax of the service.
325 *
326 * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
327 * @return int
328 */
329 public function getSyntax()
330 {
331 return $this->syntax;
332 }
333
334 /**
335 * The source syntax of the service.
336 *
337 * Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
338 * @param int $var
339 * @return $this
340 */
341 public function setSyntax($var)
342 {
343 GPBUtil::checkEnum($var, \Google\Protobuf\Syntax::class);
344 $this->syntax = $var;
345
346 return $this;
347 }
348
349}
350