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.XmlSchemaType;
018import javax.xml.bind.annotation.XmlType;
019
020
021/**
022 * 
023 * 
024 *         @Target({TYPE}) @Retention(RUNTIME)
025 *         public @interface NamedQuery {
026 *           String name();
027 *           String query();
028 *           LockModeType lockMode() default NONE;
029 *           QueryHint[] hints() default {};
030 *         }
031 * 
032 *       
033 * 
034 * <p>Java class for named-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-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="lock-mode" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}lock-mode-type" minOccurs="0"/&gt;
046 *         &lt;element name="hint" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}query-hint" maxOccurs="unbounded" minOccurs="0"/&gt;
047 *       &lt;/sequence&gt;
048 *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
049 *     &lt;/restriction&gt;
050 *   &lt;/complexContent&gt;
051 * &lt;/complexType&gt;
052 * </pre>
053 * 
054 * 
055 */
056@XmlAccessorType(XmlAccessType.FIELD)
057@XmlType(name = "named-query", propOrder = {
058    "description",
059    "query",
060    "lockMode",
061    "hint"
062})
063public class NamedQuery {
064
065    protected String description;
066    @XmlElement(required = true)
067    protected String query;
068    @XmlElement(name = "lock-mode")
069    @XmlSchemaType(name = "token")
070    protected LockModeType lockMode;
071    protected List<QueryHint> hint;
072    @XmlAttribute(name = "name", required = true)
073    protected String name;
074
075    /**
076     * Gets the value of the description property.
077     * 
078     * @return
079     *     possible object is
080     *     {@link String }
081     *     
082     */
083    public String getDescription() {
084        return description;
085    }
086
087    /**
088     * Sets the value of the description property.
089     * 
090     * @param value
091     *     allowed object is
092     *     {@link String }
093     *     
094     */
095    public void setDescription(String value) {
096        this.description = value;
097    }
098
099    /**
100     * Gets the value of the query property.
101     * 
102     * @return
103     *     possible object is
104     *     {@link String }
105     *     
106     */
107    public String getQuery() {
108        return query;
109    }
110
111    /**
112     * Sets the value of the query property.
113     * 
114     * @param value
115     *     allowed object is
116     *     {@link String }
117     *     
118     */
119    public void setQuery(String value) {
120        this.query = value;
121    }
122
123    /**
124     * Gets the value of the lockMode property.
125     * 
126     * @return
127     *     possible object is
128     *     {@link LockModeType }
129     *     
130     */
131    public LockModeType getLockMode() {
132        return lockMode;
133    }
134
135    /**
136     * Sets the value of the lockMode property.
137     * 
138     * @param value
139     *     allowed object is
140     *     {@link LockModeType }
141     *     
142     */
143    public void setLockMode(LockModeType value) {
144        this.lockMode = value;
145    }
146
147    /**
148     * Gets the value of the hint property.
149     * 
150     * <p>
151     * This accessor method returns a reference to the live list,
152     * not a snapshot. Therefore any modification you make to the
153     * returned list will be present inside the JAXB object.
154     * This is why there is not a <CODE>set</CODE> method for the hint property.
155     * 
156     * <p>
157     * For example, to add a new item, do as follows:
158     * <pre>
159     *    getHint().add(newItem);
160     * </pre>
161     * 
162     * 
163     * <p>
164     * Objects of the following type(s) are allowed in the list
165     * {@link QueryHint }
166     * 
167     * 
168     */
169    public List<QueryHint> getHint() {
170        if (hint == null) {
171            hint = new ArrayList<QueryHint>();
172        }
173        return this.hint;
174    }
175
176    /**
177     * Gets the value of the name property.
178     * 
179     * @return
180     *     possible object is
181     *     {@link String }
182     *     
183     */
184    public String getName() {
185        return name;
186    }
187
188    /**
189     * Sets the value of the name property.
190     * 
191     * @param value
192     *     allowed object is
193     *     {@link String }
194     *     
195     */
196    public void setName(String value) {
197        this.name = value;
198    }
199
200}