blob: 77bd82ac96e0d48484bdbe7b88192636aefb1519 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Oracle - initial API and implementation
*******************************************************************************/
package org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm;
import java.util.Collection;
import java.util.HashMap;
import org.eclipse.core.runtime.content.IContentType;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jpt.common.core.internal.utility.translators.SimpleRootTranslator;
import org.eclipse.jpt.common.core.resource.xml.ERootObjectImpl;
import org.eclipse.jpt.jaxb.eclipselink.core.internal.plugin.JptJaxbEclipseLinkCorePlugin;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>EXml Bindings</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlAccessorType <em>Xml Accessor Type</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlAccessorOrder <em>Xml Accessor Order</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getPackageName <em>Package Name</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlNameTransformer <em>Xml Name Transformer</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlSchema <em>Xml Schema</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlSchemaType <em>Xml Schema Type</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlSchemaTypes <em>Xml Schema Types</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlJavaTypeAdapters <em>Xml Java Type Adapters</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlRegistries <em>Xml Registries</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlEnums <em>Xml Enums</em>}</li>
* <li>{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getJavaTypes <em>Java Types</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings()
* @model kind="class"
* @generated
*/
public class EXmlBindings extends ERootObjectImpl
{
/**
* The default value of the '{@link #getXmlAccessorType() <em>Xml Accessor Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlAccessorType()
* @generated
* @ordered
*/
protected static final EXmlAccessType XML_ACCESSOR_TYPE_EDEFAULT = null;
/**
* The cached value of the '{@link #getXmlAccessorType() <em>Xml Accessor Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlAccessorType()
* @generated
* @ordered
*/
protected EXmlAccessType xmlAccessorType = XML_ACCESSOR_TYPE_EDEFAULT;
/**
* The default value of the '{@link #getXmlAccessorOrder() <em>Xml Accessor Order</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlAccessorOrder()
* @generated
* @ordered
*/
protected static final EXmlAccessOrder XML_ACCESSOR_ORDER_EDEFAULT = null;
/**
* The cached value of the '{@link #getXmlAccessorOrder() <em>Xml Accessor Order</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlAccessorOrder()
* @generated
* @ordered
*/
protected EXmlAccessOrder xmlAccessorOrder = XML_ACCESSOR_ORDER_EDEFAULT;
/**
* The default value of the '{@link #getXmlMappingMetadataComplete() <em>Xml Mapping Metadata Complete</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlMappingMetadataComplete()
* @generated
* @ordered
*/
protected static final Boolean XML_MAPPING_METADATA_COMPLETE_EDEFAULT = null;
/**
* The cached value of the '{@link #getXmlMappingMetadataComplete() <em>Xml Mapping Metadata Complete</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlMappingMetadataComplete()
* @generated
* @ordered
*/
protected Boolean xmlMappingMetadataComplete = XML_MAPPING_METADATA_COMPLETE_EDEFAULT;
/**
* The default value of the '{@link #getPackageName() <em>Package Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPackageName()
* @generated
* @ordered
*/
protected static final String PACKAGE_NAME_EDEFAULT = null;
/**
* The cached value of the '{@link #getPackageName() <em>Package Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPackageName()
* @generated
* @ordered
*/
protected String packageName = PACKAGE_NAME_EDEFAULT;
/**
* The default value of the '{@link #getXmlNameTransformer() <em>Xml Name Transformer</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlNameTransformer()
* @generated
* @ordered
*/
protected static final String XML_NAME_TRANSFORMER_EDEFAULT = null;
/**
* The cached value of the '{@link #getXmlNameTransformer() <em>Xml Name Transformer</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlNameTransformer()
* @generated
* @ordered
*/
protected String xmlNameTransformer = XML_NAME_TRANSFORMER_EDEFAULT;
/**
* The cached value of the '{@link #getXmlSchema() <em>Xml Schema</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlSchema()
* @generated
* @ordered
*/
protected EXmlSchema xmlSchema;
/**
* The cached value of the '{@link #getXmlSchemaType() <em>Xml Schema Type</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlSchemaType()
* @generated
* @ordered
*/
protected EXmlSchemaType xmlSchemaType;
/**
* The cached value of the '{@link #getXmlSchemaTypes() <em>Xml Schema Types</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlSchemaTypes()
* @generated
* @ordered
*/
protected EList<EXmlSchemaType> xmlSchemaTypes;
/**
* The cached value of the '{@link #getXmlJavaTypeAdapters() <em>Xml Java Type Adapters</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlJavaTypeAdapters()
* @generated
* @ordered
*/
protected EList<EXmlJavaTypeAdapter> xmlJavaTypeAdapters;
/**
* The cached value of the '{@link #getXmlRegistries() <em>Xml Registries</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlRegistries()
* @generated
* @ordered
*/
protected EList<EXmlRegistry> xmlRegistries;
/**
* The cached value of the '{@link #getXmlEnums() <em>Xml Enums</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getXmlEnums()
* @generated
* @ordered
*/
protected EList<EXmlEnum> xmlEnums;
/**
* The cached value of the '{@link #getJavaTypes() <em>Java Types</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getJavaTypes()
* @generated
* @ordered
*/
protected EList<EJavaType> javaTypes;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EXmlBindings()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return OxmPackage.Literals.EXML_BINDINGS;
}
/**
* Returns the value of the '<em><b>Xml Accessor Type</b></em>' attribute.
* The literals are from the enumeration {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Xml Accessor Type</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Xml Accessor Type</em>' attribute.
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType
* @see #setXmlAccessorType(EXmlAccessType)
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlAccessorType()
* @model
* @generated
*/
public EXmlAccessType getXmlAccessorType()
{
return xmlAccessorType;
}
/**
* Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlAccessorType <em>Xml Accessor Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Xml Accessor Type</em>' attribute.
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType
* @see #getXmlAccessorType()
* @generated
*/
public void setXmlAccessorType(EXmlAccessType newXmlAccessorType)
{
EXmlAccessType oldXmlAccessorType = xmlAccessorType;
xmlAccessorType = newXmlAccessorType == null ? XML_ACCESSOR_TYPE_EDEFAULT : newXmlAccessorType;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_ACCESSOR_TYPE, oldXmlAccessorType, xmlAccessorType));
}
/**
* Returns the value of the '<em><b>Xml Accessor Order</b></em>' attribute.
* The literals are from the enumeration {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessOrder}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Xml Accessor Order</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Xml Accessor Order</em>' attribute.
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessOrder
* @see #setXmlAccessorOrder(EXmlAccessOrder)
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlAccessorOrder()
* @model
* @generated
*/
public EXmlAccessOrder getXmlAccessorOrder()
{
return xmlAccessorOrder;
}
/**
* Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlAccessorOrder <em>Xml Accessor Order</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Xml Accessor Order</em>' attribute.
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessOrder
* @see #getXmlAccessorOrder()
* @generated
*/
public void setXmlAccessorOrder(EXmlAccessOrder newXmlAccessorOrder)
{
EXmlAccessOrder oldXmlAccessorOrder = xmlAccessorOrder;
xmlAccessorOrder = newXmlAccessorOrder == null ? XML_ACCESSOR_ORDER_EDEFAULT : newXmlAccessorOrder;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_ACCESSOR_ORDER, oldXmlAccessorOrder, xmlAccessorOrder));
}
/**
* Returns the value of the '<em><b>Xml Mapping Metadata Complete</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Xml Mapping Metadata Complete</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Xml Mapping Metadata Complete</em>' attribute.
* @see #setXmlMappingMetadataComplete(Boolean)
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlMappingMetadataComplete()
* @model dataType="org.eclipse.emf.ecore.xml.type.BooleanObject"
* @generated
*/
public Boolean getXmlMappingMetadataComplete()
{
return xmlMappingMetadataComplete;
}
/**
* Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlMappingMetadataComplete <em>Xml Mapping Metadata Complete</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Xml Mapping Metadata Complete</em>' attribute.
* @see #getXmlMappingMetadataComplete()
* @generated
*/
public void setXmlMappingMetadataComplete(Boolean newXmlMappingMetadataComplete)
{
Boolean oldXmlMappingMetadataComplete = xmlMappingMetadataComplete;
xmlMappingMetadataComplete = newXmlMappingMetadataComplete;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_MAPPING_METADATA_COMPLETE, oldXmlMappingMetadataComplete, xmlMappingMetadataComplete));
}
/**
* Returns the value of the '<em><b>Package Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Package Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Package Name</em>' attribute.
* @see #setPackageName(String)
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_PackageName()
* @model
* @generated
*/
public String getPackageName()
{
return packageName;
}
/**
* Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getPackageName <em>Package Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Package Name</em>' attribute.
* @see #getPackageName()
* @generated
*/
public void setPackageName(String newPackageName)
{
String oldPackageName = packageName;
packageName = newPackageName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__PACKAGE_NAME, oldPackageName, packageName));
}
/**
* Returns the value of the '<em><b>Xml Name Transformer</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Xml Name Transformer</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Xml Name Transformer</em>' attribute.
* @see #setXmlNameTransformer(String)
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlNameTransformer()
* @model
* @generated
*/
public String getXmlNameTransformer()
{
return xmlNameTransformer;
}
/**
* Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlNameTransformer <em>Xml Name Transformer</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Xml Name Transformer</em>' attribute.
* @see #getXmlNameTransformer()
* @generated
*/
public void setXmlNameTransformer(String newXmlNameTransformer)
{
String oldXmlNameTransformer = xmlNameTransformer;
xmlNameTransformer = newXmlNameTransformer;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_NAME_TRANSFORMER, oldXmlNameTransformer, xmlNameTransformer));
}
/**
* Returns the value of the '<em><b>Xml Schema</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Xml Schema</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Xml Schema</em>' containment reference.
* @see #setXmlSchema(EXmlSchema)
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlSchema()
* @model containment="true"
* @generated
*/
public EXmlSchema getXmlSchema()
{
return xmlSchema;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetXmlSchema(EXmlSchema newXmlSchema, NotificationChain msgs)
{
EXmlSchema oldXmlSchema = xmlSchema;
xmlSchema = newXmlSchema;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_SCHEMA, oldXmlSchema, newXmlSchema);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlSchema <em>Xml Schema</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Xml Schema</em>' containment reference.
* @see #getXmlSchema()
* @generated
*/
public void setXmlSchema(EXmlSchema newXmlSchema)
{
if (newXmlSchema != xmlSchema)
{
NotificationChain msgs = null;
if (xmlSchema != null)
msgs = ((InternalEObject)xmlSchema).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_BINDINGS__XML_SCHEMA, null, msgs);
if (newXmlSchema != null)
msgs = ((InternalEObject)newXmlSchema).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_BINDINGS__XML_SCHEMA, null, msgs);
msgs = basicSetXmlSchema(newXmlSchema, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_SCHEMA, newXmlSchema, newXmlSchema));
}
/**
* Returns the value of the '<em><b>Xml Schema Type</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Xml Schema Type</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Xml Schema Type</em>' containment reference.
* @see #setXmlSchemaType(EXmlSchemaType)
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlSchemaType()
* @model containment="true"
* @generated
*/
public EXmlSchemaType getXmlSchemaType()
{
return xmlSchemaType;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetXmlSchemaType(EXmlSchemaType newXmlSchemaType, NotificationChain msgs)
{
EXmlSchemaType oldXmlSchemaType = xmlSchemaType;
xmlSchemaType = newXmlSchemaType;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE, oldXmlSchemaType, newXmlSchemaType);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* Sets the value of the '{@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings#getXmlSchemaType <em>Xml Schema Type</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Xml Schema Type</em>' containment reference.
* @see #getXmlSchemaType()
* @generated
*/
public void setXmlSchemaType(EXmlSchemaType newXmlSchemaType)
{
if (newXmlSchemaType != xmlSchemaType)
{
NotificationChain msgs = null;
if (xmlSchemaType != null)
msgs = ((InternalEObject)xmlSchemaType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE, null, msgs);
if (newXmlSchemaType != null)
msgs = ((InternalEObject)newXmlSchemaType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE, null, msgs);
msgs = basicSetXmlSchemaType(newXmlSchemaType, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE, newXmlSchemaType, newXmlSchemaType));
}
/**
* Returns the value of the '<em><b>Xml Schema Types</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlSchemaType}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Xml Schema Types</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Xml Schema Types</em>' containment reference list.
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlSchemaTypes()
* @model containment="true"
* @generated
*/
public EList<EXmlSchemaType> getXmlSchemaTypes()
{
if (xmlSchemaTypes == null)
{
xmlSchemaTypes = new EObjectContainmentEList<EXmlSchemaType>(EXmlSchemaType.class, this, OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES);
}
return xmlSchemaTypes;
}
/**
* Returns the value of the '<em><b>Xml Java Type Adapters</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlJavaTypeAdapter}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Xml Java Type Adapters</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Xml Java Type Adapters</em>' containment reference list.
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlJavaTypeAdapters()
* @model containment="true"
* @generated
*/
public EList<EXmlJavaTypeAdapter> getXmlJavaTypeAdapters()
{
if (xmlJavaTypeAdapters == null)
{
xmlJavaTypeAdapters = new EObjectContainmentEList<EXmlJavaTypeAdapter>(EXmlJavaTypeAdapter.class, this, OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS);
}
return xmlJavaTypeAdapters;
}
/**
* Returns the value of the '<em><b>Xml Registries</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlRegistry}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Xml Registries</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Xml Registries</em>' containment reference list.
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlRegistries()
* @model containment="true"
* @generated
*/
public EList<EXmlRegistry> getXmlRegistries()
{
if (xmlRegistries == null)
{
xmlRegistries = new EObjectContainmentEList<EXmlRegistry>(EXmlRegistry.class, this, OxmPackage.EXML_BINDINGS__XML_REGISTRIES);
}
return xmlRegistries;
}
/**
* Returns the value of the '<em><b>Xml Enums</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlEnum}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Xml Enums</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Xml Enums</em>' containment reference list.
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_XmlEnums()
* @model containment="true"
* @generated
*/
public EList<EXmlEnum> getXmlEnums()
{
if (xmlEnums == null)
{
xmlEnums = new EObjectContainmentEList<EXmlEnum>(EXmlEnum.class, this, OxmPackage.EXML_BINDINGS__XML_ENUMS);
}
return xmlEnums;
}
/**
* Returns the value of the '<em><b>Java Types</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Java Types</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Java Types</em>' containment reference list.
* @see org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmPackage#getEXmlBindings_JavaTypes()
* @model containment="true"
* @generated
*/
public EList<EJavaType> getJavaTypes()
{
if (javaTypes == null)
{
javaTypes = new EObjectContainmentEList<EJavaType>(EJavaType.class, this, OxmPackage.EXML_BINDINGS__JAVA_TYPES);
}
return javaTypes;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case OxmPackage.EXML_BINDINGS__XML_SCHEMA:
return basicSetXmlSchema(null, msgs);
case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE:
return basicSetXmlSchemaType(null, msgs);
case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES:
return ((InternalEList<?>)getXmlSchemaTypes()).basicRemove(otherEnd, msgs);
case OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS:
return ((InternalEList<?>)getXmlJavaTypeAdapters()).basicRemove(otherEnd, msgs);
case OxmPackage.EXML_BINDINGS__XML_REGISTRIES:
return ((InternalEList<?>)getXmlRegistries()).basicRemove(otherEnd, msgs);
case OxmPackage.EXML_BINDINGS__XML_ENUMS:
return ((InternalEList<?>)getXmlEnums()).basicRemove(otherEnd, msgs);
case OxmPackage.EXML_BINDINGS__JAVA_TYPES:
return ((InternalEList<?>)getJavaTypes()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_TYPE:
return getXmlAccessorType();
case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_ORDER:
return getXmlAccessorOrder();
case OxmPackage.EXML_BINDINGS__XML_MAPPING_METADATA_COMPLETE:
return getXmlMappingMetadataComplete();
case OxmPackage.EXML_BINDINGS__PACKAGE_NAME:
return getPackageName();
case OxmPackage.EXML_BINDINGS__XML_NAME_TRANSFORMER:
return getXmlNameTransformer();
case OxmPackage.EXML_BINDINGS__XML_SCHEMA:
return getXmlSchema();
case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE:
return getXmlSchemaType();
case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES:
return getXmlSchemaTypes();
case OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS:
return getXmlJavaTypeAdapters();
case OxmPackage.EXML_BINDINGS__XML_REGISTRIES:
return getXmlRegistries();
case OxmPackage.EXML_BINDINGS__XML_ENUMS:
return getXmlEnums();
case OxmPackage.EXML_BINDINGS__JAVA_TYPES:
return getJavaTypes();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_TYPE:
setXmlAccessorType((EXmlAccessType)newValue);
return;
case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_ORDER:
setXmlAccessorOrder((EXmlAccessOrder)newValue);
return;
case OxmPackage.EXML_BINDINGS__XML_MAPPING_METADATA_COMPLETE:
setXmlMappingMetadataComplete((Boolean)newValue);
return;
case OxmPackage.EXML_BINDINGS__PACKAGE_NAME:
setPackageName((String)newValue);
return;
case OxmPackage.EXML_BINDINGS__XML_NAME_TRANSFORMER:
setXmlNameTransformer((String)newValue);
return;
case OxmPackage.EXML_BINDINGS__XML_SCHEMA:
setXmlSchema((EXmlSchema)newValue);
return;
case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE:
setXmlSchemaType((EXmlSchemaType)newValue);
return;
case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES:
getXmlSchemaTypes().clear();
getXmlSchemaTypes().addAll((Collection<? extends EXmlSchemaType>)newValue);
return;
case OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS:
getXmlJavaTypeAdapters().clear();
getXmlJavaTypeAdapters().addAll((Collection<? extends EXmlJavaTypeAdapter>)newValue);
return;
case OxmPackage.EXML_BINDINGS__XML_REGISTRIES:
getXmlRegistries().clear();
getXmlRegistries().addAll((Collection<? extends EXmlRegistry>)newValue);
return;
case OxmPackage.EXML_BINDINGS__XML_ENUMS:
getXmlEnums().clear();
getXmlEnums().addAll((Collection<? extends EXmlEnum>)newValue);
return;
case OxmPackage.EXML_BINDINGS__JAVA_TYPES:
getJavaTypes().clear();
getJavaTypes().addAll((Collection<? extends EJavaType>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_TYPE:
setXmlAccessorType(XML_ACCESSOR_TYPE_EDEFAULT);
return;
case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_ORDER:
setXmlAccessorOrder(XML_ACCESSOR_ORDER_EDEFAULT);
return;
case OxmPackage.EXML_BINDINGS__XML_MAPPING_METADATA_COMPLETE:
setXmlMappingMetadataComplete(XML_MAPPING_METADATA_COMPLETE_EDEFAULT);
return;
case OxmPackage.EXML_BINDINGS__PACKAGE_NAME:
setPackageName(PACKAGE_NAME_EDEFAULT);
return;
case OxmPackage.EXML_BINDINGS__XML_NAME_TRANSFORMER:
setXmlNameTransformer(XML_NAME_TRANSFORMER_EDEFAULT);
return;
case OxmPackage.EXML_BINDINGS__XML_SCHEMA:
setXmlSchema((EXmlSchema)null);
return;
case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE:
setXmlSchemaType((EXmlSchemaType)null);
return;
case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES:
getXmlSchemaTypes().clear();
return;
case OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS:
getXmlJavaTypeAdapters().clear();
return;
case OxmPackage.EXML_BINDINGS__XML_REGISTRIES:
getXmlRegistries().clear();
return;
case OxmPackage.EXML_BINDINGS__XML_ENUMS:
getXmlEnums().clear();
return;
case OxmPackage.EXML_BINDINGS__JAVA_TYPES:
getJavaTypes().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_TYPE:
return xmlAccessorType != XML_ACCESSOR_TYPE_EDEFAULT;
case OxmPackage.EXML_BINDINGS__XML_ACCESSOR_ORDER:
return xmlAccessorOrder != XML_ACCESSOR_ORDER_EDEFAULT;
case OxmPackage.EXML_BINDINGS__XML_MAPPING_METADATA_COMPLETE:
return XML_MAPPING_METADATA_COMPLETE_EDEFAULT == null ? xmlMappingMetadataComplete != null : !XML_MAPPING_METADATA_COMPLETE_EDEFAULT.equals(xmlMappingMetadataComplete);
case OxmPackage.EXML_BINDINGS__PACKAGE_NAME:
return PACKAGE_NAME_EDEFAULT == null ? packageName != null : !PACKAGE_NAME_EDEFAULT.equals(packageName);
case OxmPackage.EXML_BINDINGS__XML_NAME_TRANSFORMER:
return XML_NAME_TRANSFORMER_EDEFAULT == null ? xmlNameTransformer != null : !XML_NAME_TRANSFORMER_EDEFAULT.equals(xmlNameTransformer);
case OxmPackage.EXML_BINDINGS__XML_SCHEMA:
return xmlSchema != null;
case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPE:
return xmlSchemaType != null;
case OxmPackage.EXML_BINDINGS__XML_SCHEMA_TYPES:
return xmlSchemaTypes != null && !xmlSchemaTypes.isEmpty();
case OxmPackage.EXML_BINDINGS__XML_JAVA_TYPE_ADAPTERS:
return xmlJavaTypeAdapters != null && !xmlJavaTypeAdapters.isEmpty();
case OxmPackage.EXML_BINDINGS__XML_REGISTRIES:
return xmlRegistries != null && !xmlRegistries.isEmpty();
case OxmPackage.EXML_BINDINGS__XML_ENUMS:
return xmlEnums != null && !xmlEnums.isEmpty();
case OxmPackage.EXML_BINDINGS__JAVA_TYPES:
return javaTypes != null && !javaTypes.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (xmlAccessorType: ");
result.append(xmlAccessorType);
result.append(", xmlAccessorOrder: ");
result.append(xmlAccessorOrder);
result.append(", xmlMappingMetadataComplete: ");
result.append(xmlMappingMetadataComplete);
result.append(", packageName: ");
result.append(packageName);
result.append(", xmlNameTransformer: ");
result.append(xmlNameTransformer);
result.append(')');
return result.toString();
}
// ***** version -> schema location mapping *****
private static HashMap<String, String> SCHEMA_LOCATIONS = buildSchemaLocations();
private static HashMap<String, String> buildSchemaLocations() {
HashMap<String, String> map = new HashMap<String, String>();
map.put(Oxm.SCHEMA_VERSION_2_1, Oxm.SCHEMA_LOCATION_2_1);
map.put(Oxm.SCHEMA_VERSION_2_2, Oxm.SCHEMA_LOCATION_2_2);
map.put(Oxm.SCHEMA_VERSION_2_3, Oxm.SCHEMA_LOCATION_2_3);
map.put(Oxm.SCHEMA_VERSION_2_4, Oxm.SCHEMA_LOCATION_2_4);
return map;
}
@Override
protected String getNamespace() {
return Oxm.SCHEMA_NAMESPACE;
}
@Override
protected HashMap<String, String> schemaLocations() {
return SCHEMA_LOCATIONS;
}
// ********** content type **********
/**
* The content type for <code>oxm.xml</code> mapping files.
*/
public static final IContentType CONTENT_TYPE = JptJaxbEclipseLinkCorePlugin.instance().getContentType("oxm"); //$NON-NLS-1$
// ********** translators **********
private static final Translator ROOT_TRANSLATOR = buildRootTranslator();
public static Translator getRootTranslator() {
return ROOT_TRANSLATOR;
}
private static Translator buildRootTranslator() {
return new SimpleRootTranslator(Oxm.XML_BINDINGS, OxmPackage.eINSTANCE.getEXmlBindings(), buildTranslatorChildren());
}
protected static Translator[] buildTranslatorChildren() {
return new Translator[] {
buildVersionTranslator(SCHEMA_LOCATIONS),
buildNamespaceTranslator(Oxm.SCHEMA_NAMESPACE),
buildSchemaNamespaceTranslator(),
buildSchemaLocationTranslator(Oxm.SCHEMA_NAMESPACE, SCHEMA_LOCATIONS),
buildXmlAccessorTypeTranslator(),
buildXmlAccessorOrderTranslator(),
buildXmlMappingMetadataCompleteTranslator(),
buildPackageNameTranslator(),
EJavaType.buildTranslator()
};
}
protected static Translator buildXmlAccessorTypeTranslator() {
return new Translator(
Oxm.XML_ACCESSOR_TYPE,
OxmPackage.eINSTANCE.getEXmlBindings_XmlAccessorType(),
Translator.DOM_ATTRIBUTE);
}
protected static Translator buildXmlAccessorOrderTranslator() {
return new Translator(
Oxm.XML_ACCESSOR_ORDER,
OxmPackage.eINSTANCE.getEXmlBindings_XmlAccessorOrder(),
Translator.DOM_ATTRIBUTE);
}
protected static Translator buildXmlMappingMetadataCompleteTranslator() {
return new Translator(
Oxm.XML_MAPPING_METADATA_COMPLETE,
OxmPackage.eINSTANCE.getEXmlBindings_XmlMappingMetadataComplete(),
Translator.DOM_ATTRIBUTE);
}
protected static Translator buildPackageNameTranslator() {
return new Translator(
Oxm.PACKAGE_NAME,
OxmPackage.eINSTANCE.getEXmlBindings_PackageName(),
Translator.DOM_ATTRIBUTE);
}
}