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 NamedStoredProcedureQuery {
025 *           String name();
026 *           String procedureName();
027 *           StoredProcedureParameter[] parameters() default {};
028 *           Class[] resultClasses() default {};
029 *           String[] resultSetMappings() default{};
030 *           QueryHint[] hints() default {};
031 *         }
032 * 
033 *       
034 * 
035 * <p>Java class for named-stored-procedure-query complex type.
036 * 
037 * <p>The following schema fragment specifies the expected content contained within this class.
038 * 
039 * <pre>
040 * &lt;complexType name="named-stored-procedure-query"&gt;
041 *   &lt;complexContent&gt;
042 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
043 *       &lt;sequence&gt;
044 *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
045 *         &lt;element name="parameter" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}stored-procedure-parameter" maxOccurs="unbounded" minOccurs="0"/&gt;
046 *         &lt;element name="result-class" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
047 *         &lt;element name="result-set-mapping" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
048 *         &lt;element name="hint" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}query-hint" maxOccurs="unbounded" minOccurs="0"/&gt;
049 *       &lt;/sequence&gt;
050 *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
051 *       &lt;attribute name="procedure-name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
052 *     &lt;/restriction&gt;
053 *   &lt;/complexContent&gt;
054 * &lt;/complexType&gt;
055 * </pre>
056 * 
057 * 
058 */
059@XmlAccessorType(XmlAccessType.FIELD)
060@XmlType(name = "named-stored-procedure-query", propOrder = {
061    "description",
062    "parameter",
063    "resultClass",
064    "resultSetMapping",
065    "hint"
066})
067public class NamedStoredProcedureQuery {
068
069    protected String description;
070    protected List<StoredProcedureParameter> parameter;
071    @XmlElement(name = "result-class")
072    protected List<String> resultClass;
073    @XmlElement(name = "result-set-mapping")
074    protected List<String> resultSetMapping;
075    protected List<QueryHint> hint;
076    @XmlAttribute(name = "name", required = true)
077    protected String name;
078    @XmlAttribute(name = "procedure-name", required = true)
079    protected String procedureName;
080
081    /**
082     * Gets the value of the description property.
083     * 
084     * @return
085     *     possible object is
086     *     {@link String }
087     *     
088     */
089    public String getDescription() {
090        return description;
091    }
092
093    /**
094     * Sets the value of the description property.
095     * 
096     * @param value
097     *     allowed object is
098     *     {@link String }
099     *     
100     */
101    public void setDescription(String value) {
102        this.description = value;
103    }
104
105    /**
106     * Gets the value of the parameter property.
107     * 
108     * <p>
109     * This accessor method returns a reference to the live list,
110     * not a snapshot. Therefore any modification you make to the
111     * returned list will be present inside the JAXB object.
112     * This is why there is not a <CODE>set</CODE> method for the parameter property.
113     * 
114     * <p>
115     * For example, to add a new item, do as follows:
116     * <pre>
117     *    getParameter().add(newItem);
118     * </pre>
119     * 
120     * 
121     * <p>
122     * Objects of the following type(s) are allowed in the list
123     * {@link StoredProcedureParameter }
124     * 
125     * 
126     */
127    public List<StoredProcedureParameter> getParameter() {
128        if (parameter == null) {
129            parameter = new ArrayList<StoredProcedureParameter>();
130        }
131        return this.parameter;
132    }
133
134    /**
135     * Gets the value of the resultClass 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 resultClass property.
142     * 
143     * <p>
144     * For example, to add a new item, do as follows:
145     * <pre>
146     *    getResultClass().add(newItem);
147     * </pre>
148     * 
149     * 
150     * <p>
151     * Objects of the following type(s) are allowed in the list
152     * {@link String }
153     * 
154     * 
155     */
156    public List<String> getResultClass() {
157        if (resultClass == null) {
158            resultClass = new ArrayList<String>();
159        }
160        return this.resultClass;
161    }
162
163    /**
164     * Gets the value of the resultSetMapping property.
165     * 
166     * <p>
167     * This accessor method returns a reference to the live list,
168     * not a snapshot. Therefore any modification you make to the
169     * returned list will be present inside the JAXB object.
170     * This is why there is not a <CODE>set</CODE> method for the resultSetMapping property.
171     * 
172     * <p>
173     * For example, to add a new item, do as follows:
174     * <pre>
175     *    getResultSetMapping().add(newItem);
176     * </pre>
177     * 
178     * 
179     * <p>
180     * Objects of the following type(s) are allowed in the list
181     * {@link String }
182     * 
183     * 
184     */
185    public List<String> getResultSetMapping() {
186        if (resultSetMapping == null) {
187            resultSetMapping = new ArrayList<String>();
188        }
189        return this.resultSetMapping;
190    }
191
192    /**
193     * Gets the value of the hint property.
194     * 
195     * <p>
196     * This accessor method returns a reference to the live list,
197     * not a snapshot. Therefore any modification you make to the
198     * returned list will be present inside the JAXB object.
199     * This is why there is not a <CODE>set</CODE> method for the hint property.
200     * 
201     * <p>
202     * For example, to add a new item, do as follows:
203     * <pre>
204     *    getHint().add(newItem);
205     * </pre>
206     * 
207     * 
208     * <p>
209     * Objects of the following type(s) are allowed in the list
210     * {@link QueryHint }
211     * 
212     * 
213     */
214    public List<QueryHint> getHint() {
215        if (hint == null) {
216            hint = new ArrayList<QueryHint>();
217        }
218        return this.hint;
219    }
220
221    /**
222     * Gets the value of the name property.
223     * 
224     * @return
225     *     possible object is
226     *     {@link String }
227     *     
228     */
229    public String getName() {
230        return name;
231    }
232
233    /**
234     * Sets the value of the name property.
235     * 
236     * @param value
237     *     allowed object is
238     *     {@link String }
239     *     
240     */
241    public void setName(String value) {
242        this.name = value;
243    }
244
245    /**
246     * Gets the value of the procedureName property.
247     * 
248     * @return
249     *     possible object is
250     *     {@link String }
251     *     
252     */
253    public String getProcedureName() {
254        return procedureName;
255    }
256
257    /**
258     * Sets the value of the procedureName property.
259     * 
260     * @param value
261     *     allowed object is
262     *     {@link String }
263     *     
264     */
265    public void setProcedureName(String value) {
266        this.procedureName = value;
267    }
268
269}