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 NamedNativeQuery {
025 *           String name();
026 *           String query();
027 *           QueryHint[] hints() default {};
028 *           Class resultClass() default void.class;
029 *           String resultSetMapping() default ""; //named SqlResultSetMapping
030 *         }
031 * 
032 *       
033 * 
034 * <p>Java class for named-native-query complex type.
035 * 
036 * <p>The following schema fragment specifies the expected content contained within this class.
037 * 
038 * <pre>
039 * &lt;complexType name="named-native-query"&gt;
040 *   &lt;complexContent&gt;
041 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
042 *       &lt;sequence&gt;
043 *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
044 *         &lt;element name="query" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
045 *         &lt;element name="hint" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}query-hint" 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;attribute name="result-class" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
049 *       &lt;attribute name="result-set-mapping" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
050 *     &lt;/restriction&gt;
051 *   &lt;/complexContent&gt;
052 * &lt;/complexType&gt;
053 * </pre>
054 * 
055 * 
056 */
057@XmlAccessorType(XmlAccessType.FIELD)
058@XmlType(name = "named-native-query", propOrder = {
059    "description",
060    "query",
061    "hint"
062})
063public class NamedNativeQuery {
064
065    protected String description;
066    @XmlElement(required = true)
067    protected String query;
068    protected List<QueryHint> hint;
069    @XmlAttribute(name = "name", required = true)
070    protected String name;
071    @XmlAttribute(name = "result-class")
072    protected String resultClass;
073    @XmlAttribute(name = "result-set-mapping")
074    protected String resultSetMapping;
075
076    /**
077     * Gets the value of the description property.
078     * 
079     * @return
080     *     possible object is
081     *     {@link String }
082     *     
083     */
084    public String getDescription() {
085        return description;
086    }
087
088    /**
089     * Sets the value of the description property.
090     * 
091     * @param value
092     *     allowed object is
093     *     {@link String }
094     *     
095     */
096    public void setDescription(String value) {
097        this.description = value;
098    }
099
100    /**
101     * Gets the value of the query property.
102     * 
103     * @return
104     *     possible object is
105     *     {@link String }
106     *     
107     */
108    public String getQuery() {
109        return query;
110    }
111
112    /**
113     * Sets the value of the query property.
114     * 
115     * @param value
116     *     allowed object is
117     *     {@link String }
118     *     
119     */
120    public void setQuery(String value) {
121        this.query = value;
122    }
123
124    /**
125     * Gets the value of the hint 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 hint property.
132     * 
133     * <p>
134     * For example, to add a new item, do as follows:
135     * <pre>
136     *    getHint().add(newItem);
137     * </pre>
138     * 
139     * 
140     * <p>
141     * Objects of the following type(s) are allowed in the list
142     * {@link QueryHint }
143     * 
144     * 
145     */
146    public List<QueryHint> getHint() {
147        if (hint == null) {
148            hint = new ArrayList<QueryHint>();
149        }
150        return this.hint;
151    }
152
153    /**
154     * Gets the value of the name property.
155     * 
156     * @return
157     *     possible object is
158     *     {@link String }
159     *     
160     */
161    public String getName() {
162        return name;
163    }
164
165    /**
166     * Sets the value of the name property.
167     * 
168     * @param value
169     *     allowed object is
170     *     {@link String }
171     *     
172     */
173    public void setName(String value) {
174        this.name = value;
175    }
176
177    /**
178     * Gets the value of the resultClass property.
179     * 
180     * @return
181     *     possible object is
182     *     {@link String }
183     *     
184     */
185    public String getResultClass() {
186        return resultClass;
187    }
188
189    /**
190     * Sets the value of the resultClass property.
191     * 
192     * @param value
193     *     allowed object is
194     *     {@link String }
195     *     
196     */
197    public void setResultClass(String value) {
198        this.resultClass = value;
199    }
200
201    /**
202     * Gets the value of the resultSetMapping property.
203     * 
204     * @return
205     *     possible object is
206     *     {@link String }
207     *     
208     */
209    public String getResultSetMapping() {
210        return resultSetMapping;
211    }
212
213    /**
214     * Sets the value of the resultSetMapping property.
215     * 
216     * @param value
217     *     allowed object is
218     *     {@link String }
219     *     
220     */
221    public void setResultSetMapping(String value) {
222        this.resultSetMapping = value;
223    }
224
225}