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 NamedEntityGraph {
025 *           String name() default "";
026 *           NamedAttributeNode[] attributeNodes() default {};
027 *           boolean includeAllAttributes() default false;
028 *           NamedSubgraph[] subgraphs() default {};
029 *           NamedSubGraph[] subclassSubgraphs() default {};
030 *         }
031 * 
032 *       
033 * 
034 * <p>Java class for named-entity-graph 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-entity-graph"&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="named-attribute-node" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}named-attribute-node" maxOccurs="unbounded" minOccurs="0"/&gt;
044 *         &lt;element name="subgraph" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}named-subgraph" maxOccurs="unbounded" minOccurs="0"/&gt;
045 *         &lt;element name="subclass-subgraph" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}named-subgraph" maxOccurs="unbounded" minOccurs="0"/&gt;
046 *       &lt;/sequence&gt;
047 *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
048 *       &lt;attribute name="include-all-attributes" type="{http://www.w3.org/2001/XMLSchema}boolean" /&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-entity-graph", propOrder = {
058    "namedAttributeNode",
059    "subgraph",
060    "subclassSubgraph"
061})
062public class NamedEntityGraph {
063
064    @XmlElement(name = "named-attribute-node")
065    protected List<NamedAttributeNode> namedAttributeNode;
066    protected List<NamedSubgraph> subgraph;
067    @XmlElement(name = "subclass-subgraph")
068    protected List<NamedSubgraph> subclassSubgraph;
069    @XmlAttribute(name = "name")
070    protected String name;
071    @XmlAttribute(name = "include-all-attributes")
072    protected Boolean includeAllAttributes;
073
074    /**
075     * Gets the value of the namedAttributeNode property.
076     * 
077     * <p>
078     * This accessor method returns a reference to the live list,
079     * not a snapshot. Therefore any modification you make to the
080     * returned list will be present inside the JAXB object.
081     * This is why there is not a <CODE>set</CODE> method for the namedAttributeNode property.
082     * 
083     * <p>
084     * For example, to add a new item, do as follows:
085     * <pre>
086     *    getNamedAttributeNode().add(newItem);
087     * </pre>
088     * 
089     * 
090     * <p>
091     * Objects of the following type(s) are allowed in the list
092     * {@link NamedAttributeNode }
093     * 
094     * 
095     */
096    public List<NamedAttributeNode> getNamedAttributeNode() {
097        if (namedAttributeNode == null) {
098            namedAttributeNode = new ArrayList<NamedAttributeNode>();
099        }
100        return this.namedAttributeNode;
101    }
102
103    /**
104     * Gets the value of the subgraph property.
105     * 
106     * <p>
107     * This accessor method returns a reference to the live list,
108     * not a snapshot. Therefore any modification you make to the
109     * returned list will be present inside the JAXB object.
110     * This is why there is not a <CODE>set</CODE> method for the subgraph property.
111     * 
112     * <p>
113     * For example, to add a new item, do as follows:
114     * <pre>
115     *    getSubgraph().add(newItem);
116     * </pre>
117     * 
118     * 
119     * <p>
120     * Objects of the following type(s) are allowed in the list
121     * {@link NamedSubgraph }
122     * 
123     * 
124     */
125    public List<NamedSubgraph> getSubgraph() {
126        if (subgraph == null) {
127            subgraph = new ArrayList<NamedSubgraph>();
128        }
129        return this.subgraph;
130    }
131
132    /**
133     * Gets the value of the subclassSubgraph property.
134     * 
135     * <p>
136     * This accessor method returns a reference to the live list,
137     * not a snapshot. Therefore any modification you make to the
138     * returned list will be present inside the JAXB object.
139     * This is why there is not a <CODE>set</CODE> method for the subclassSubgraph property.
140     * 
141     * <p>
142     * For example, to add a new item, do as follows:
143     * <pre>
144     *    getSubclassSubgraph().add(newItem);
145     * </pre>
146     * 
147     * 
148     * <p>
149     * Objects of the following type(s) are allowed in the list
150     * {@link NamedSubgraph }
151     * 
152     * 
153     */
154    public List<NamedSubgraph> getSubclassSubgraph() {
155        if (subclassSubgraph == null) {
156            subclassSubgraph = new ArrayList<NamedSubgraph>();
157        }
158        return this.subclassSubgraph;
159    }
160
161    /**
162     * Gets the value of the name property.
163     * 
164     * @return
165     *     possible object is
166     *     {@link String }
167     *     
168     */
169    public String getName() {
170        return name;
171    }
172
173    /**
174     * Sets the value of the name property.
175     * 
176     * @param value
177     *     allowed object is
178     *     {@link String }
179     *     
180     */
181    public void setName(String value) {
182        this.name = value;
183    }
184
185    /**
186     * Gets the value of the includeAllAttributes property.
187     * 
188     * @return
189     *     possible object is
190     *     {@link Boolean }
191     *     
192     */
193    public Boolean isIncludeAllAttributes() {
194        return includeAllAttributes;
195    }
196
197    /**
198     * Sets the value of the includeAllAttributes property.
199     * 
200     * @param value
201     *     allowed object is
202     *     {@link Boolean }
203     *     
204     */
205    public void setIncludeAllAttributes(Boolean value) {
206        this.includeAllAttributes = value;
207    }
208
209}