package org.teiid.designer.extension.convertor.mxd; import java.math.BigInteger; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlSchemaType; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; /** * <p>Java class for anonymous complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="modelType" maxOccurs="2" minOccurs="0"> * <simpleType> * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> * <enumeration value="PHYSICAL"/> * <enumeration value="VIRTUAL"/> * <enumeration value="FUNCTION"/> * </restriction> * </simpleType> * </element> * <element name="extendedMetaclass" type="{http://www.jboss.org/teiiddesigner/ext/2012}metaclassType" maxOccurs="unbounded"/> * </sequence> * <attribute name="namespacePrefix" use="required" type="{http://www.w3.org/2001/XMLSchema}NCName" /> * <attribute name="namespaceUri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> * <attribute name="metamodelUri" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> * <attribute name="version" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" default="1" /> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "description", "modelType", "extendedMetaclass" }) @XmlRootElement(name = "modelExtension", namespace = "http://www.jboss.org/teiiddesigner/ext/2012") public class ModelExtension { @XmlElement(namespace = "http://www.jboss.org/teiiddesigner/ext/2012") protected String description; @XmlElement(namespace = "http://www.jboss.org/teiiddesigner/ext/2012") protected List<String> modelType; @XmlElement(namespace = "http://www.jboss.org/teiiddesigner/ext/2012", required = true) protected List<MetaclassType> extendedMetaclass; @XmlAttribute(name = "namespacePrefix", required = true) @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlSchemaType(name = "NCName") protected String namespacePrefix; @XmlAttribute(name = "namespaceUri", required = true) @XmlSchemaType(name = "anyURI") protected String namespaceUri; @XmlAttribute(name = "metamodelUri", required = true) @XmlSchemaType(name = "anyURI") protected String metamodelUri; @XmlAttribute(name = "version") @XmlSchemaType(name = "positiveInteger") protected BigInteger version; /** * Gets the value of the description property. * * @return * possible object is * {@link String } * */ public String getDescription() { return description; } /** * Sets the value of the description property. * * @param value * allowed object is * {@link String } * */ public void setDescription(String value) { this.description = value; } /** * Gets the value of the modelType 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 modelType property. * * <p> * For example, to add a new item, do as follows: * <pre> * getModelType().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link String } * * */ public List<String> getModelType() { if (modelType == null) { modelType = new ArrayList<String>(); } return this.modelType; } /** * Gets the value of the extendedMetaclass 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 extendedMetaclass property. * * <p> * For example, to add a new item, do as follows: * <pre> * getExtendedMetaclass().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MetaclassType } * * */ public List<MetaclassType> getExtendedMetaclass() { if (extendedMetaclass == null) { extendedMetaclass = new ArrayList<MetaclassType>(); } return this.extendedMetaclass; } /** * Gets the value of the namespacePrefix property. * * @return * possible object is * {@link String } * */ public String getNamespacePrefix() { return namespacePrefix; } /** * Sets the value of the namespacePrefix property. * * @param value * allowed object is * {@link String } * */ public void setNamespacePrefix(String value) { this.namespacePrefix = value; } /** * Gets the value of the namespaceUri property. * * @return * possible object is * {@link String } * */ public String getNamespaceUri() { return namespaceUri; } /** * Sets the value of the namespaceUri property. * * @param value * allowed object is * {@link String } * */ public void setNamespaceUri(String value) { this.namespaceUri = value; } /** * Gets the value of the metamodelUri property. * * @return * possible object is * {@link String } * */ public String getMetamodelUri() { return metamodelUri; } /** * Sets the value of the metamodelUri property. * * @param value * allowed object is * {@link String } * */ public void setMetamodelUri(String value) { this.metamodelUri = value; } /** * Gets the value of the version property. * * @return * possible object is * {@link BigInteger } * */ public BigInteger getVersion() { if (version == null) { return new BigInteger("1"); } else { return version; } } /** * Sets the value of the version property. * * @param value * allowed object is * {@link BigInteger } * */ public void setVersion(BigInteger value) { this.version = value; } }