1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service\Bigquery;
19
20class TableFieldSchema extends \Google\Collection
21{
22  protected $collection_key = 'fields';
23  protected $categoriesType = TableFieldSchemaCategories::class;
24  protected $categoriesDataType = '';
25  /**
26   * @var string
27   */
28  public $collationSpec;
29  /**
30   * @var string
31   */
32  public $description;
33  protected $fieldsType = TableFieldSchema::class;
34  protected $fieldsDataType = 'array';
35  /**
36   * @var string
37   */
38  public $maxLength;
39  /**
40   * @var string
41   */
42  public $mode;
43  /**
44   * @var string
45   */
46  public $name;
47  protected $policyTagsType = TableFieldSchemaPolicyTags::class;
48  protected $policyTagsDataType = '';
49  /**
50   * @var string
51   */
52  public $precision;
53  /**
54   * @var string
55   */
56  public $scale;
57  /**
58   * @var string
59   */
60  public $type;
61
62  /**
63   * @param TableFieldSchemaCategories
64   */
65  public function setCategories(TableFieldSchemaCategories $categories)
66  {
67    $this->categories = $categories;
68  }
69  /**
70   * @return TableFieldSchemaCategories
71   */
72  public function getCategories()
73  {
74    return $this->categories;
75  }
76  /**
77   * @param string
78   */
79  public function setCollationSpec($collationSpec)
80  {
81    $this->collationSpec = $collationSpec;
82  }
83  /**
84   * @return string
85   */
86  public function getCollationSpec()
87  {
88    return $this->collationSpec;
89  }
90  /**
91   * @param string
92   */
93  public function setDescription($description)
94  {
95    $this->description = $description;
96  }
97  /**
98   * @return string
99   */
100  public function getDescription()
101  {
102    return $this->description;
103  }
104  /**
105   * @param TableFieldSchema[]
106   */
107  public function setFields($fields)
108  {
109    $this->fields = $fields;
110  }
111  /**
112   * @return TableFieldSchema[]
113   */
114  public function getFields()
115  {
116    return $this->fields;
117  }
118  /**
119   * @param string
120   */
121  public function setMaxLength($maxLength)
122  {
123    $this->maxLength = $maxLength;
124  }
125  /**
126   * @return string
127   */
128  public function getMaxLength()
129  {
130    return $this->maxLength;
131  }
132  /**
133   * @param string
134   */
135  public function setMode($mode)
136  {
137    $this->mode = $mode;
138  }
139  /**
140   * @return string
141   */
142  public function getMode()
143  {
144    return $this->mode;
145  }
146  /**
147   * @param string
148   */
149  public function setName($name)
150  {
151    $this->name = $name;
152  }
153  /**
154   * @return string
155   */
156  public function getName()
157  {
158    return $this->name;
159  }
160  /**
161   * @param TableFieldSchemaPolicyTags
162   */
163  public function setPolicyTags(TableFieldSchemaPolicyTags $policyTags)
164  {
165    $this->policyTags = $policyTags;
166  }
167  /**
168   * @return TableFieldSchemaPolicyTags
169   */
170  public function getPolicyTags()
171  {
172    return $this->policyTags;
173  }
174  /**
175   * @param string
176   */
177  public function setPrecision($precision)
178  {
179    $this->precision = $precision;
180  }
181  /**
182   * @return string
183   */
184  public function getPrecision()
185  {
186    return $this->precision;
187  }
188  /**
189   * @param string
190   */
191  public function setScale($scale)
192  {
193    $this->scale = $scale;
194  }
195  /**
196   * @return string
197   */
198  public function getScale()
199  {
200    return $this->scale;
201  }
202  /**
203   * @param string
204   */
205  public function setType($type)
206  {
207    $this->type = $type;
208  }
209  /**
210   * @return string
211   */
212  public function getType()
213  {
214    return $this->type;
215  }
216}
217
218// Adding a class alias for backwards compatibility with the previous class name.
219class_alias(TableFieldSchema::class, 'Google_Service_Bigquery_TableFieldSchema');
220