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}) @Retention(RUNTIME)
024 *         public @interface SqlResultSetMapping {
025 *           String name();
026 *           EntityResult[] entities() default {};
027 *           ConstructorResult[] classes() default{};
028 *           ColumnResult[] columns() default {};
029 *         }
030 * 
031 *       
032 * 
033 * <p>Java class for sql-result-set-mapping complex type.
034 * 
035 * <p>The following schema fragment specifies the expected content contained within this class.
036 * 
037 * <pre>
038 * &lt;complexType name="sql-result-set-mapping"&gt;
039 *   &lt;complexContent&gt;
040 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
041 *       &lt;sequence&gt;
042 *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
043 *         &lt;element name="entity-result" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}entity-result" maxOccurs="unbounded" minOccurs="0"/&gt;
044 *         &lt;element name="constructor-result" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}constructor-result" maxOccurs="unbounded" minOccurs="0"/&gt;
045 *         &lt;element name="column-result" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}column-result" maxOccurs="unbounded" minOccurs="0"/&gt;
046 *       &lt;/sequence&gt;
047 *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
048 *     &lt;/restriction&gt;
049 *   &lt;/complexContent&gt;
050 * &lt;/complexType&gt;
051 * </pre>
052 * 
053 * 
054 */
055@XmlAccessorType(XmlAccessType.FIELD)
056@XmlType(name = "sql-result-set-mapping", propOrder = {
057    "description",
058    "entityResult",
059    "constructorResult",
060    "columnResult"
061})
062public class SqlResultSetMapping {
063
064    protected String description;
065    @XmlElement(name = "entity-result")
066    protected List<EntityResult> entityResult;
067    @XmlElement(name = "constructor-result")
068    protected List<ConstructorResult> constructorResult;
069    @XmlElement(name = "column-result")
070    protected List<ColumnResult> columnResult;
071    @XmlAttribute(name = "name", required = true)
072    protected String name;
073
074    /**
075     * Gets the value of the description property.
076     * 
077     * @return
078     *     possible object is
079     *     {@link String }
080     *     
081     */
082    public String getDescription() {
083        return description;
084    }
085
086    /**
087     * Sets the value of the description property.
088     * 
089     * @param value
090     *     allowed object is
091     *     {@link String }
092     *     
093     */
094    public void setDescription(String value) {
095        this.description = value;
096    }
097
098    /**
099     * Gets the value of the entityResult property.
100     * 
101     * <p>
102     * This accessor method returns a reference to the live list,
103     * not a snapshot. Therefore any modification you make to the
104     * returned list will be present inside the JAXB object.
105     * This is why there is not a <CODE>set</CODE> method for the entityResult property.
106     * 
107     * <p>
108     * For example, to add a new item, do as follows:
109     * <pre>
110     *    getEntityResult().add(newItem);
111     * </pre>
112     * 
113     * 
114     * <p>
115     * Objects of the following type(s) are allowed in the list
116     * {@link EntityResult }
117     * 
118     * 
119     */
120    public List<EntityResult> getEntityResult() {
121        if (entityResult == null) {
122            entityResult = new ArrayList<EntityResult>();
123        }
124        return this.entityResult;
125    }
126
127    /**
128     * Gets the value of the constructorResult property.
129     * 
130     * <p>
131     * This accessor method returns a reference to the live list,
132     * not a snapshot. Therefore any modification you make to the
133     * returned list will be present inside the JAXB object.
134     * This is why there is not a <CODE>set</CODE> method for the constructorResult property.
135     * 
136     * <p>
137     * For example, to add a new item, do as follows:
138     * <pre>
139     *    getConstructorResult().add(newItem);
140     * </pre>
141     * 
142     * 
143     * <p>
144     * Objects of the following type(s) are allowed in the list
145     * {@link ConstructorResult }
146     * 
147     * 
148     */
149    public List<ConstructorResult> getConstructorResult() {
150        if (constructorResult == null) {
151            constructorResult = new ArrayList<ConstructorResult>();
152        }
153        return this.constructorResult;
154    }
155
156    /**
157     * Gets the value of the columnResult property.
158     * 
159     * <p>
160     * This accessor method returns a reference to the live list,
161     * not a snapshot. Therefore any modification you make to the
162     * returned list will be present inside the JAXB object.
163     * This is why there is not a <CODE>set</CODE> method for the columnResult property.
164     * 
165     * <p>
166     * For example, to add a new item, do as follows:
167     * <pre>
168     *    getColumnResult().add(newItem);
169     * </pre>
170     * 
171     * 
172     * <p>
173     * Objects of the following type(s) are allowed in the list
174     * {@link ColumnResult }
175     * 
176     * 
177     */
178    public List<ColumnResult> getColumnResult() {
179        if (columnResult == null) {
180            columnResult = new ArrayList<ColumnResult>();
181        }
182        return this.columnResult;
183    }
184
185    /**
186     * Gets the value of the name property.
187     * 
188     * @return
189     *     possible object is
190     *     {@link String }
191     *     
192     */
193    public String getName() {
194        return name;
195    }
196
197    /**
198     * Sets the value of the name property.
199     * 
200     * @param value
201     *     allowed object is
202     *     {@link String }
203     *     
204     */
205    public void setName(String value) {
206        this.name = value;
207    }
208
209}