/******************************************************************************* * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Denise Smith - 2.3 ******************************************************************************/ package org.eclipse.persistence.testing.jaxb.xmlschema.model; import java.math.BigInteger; import java.util.ArrayList; import java.util.List; import javax.xml.bind.JAXBElement; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlElementRefs; import javax.xml.bind.annotation.XmlSchemaType; import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import javax.xml.namespace.QName; /** * * The element element can be used either * at the top level to define an element-type binding globally, * or within a content model to either reference a globally-defined * element or type or declare an element-type binding locally. * The ref form is not allowed at the top level. * * <p>Java class for element complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="element"> * <complexContent> * <extension base="{http://www.w3.org/2001/XMLSchema}annotated"> * <sequence> * <choice minOccurs="0"> * <element name="simpleType" type="{http://www.w3.org/2001/XMLSchema}localSimpleType"/> * <element name="complexType" type="{http://www.w3.org/2001/XMLSchema}localComplexType"/> * </choice> * <group ref="{http://www.w3.org/2001/XMLSchema}identityConstraint" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * <attGroup ref="{http://www.w3.org/2001/XMLSchema}occurs"/> * <attGroup ref="{http://www.w3.org/2001/XMLSchema}defRef"/> * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}QName" /> * <attribute name="substitutionGroup" type="{http://www.w3.org/2001/XMLSchema}QName" /> * <attribute name="default" type="{http://www.w3.org/2001/XMLSchema}string" /> * <attribute name="fixed" type="{http://www.w3.org/2001/XMLSchema}string" /> * <attribute name="nillable" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /> * <attribute name="abstract" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /> * <attribute name="final" type="{http://www.w3.org/2001/XMLSchema}derivationSet" /> * <attribute name="block" type="{http://www.w3.org/2001/XMLSchema}blockSet" /> * <attribute name="form" type="{http://www.w3.org/2001/XMLSchema}formChoice" /> * <anyAttribute processContents='lax' namespace='##other'/> * </extension> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "element", propOrder = { "simpleType", "complexType", "identityConstraint" }) @XmlSeeAlso({ TopLevelElement.class, LocalElement.class }) public abstract class Element extends Annotated { protected LocalSimpleType simpleType; protected LocalComplexType complexType; @XmlElementRefs({ @XmlElementRef(name = "unique", namespace = "http://www.w3.org/2001/XMLSchema", type = JAXBElement.class), @XmlElementRef(name = "keyref", namespace = "http://www.w3.org/2001/XMLSchema", type = Keyref.class), @XmlElementRef(name = "key", namespace = "http://www.w3.org/2001/XMLSchema", type = JAXBElement.class) }) protected List<Object> identityConstraint; @XmlAttribute(name = "type") protected QName type; @XmlAttribute(name = "substitutionGroup") protected QName substitutionGroup; @XmlAttribute(name = "default") protected String _default; @XmlAttribute(name = "fixed") protected String fixed; @XmlAttribute(name = "nillable") protected Boolean nillable; @XmlAttribute(name = "abstract") protected Boolean _abstract; @XmlAttribute(name = "final") @XmlSchemaType(name = "derivationSet") protected List<String> _final; @XmlAttribute(name = "block") @XmlSchemaType(name = "blockSet") protected List<String> block; @XmlAttribute(name = "form") protected FormChoice form; @XmlAttribute(name = "minOccurs") @XmlSchemaType(name = "nonNegativeInteger") protected BigInteger minOccurs; @XmlAttribute(name = "maxOccurs") @XmlSchemaType(name = "allNNI") protected String maxOccurs; @XmlAttribute(name = "name") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlSchemaType(name = "NCName") protected String name; @XmlAttribute(name = "ref") protected QName ref; /** * Gets the value of the simpleType property. * * @return * possible object is * {@link LocalSimpleType } * */ public LocalSimpleType getSimpleType() { return simpleType; } /** * Sets the value of the simpleType property. * * @param value * allowed object is * {@link LocalSimpleType } * */ public void setSimpleType(LocalSimpleType value) { this.simpleType = value; } /** * Gets the value of the complexType property. * * @return * possible object is * {@link LocalComplexType } * */ public LocalComplexType getComplexType() { return complexType; } /** * Sets the value of the complexType property. * * @param value * allowed object is * {@link LocalComplexType } * */ public void setComplexType(LocalComplexType value) { this.complexType = value; } /** * Gets the value of the identityConstraint property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the identityConstraint property. * * <p> * For example, to add a new item, do as follows: * <pre> * getIdentityConstraint().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link JAXBElement }{@code <}{@link Keybase }{@code >} * {@link Keyref } * {@link JAXBElement }{@code <}{@link Keybase }{@code >} * * */ public List<Object> getIdentityConstraint() { if (identityConstraint == null) { identityConstraint = new ArrayList<Object>(); } return this.identityConstraint; } /** * Gets the value of the type property. * * @return * possible object is * {@link QName } * */ public QName getType() { return type; } /** * Sets the value of the type property. * * @param value * allowed object is * {@link QName } * */ public void setType(QName value) { this.type = value; } /** * Gets the value of the substitutionGroup property. * * @return * possible object is * {@link QName } * */ public QName getSubstitutionGroup() { return substitutionGroup; } /** * Sets the value of the substitutionGroup property. * * @param value * allowed object is * {@link QName } * */ public void setSubstitutionGroup(QName value) { this.substitutionGroup = value; } /** * Gets the value of the default property. * * @return * possible object is * {@link String } * */ public String getDefault() { return _default; } /** * Sets the value of the default property. * * @param value * allowed object is * {@link String } * */ public void setDefault(String value) { this._default = value; } /** * Gets the value of the fixed property. * * @return * possible object is * {@link String } * */ public String getFixed() { return fixed; } /** * Sets the value of the fixed property. * * @param value * allowed object is * {@link String } * */ public void setFixed(String value) { this.fixed = value; } /** * Gets the value of the nillable property. * * @return * possible object is * {@link Boolean } * */ public boolean isNillable() { if (nillable == null) { return false; } else { return nillable; } } /** * Sets the value of the nillable property. * * @param value * allowed object is * {@link Boolean } * */ public void setNillable(Boolean value) { this.nillable = value; } /** * Gets the value of the abstract property. * * @return * possible object is * {@link Boolean } * */ public boolean isAbstract() { if (_abstract == null) { return false; } else { return _abstract; } } /** * Sets the value of the abstract property. * * @param value * allowed object is * {@link Boolean } * */ public void setAbstract(Boolean value) { this._abstract = value; } /** * Gets the value of the final property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the final property. * * <p> * For example, to add a new item, do as follows: * <pre> * getFinal().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link String } * * */ public List<String> getFinal() { if (_final == null) { _final = new ArrayList<String>(); } return this._final; } /** * Gets the value of the block property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the block property. * * <p> * For example, to add a new item, do as follows: * <pre> * getBlock().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link String } * * */ public List<String> getBlock() { if (block == null) { block = new ArrayList<String>(); } return this.block; } /** * Gets the value of the form property. * * @return * possible object is * {@link FormChoice } * */ public FormChoice getForm() { return form; } /** * Sets the value of the form property. * * @param value * allowed object is * {@link FormChoice } * */ public void setForm(FormChoice value) { this.form = value; } /** * Gets the value of the minOccurs property. * * @return * possible object is * {@link BigInteger } * */ public BigInteger getMinOccurs() { if (minOccurs == null) { return new BigInteger("1"); } else { return minOccurs; } } /** * Sets the value of the minOccurs property. * * @param value * allowed object is * {@link BigInteger } * */ public void setMinOccurs(BigInteger value) { this.minOccurs = value; } /** * Gets the value of the maxOccurs property. * * @return * possible object is * {@link String } * */ public String getMaxOccurs() { if (maxOccurs == null) { return "1"; } else { return maxOccurs; } } /** * Sets the value of the maxOccurs property. * * @param value * allowed object is * {@link String } * */ public void setMaxOccurs(String value) { this.maxOccurs = value; } /** * Gets the value of the name property. * * @return * possible object is * {@link String } * */ public String getName() { return name; } /** * Sets the value of the name property. * * @param value * allowed object is * {@link String } * */ public void setName(String value) { this.name = value; } /** * Gets the value of the ref property. * * @return * possible object is * {@link QName } * */ public QName getRef() { return ref; } /** * Sets the value of the ref property. * * @param value * allowed object is * {@link QName } * */ public void setRef(QName value) { this.ref = value; } }