001package io.ebeaninternal.dbmigration.migration;
002
003import javax.xml.bind.annotation.XmlAccessType;
004import javax.xml.bind.annotation.XmlAccessorType;
005import javax.xml.bind.annotation.XmlAttribute;
006import javax.xml.bind.annotation.XmlElement;
007import javax.xml.bind.annotation.XmlRootElement;
008import javax.xml.bind.annotation.XmlSchemaType;
009import javax.xml.bind.annotation.XmlType;
010import java.math.BigInteger;
011import java.util.ArrayList;
012import java.util.List;
013
014
015/**
016 * <p>Java class for anonymous complex type.
017 *
018 * <p>The following schema fragment specifies the expected content contained within this class.
019 *
020 * <pre>
021 * &lt;complexType>
022 *   &lt;complexContent>
023 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
024 *       &lt;sequence>
025 *         &lt;element ref="{http://ebean-orm.github.io/xml/ns/dbmigration}column" maxOccurs="unbounded"/>
026 *         &lt;element ref="{http://ebean-orm.github.io/xml/ns/dbmigration}uniqueConstraint" maxOccurs="unbounded" minOccurs="0"/>
027 *         &lt;element ref="{http://ebean-orm.github.io/xml/ns/dbmigration}foreignKey" maxOccurs="unbounded" minOccurs="0"/>
028 *       &lt;/sequence>
029 *       &lt;attGroup ref="{http://ebean-orm.github.io/xml/ns/dbmigration}tablespaceAttributes"/>
030 *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
031 *       &lt;attribute name="partitionMode" type="{http://www.w3.org/2001/XMLSchema}string" />
032 *       &lt;attribute name="partitionColumn" type="{http://www.w3.org/2001/XMLSchema}string" />
033 *       &lt;attribute name="withHistory" type="{http://www.w3.org/2001/XMLSchema}boolean" />
034 *       &lt;attribute name="draft" type="{http://www.w3.org/2001/XMLSchema}boolean" />
035 *       &lt;attribute name="identityType" type="{http://ebean-orm.github.io/xml/ns/dbmigration}identityType" />
036 *       &lt;attribute name="identityStart" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
037 *       &lt;attribute name="identityIncrement" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
038 *       &lt;attribute name="identityCache" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
039 *       &lt;attribute name="identityGenerated" type="{http://www.w3.org/2001/XMLSchema}string" />
040 *       &lt;attribute name="sequenceName" type="{http://www.w3.org/2001/XMLSchema}string" />
041 *       &lt;attribute name="sequenceInitial" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
042 *       &lt;attribute name="sequenceAllocate" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
043 *       &lt;attribute name="pkName" type="{http://www.w3.org/2001/XMLSchema}string" />
044 *       &lt;attribute name="storageEngine" type="{http://www.w3.org/2001/XMLSchema}string" />
045 *     &lt;/restriction>
046 *   &lt;/complexContent>
047 * &lt;/complexType>
048 * </pre>
049 */
050@XmlAccessorType(XmlAccessType.FIELD)
051@XmlType(name = "", propOrder = {
052  "column",
053  "uniqueConstraint",
054  "foreignKey"
055})
056@XmlRootElement(name = "createTable")
057public class CreateTable {
058
059  @XmlElement(required = true)
060  protected List<Column> column;
061  protected List<UniqueConstraint> uniqueConstraint;
062  protected List<ForeignKey> foreignKey;
063  @XmlAttribute(name = "name", required = true)
064  protected String name;
065  @XmlAttribute(name = "partitionMode")
066  protected String partitionMode;
067  @XmlAttribute(name = "partitionColumn")
068  protected String partitionColumn;
069  @XmlAttribute(name = "withHistory")
070  protected Boolean withHistory;
071  @XmlAttribute(name = "draft")
072  protected Boolean draft;
073  @XmlAttribute(name = "identityType")
074  protected IdentityType identityType;
075  @XmlAttribute(name = "identityStart")
076  @XmlSchemaType(name = "positiveInteger")
077  protected BigInteger identityStart;
078  @XmlAttribute(name = "identityIncrement")
079  @XmlSchemaType(name = "positiveInteger")
080  protected BigInteger identityIncrement;
081  @XmlAttribute(name = "identityCache")
082  @XmlSchemaType(name = "positiveInteger")
083  protected BigInteger identityCache;
084  @XmlAttribute(name = "identityGenerated")
085  protected String identityGenerated;
086  @XmlAttribute(name = "sequenceName")
087  protected String sequenceName;
088  @XmlAttribute(name = "sequenceInitial")
089  @XmlSchemaType(name = "positiveInteger")
090  protected BigInteger sequenceInitial;
091  @XmlAttribute(name = "sequenceAllocate")
092  @XmlSchemaType(name = "positiveInteger")
093  protected BigInteger sequenceAllocate;
094  @XmlAttribute(name = "pkName")
095  protected String pkName;
096  @XmlAttribute(name = "storageEngine")
097  protected String storageEngine;
098  @XmlAttribute(name = "tablespace")
099  protected String tablespace;
100  @XmlAttribute(name = "indexTablespace")
101  protected String indexTablespace;
102  @XmlAttribute(name = "lobTablespace")
103  protected String lobTablespace;
104  @XmlAttribute(name = "comment")
105  protected String comment;
106
107  /**
108   * Gets the value of the column property.
109   *
110   * <p>
111   * This accessor method returns a reference to the live list,
112   * not a snapshot. Therefore any modification you make to the
113   * returned list will be present inside the JAXB object.
114   * This is why there is not a <CODE>set</CODE> method for the column property.
115   *
116   * <p>
117   * For example, to add a new item, do as follows:
118   * <pre>
119   *    getColumn().add(newItem);
120   * </pre>
121   *
122   *
123   * <p>
124   * Objects of the following type(s) are allowed in the list
125   * {@link Column }
126   */
127  public List<Column> getColumn() {
128    if (column == null) {
129      column = new ArrayList<>();
130    }
131    return this.column;
132  }
133
134  /**
135   * Gets the value of the uniqueConstraint property.
136   *
137   * <p>
138   * This accessor method returns a reference to the live list,
139   * not a snapshot. Therefore any modification you make to the
140   * returned list will be present inside the JAXB object.
141   * This is why there is not a <CODE>set</CODE> method for the uniqueConstraint property.
142   *
143   * <p>
144   * For example, to add a new item, do as follows:
145   * <pre>
146   *    getUniqueConstraint().add(newItem);
147   * </pre>
148   *
149   *
150   * <p>
151   * Objects of the following type(s) are allowed in the list
152   * {@link UniqueConstraint }
153   */
154  public List<UniqueConstraint> getUniqueConstraint() {
155    if (uniqueConstraint == null) {
156      uniqueConstraint = new ArrayList<>();
157    }
158    return this.uniqueConstraint;
159  }
160
161  /**
162   * Gets the value of the foreignKey property.
163   *
164   * <p>
165   * This accessor method returns a reference to the live list,
166   * not a snapshot. Therefore any modification you make to the
167   * returned list will be present inside the JAXB object.
168   * This is why there is not a <CODE>set</CODE> method for the foreignKey property.
169   *
170   * <p>
171   * For example, to add a new item, do as follows:
172   * <pre>
173   *    getForeignKey().add(newItem);
174   * </pre>
175   *
176   *
177   * <p>
178   * Objects of the following type(s) are allowed in the list
179   * {@link ForeignKey }
180   */
181  public List<ForeignKey> getForeignKey() {
182    if (foreignKey == null) {
183      foreignKey = new ArrayList<>();
184    }
185    return this.foreignKey;
186  }
187
188  /**
189   * Gets the value of the name property.
190   *
191   * @return possible object is
192   * {@link String }
193   */
194  public String getName() {
195    return name;
196  }
197
198  /**
199   * Sets the value of the name property.
200   *
201   * @param value allowed object is
202   *              {@link String }
203   */
204  public void setName(String value) {
205    this.name = value;
206  }
207
208  /**
209   * Gets the value of the partitionMode property.
210   *
211   * @return possible object is
212   * {@link String }
213   */
214  public String getPartitionMode() {
215    return partitionMode;
216  }
217
218  /**
219   * Sets the value of the partitionMode property.
220   *
221   * @param value allowed object is
222   *              {@link String }
223   */
224  public void setPartitionMode(String value) {
225    this.partitionMode = value;
226  }
227
228  /**
229   * Gets the value of the partitionColumn property.
230   *
231   * @return possible object is
232   * {@link String }
233   */
234  public String getPartitionColumn() {
235    return partitionColumn;
236  }
237
238  /**
239   * Sets the value of the partitionColumn property.
240   *
241   * @param value allowed object is
242   *              {@link String }
243   */
244  public void setPartitionColumn(String value) {
245    this.partitionColumn = value;
246  }
247
248  /**
249   * Gets the value of the withHistory property.
250   *
251   * @return possible object is
252   * {@link Boolean }
253   */
254  public Boolean isWithHistory() {
255    return withHistory;
256  }
257
258  /**
259   * Sets the value of the withHistory property.
260   *
261   * @param value allowed object is
262   *              {@link Boolean }
263   */
264  public void setWithHistory(Boolean value) {
265    this.withHistory = value;
266  }
267
268  /**
269   * Gets the value of the draft property.
270   *
271   * @return possible object is
272   * {@link Boolean }
273   */
274  public Boolean isDraft() {
275    return draft;
276  }
277
278  /**
279   * Sets the value of the draft property.
280   *
281   * @param value allowed object is
282   *              {@link Boolean }
283   */
284  public void setDraft(Boolean value) {
285    this.draft = value;
286  }
287
288  /**
289   * Gets the value of the identityType property.
290   *
291   * @return possible object is
292   * {@link IdentityType }
293   */
294  public IdentityType getIdentityType() {
295    return identityType;
296  }
297
298  /**
299   * Sets the value of the identityType property.
300   *
301   * @param value allowed object is
302   *              {@link IdentityType }
303   */
304  public void setIdentityType(IdentityType value) {
305    this.identityType = value;
306  }
307
308  /**
309   * Gets the value of the identityStart property.
310   *
311   * @return possible object is
312   * {@link BigInteger }
313   */
314  public BigInteger getIdentityStart() {
315    return identityStart;
316  }
317
318  /**
319   * Sets the value of the identityStart property.
320   *
321   * @param value allowed object is
322   *              {@link BigInteger }
323   */
324  public void setIdentityStart(BigInteger value) {
325    this.identityStart = value;
326  }
327
328  /**
329   * Gets the value of the identityIncrement property.
330   *
331   * @return possible object is
332   * {@link BigInteger }
333   */
334  public BigInteger getIdentityIncrement() {
335    return identityIncrement;
336  }
337
338  /**
339   * Sets the value of the identityIncrement property.
340   *
341   * @param value allowed object is
342   *              {@link BigInteger }
343   */
344  public void setIdentityIncrement(BigInteger value) {
345    this.identityIncrement = value;
346  }
347
348  /**
349   * Gets the value of the identityCache property.
350   *
351   * @return possible object is
352   * {@link BigInteger }
353   */
354  public BigInteger getIdentityCache() {
355    return identityCache;
356  }
357
358  /**
359   * Sets the value of the identityCache property.
360   *
361   * @param value allowed object is
362   *              {@link BigInteger }
363   */
364  public void setIdentityCache(BigInteger value) {
365    this.identityCache = value;
366  }
367
368  /**
369   * Gets the value of the identityGenerated property.
370   *
371   * @return possible object is
372   * {@link String }
373   */
374  public String getIdentityGenerated() {
375    return identityGenerated;
376  }
377
378  /**
379   * Sets the value of the identityGenerated property.
380   *
381   * @param value allowed object is
382   *              {@link String }
383   */
384  public void setIdentityGenerated(String value) {
385    this.identityGenerated = value;
386  }
387
388  /**
389   * Gets the value of the sequenceName property.
390   *
391   * @return possible object is
392   * {@link String }
393   */
394  public String getSequenceName() {
395    return sequenceName;
396  }
397
398  /**
399   * Sets the value of the sequenceName property.
400   *
401   * @param value allowed object is
402   *              {@link String }
403   */
404  public void setSequenceName(String value) {
405    this.sequenceName = value;
406  }
407
408  /**
409   * Gets the value of the sequenceInitial property.
410   *
411   * @return possible object is
412   * {@link BigInteger }
413   */
414  public BigInteger getSequenceInitial() {
415    return sequenceInitial;
416  }
417
418  /**
419   * Sets the value of the sequenceInitial property.
420   *
421   * @param value allowed object is
422   *              {@link BigInteger }
423   */
424  public void setSequenceInitial(BigInteger value) {
425    this.sequenceInitial = value;
426  }
427
428  /**
429   * Gets the value of the sequenceAllocate property.
430   *
431   * @return possible object is
432   * {@link BigInteger }
433   */
434  public BigInteger getSequenceAllocate() {
435    return sequenceAllocate;
436  }
437
438  /**
439   * Sets the value of the sequenceAllocate property.
440   *
441   * @param value allowed object is
442   *              {@link BigInteger }
443   */
444  public void setSequenceAllocate(BigInteger value) {
445    this.sequenceAllocate = value;
446  }
447
448  /**
449   * Gets the value of the pkName property.
450   *
451   * @return possible object is
452   * {@link String }
453   */
454  public String getPkName() {
455    return pkName;
456  }
457
458  /**
459   * Sets the value of the pkName property.
460   *
461   * @param value allowed object is
462   *              {@link String }
463   */
464  public void setPkName(String value) {
465    this.pkName = value;
466  }
467
468  /**
469   * Gets the value of the storageEngine property.
470   *
471   * @return possible object is
472   * {@link String }
473   */
474  public String getStorageEngine() {
475    return storageEngine;
476  }
477
478  /**
479   * Sets the value of the storageEngine property.
480   *
481   * @param value allowed object is
482   *              {@link String }
483   */
484  public void setStorageEngine(String value) {
485    this.storageEngine = value;
486  }
487
488  /**
489   * Gets the value of the tablespace property.
490   *
491   * @return possible object is
492   * {@link String }
493   */
494  public String getTablespace() {
495    return tablespace;
496  }
497
498  /**
499   * Sets the value of the tablespace property.
500   *
501   * @param value allowed object is
502   *              {@link String }
503   */
504  public void setTablespace(String value) {
505    this.tablespace = value;
506  }
507
508  /**
509   * Gets the value of the indexTablespace property.
510   *
511   * @return possible object is
512   * {@link String }
513   */
514  public String getIndexTablespace() {
515    return indexTablespace;
516  }
517
518  /**
519   * Sets the value of the indexTablespace property.
520   *
521   * @param value allowed object is
522   *              {@link String }
523   */
524  public void setIndexTablespace(String value) {
525    this.indexTablespace = value;
526  }
527  
528  /**
529   * Gets the value of the lobTablespace property.
530   *
531   * @return possible object is
532   * {@link String }
533   */
534  public String getLobTablespace() {
535    return lobTablespace;
536  }
537
538  /**
539   * Sets the value of the lobTablespace property.
540   *
541   * @param value allowed object is
542   *              {@link String }
543   */
544  public void setLobTablespace(String value) {
545    this.lobTablespace = value;
546  }
547
548  /**
549   * Gets the value of the comment property.
550   *
551   * @return possible object is
552   * {@link String }
553   */
554  public String getComment() {
555    return comment;
556  }
557
558  /**
559   * Sets the value of the comment property.
560   *
561   * @param value allowed object is
562   *              {@link String }
563   */
564  public void setComment(String value) {
565    this.comment = value;
566  }
567
568}