001//
002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 
003// See <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> 
004// Any modifications to this file will be lost upon recompilation of the source schema. 
005// Generated on: 2018.12.10 at 03:02:30 PM PST 
006//
007
008
009package org.microbean.jpa.jaxb;
010
011import java.util.ArrayList;
012import java.util.List;
013import javax.xml.bind.annotation.XmlAccessType;
014import javax.xml.bind.annotation.XmlAccessorType;
015import javax.xml.bind.annotation.XmlAttribute;
016import javax.xml.bind.annotation.XmlElement;
017import javax.xml.bind.annotation.XmlType;
018
019
020/**
021 * 
022 * 
023 *         @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
024 *         public @interface TableGenerator {
025 *           String name();
026 *           String table() default "";
027 *           String catalog() default "";
028 *           String schema() default "";
029 *           String pkColumnName() default "";
030 *           String valueColumnName() default "";
031 *           String pkColumnValue() default "";
032 *           int initialValue() default 0;
033 *           int allocationSize() default 50;
034 *           UniqueConstraint[] uniqueConstraints() default {};
035 *           Indexes[] indexes() default {};
036 *         }
037 * 
038 *       
039 * 
040 * <p>Java class for table-generator complex type.
041 * 
042 * <p>The following schema fragment specifies the expected content contained within this class.
043 * 
044 * <pre>
045 * &lt;complexType name="table-generator"&gt;
046 *   &lt;complexContent&gt;
047 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
048 *       &lt;sequence&gt;
049 *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
050 *         &lt;element name="unique-constraint" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}unique-constraint" maxOccurs="unbounded" minOccurs="0"/&gt;
051 *         &lt;element name="index" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}index" maxOccurs="unbounded" minOccurs="0"/&gt;
052 *       &lt;/sequence&gt;
053 *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
054 *       &lt;attribute name="table" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
055 *       &lt;attribute name="catalog" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
056 *       &lt;attribute name="schema" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
057 *       &lt;attribute name="pk-column-name" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
058 *       &lt;attribute name="value-column-name" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
059 *       &lt;attribute name="pk-column-value" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
060 *       &lt;attribute name="initial-value" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
061 *       &lt;attribute name="allocation-size" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
062 *     &lt;/restriction&gt;
063 *   &lt;/complexContent&gt;
064 * &lt;/complexType&gt;
065 * </pre>
066 * 
067 * 
068 */
069@XmlAccessorType(XmlAccessType.FIELD)
070@XmlType(name = "table-generator", propOrder = {
071    "description",
072    "uniqueConstraint",
073    "index"
074})
075public class TableGenerator {
076
077    protected String description;
078    @XmlElement(name = "unique-constraint")
079    protected List<UniqueConstraint> uniqueConstraint;
080    protected List<Index> index;
081    @XmlAttribute(name = "name", required = true)
082    protected String name;
083    @XmlAttribute(name = "table")
084    protected String table;
085    @XmlAttribute(name = "catalog")
086    protected String catalog;
087    @XmlAttribute(name = "schema")
088    protected String schema;
089    @XmlAttribute(name = "pk-column-name")
090    protected String pkColumnName;
091    @XmlAttribute(name = "value-column-name")
092    protected String valueColumnName;
093    @XmlAttribute(name = "pk-column-value")
094    protected String pkColumnValue;
095    @XmlAttribute(name = "initial-value")
096    protected Integer initialValue;
097    @XmlAttribute(name = "allocation-size")
098    protected Integer allocationSize;
099
100    /**
101     * Gets the value of the description property.
102     * 
103     * @return
104     *     possible object is
105     *     {@link String }
106     *     
107     */
108    public String getDescription() {
109        return description;
110    }
111
112    /**
113     * Sets the value of the description property.
114     * 
115     * @param value
116     *     allowed object is
117     *     {@link String }
118     *     
119     */
120    public void setDescription(String value) {
121        this.description = value;
122    }
123
124    /**
125     * Gets the value of the uniqueConstraint property.
126     * 
127     * <p>
128     * This accessor method returns a reference to the live list,
129     * not a snapshot. Therefore any modification you make to the
130     * returned list will be present inside the JAXB object.
131     * This is why there is not a <CODE>set</CODE> method for the uniqueConstraint property.
132     * 
133     * <p>
134     * For example, to add a new item, do as follows:
135     * <pre>
136     *    getUniqueConstraint().add(newItem);
137     * </pre>
138     * 
139     * 
140     * <p>
141     * Objects of the following type(s) are allowed in the list
142     * {@link UniqueConstraint }
143     * 
144     * 
145     */
146    public List<UniqueConstraint> getUniqueConstraint() {
147        if (uniqueConstraint == null) {
148            uniqueConstraint = new ArrayList<UniqueConstraint>();
149        }
150        return this.uniqueConstraint;
151    }
152
153    /**
154     * Gets the value of the index property.
155     * 
156     * <p>
157     * This accessor method returns a reference to the live list,
158     * not a snapshot. Therefore any modification you make to the
159     * returned list will be present inside the JAXB object.
160     * This is why there is not a <CODE>set</CODE> method for the index property.
161     * 
162     * <p>
163     * For example, to add a new item, do as follows:
164     * <pre>
165     *    getIndex().add(newItem);
166     * </pre>
167     * 
168     * 
169     * <p>
170     * Objects of the following type(s) are allowed in the list
171     * {@link Index }
172     * 
173     * 
174     */
175    public List<Index> getIndex() {
176        if (index == null) {
177            index = new ArrayList<Index>();
178        }
179        return this.index;
180    }
181
182    /**
183     * Gets the value of the name property.
184     * 
185     * @return
186     *     possible object is
187     *     {@link String }
188     *     
189     */
190    public String getName() {
191        return name;
192    }
193
194    /**
195     * Sets the value of the name property.
196     * 
197     * @param value
198     *     allowed object is
199     *     {@link String }
200     *     
201     */
202    public void setName(String value) {
203        this.name = value;
204    }
205
206    /**
207     * Gets the value of the table property.
208     * 
209     * @return
210     *     possible object is
211     *     {@link String }
212     *     
213     */
214    public String getTable() {
215        return table;
216    }
217
218    /**
219     * Sets the value of the table property.
220     * 
221     * @param value
222     *     allowed object is
223     *     {@link String }
224     *     
225     */
226    public void setTable(String value) {
227        this.table = value;
228    }
229
230    /**
231     * Gets the value of the catalog property.
232     * 
233     * @return
234     *     possible object is
235     *     {@link String }
236     *     
237     */
238    public String getCatalog() {
239        return catalog;
240    }
241
242    /**
243     * Sets the value of the catalog property.
244     * 
245     * @param value
246     *     allowed object is
247     *     {@link String }
248     *     
249     */
250    public void setCatalog(String value) {
251        this.catalog = value;
252    }
253
254    /**
255     * Gets the value of the schema property.
256     * 
257     * @return
258     *     possible object is
259     *     {@link String }
260     *     
261     */
262    public String getSchema() {
263        return schema;
264    }
265
266    /**
267     * Sets the value of the schema property.
268     * 
269     * @param value
270     *     allowed object is
271     *     {@link String }
272     *     
273     */
274    public void setSchema(String value) {
275        this.schema = value;
276    }
277
278    /**
279     * Gets the value of the pkColumnName property.
280     * 
281     * @return
282     *     possible object is
283     *     {@link String }
284     *     
285     */
286    public String getPkColumnName() {
287        return pkColumnName;
288    }
289
290    /**
291     * Sets the value of the pkColumnName property.
292     * 
293     * @param value
294     *     allowed object is
295     *     {@link String }
296     *     
297     */
298    public void setPkColumnName(String value) {
299        this.pkColumnName = value;
300    }
301
302    /**
303     * Gets the value of the valueColumnName property.
304     * 
305     * @return
306     *     possible object is
307     *     {@link String }
308     *     
309     */
310    public String getValueColumnName() {
311        return valueColumnName;
312    }
313
314    /**
315     * Sets the value of the valueColumnName property.
316     * 
317     * @param value
318     *     allowed object is
319     *     {@link String }
320     *     
321     */
322    public void setValueColumnName(String value) {
323        this.valueColumnName = value;
324    }
325
326    /**
327     * Gets the value of the pkColumnValue property.
328     * 
329     * @return
330     *     possible object is
331     *     {@link String }
332     *     
333     */
334    public String getPkColumnValue() {
335        return pkColumnValue;
336    }
337
338    /**
339     * Sets the value of the pkColumnValue property.
340     * 
341     * @param value
342     *     allowed object is
343     *     {@link String }
344     *     
345     */
346    public void setPkColumnValue(String value) {
347        this.pkColumnValue = value;
348    }
349
350    /**
351     * Gets the value of the initialValue property.
352     * 
353     * @return
354     *     possible object is
355     *     {@link Integer }
356     *     
357     */
358    public Integer getInitialValue() {
359        return initialValue;
360    }
361
362    /**
363     * Sets the value of the initialValue property.
364     * 
365     * @param value
366     *     allowed object is
367     *     {@link Integer }
368     *     
369     */
370    public void setInitialValue(Integer value) {
371        this.initialValue = value;
372    }
373
374    /**
375     * Gets the value of the allocationSize property.
376     * 
377     * @return
378     *     possible object is
379     *     {@link Integer }
380     *     
381     */
382    public Integer getAllocationSize() {
383        return allocationSize;
384    }
385
386    /**
387     * Sets the value of the allocationSize property.
388     * 
389     * @param value
390     *     allowed object is
391     *     {@link Integer }
392     *     
393     */
394    public void setAllocationSize(Integer value) {
395        this.allocationSize = value;
396    }
397
398}