diff options
Diffstat (limited to 'examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension')
24 files changed, 5263 insertions, 0 deletions
diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/Address.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/Address.java new file mode 100644 index 000000000..46d7a8cdc --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/Address.java @@ -0,0 +1,112 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Address.java,v 1.1 2006/07/11 16:56:57 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Address</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getStreet <em>Street</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getCity <em>City</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getAddress() + * @model abstract="true" + * extendedMetaData="name='Address' kind='elementOnly'" + * @generated + */ +public interface Address extends EObject{ + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>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>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getAddress_Name() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='name'" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Street</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Street</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Street</em>' attribute. + * @see #setStreet(String) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getAddress_Street() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='street'" + * @generated + */ + String getStreet(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getStreet <em>Street</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Street</em>' attribute. + * @see #getStreet() + * @generated + */ + void setStreet(String value); + + /** + * Returns the value of the '<em><b>City</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>City</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>City</em>' attribute. + * @see #setCity(String) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getAddress_City() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='city'" + * @generated + */ + String getCity(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getCity <em>City</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>City</em>' attribute. + * @see #getCity() + * @generated + */ + void setCity(String value); + +} // Address diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/AddressList.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/AddressList.java new file mode 100644 index 000000000..cb9d6be40 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/AddressList.java @@ -0,0 +1,103 @@ +/** + * <copyright> + * </copyright> + * + * $Id: AddressList.java,v 1.1 2006/07/11 16:56:56 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Address List</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getFirstAddress <em>First Address</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getSecondAddress <em>Second Address</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getAddressList() + * @model extendedMetaData="name='AddressList' kind='elementOnly'" + * @generated + */ +public interface AddressList extends EObject{ + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>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>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getAddressList_Name() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='name'" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>First Address</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>First Address</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>First Address</em>' containment reference. + * @see #setFirstAddress(FirstAddressHolder) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getAddressList_FirstAddress() + * @model containment="true" resolveProxies="false" required="true" + * extendedMetaData="kind='element' name='firstAddress'" + * @generated + */ + FirstAddressHolder getFirstAddress(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getFirstAddress <em>First Address</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>First Address</em>' containment reference. + * @see #getFirstAddress() + * @generated + */ + void setFirstAddress(FirstAddressHolder value); + + /** + * Returns the value of the '<em><b>Second Address</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Second Address</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Second Address</em>' reference list. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getAddressList_SecondAddress() + * @model type="org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address" required="true" + * extendedMetaData="kind='element' name='secondAddress'" + * @generated + */ + EList getSecondAddress(); + +} // AddressList diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/DistrictUKAddress.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/DistrictUKAddress.java new file mode 100644 index 000000000..0d066905c --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/DistrictUKAddress.java @@ -0,0 +1,81 @@ +/** + * <copyright> + * </copyright> + * + * $Id: DistrictUKAddress.java,v 1.1 2006/07/11 16:56:56 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>District UK Address</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress#getDistrict <em>District</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getDistrictUKAddress() + * @model extendedMetaData="name='DistrictUKAddress' kind='elementOnly'" + * @generated + */ +public interface DistrictUKAddress extends UKAddress{ + /** + * Returns the value of the '<em><b>District</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>District</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>District</em>' attribute. + * @see #isSetDistrict() + * @see #unsetDistrict() + * @see #setDistrict(String) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getDistrictUKAddress_District() + * @model unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String" required="true" + * extendedMetaData="kind='element' name='district'" + * @generated + */ + String getDistrict(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress#getDistrict <em>District</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>District</em>' attribute. + * @see #isSetDistrict() + * @see #unsetDistrict() + * @see #getDistrict() + * @generated + */ + void setDistrict(String value); + + /** + * Unsets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress#getDistrict <em>District</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDistrict() + * @see #getDistrict() + * @see #setDistrict(String) + * @generated + */ + void unsetDistrict(); + + /** + * Returns whether the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress#getDistrict <em>District</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>District</em>' attribute is set. + * @see #unsetDistrict() + * @see #getDistrict() + * @see #setDistrict(String) + * @generated + */ + boolean isSetDistrict(); + +} // DistrictUKAddress diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/ExtensionFactory.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/ExtensionFactory.java new file mode 100644 index 000000000..d92986671 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/ExtensionFactory.java @@ -0,0 +1,91 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ExtensionFactory.java,v 1.1 2006/07/11 16:56:56 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage + * @generated + */ +public interface ExtensionFactory extends EFactory{ + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + ExtensionFactory eINSTANCE = new org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionFactoryImpl(); + + /** + * Returns a new object of class '<em>Address List</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Address List</em>'. + * @generated + */ + AddressList createAddressList(); + + /** + * Returns a new object of class '<em>District UK Address</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>District UK Address</em>'. + * @generated + */ + DistrictUKAddress createDistrictUKAddress(); + + /** + * Returns a new object of class '<em>First Address Holder</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>First Address Holder</em>'. + * @generated + */ + FirstAddressHolder createFirstAddressHolder(); + + /** + * Returns a new object of class '<em>International Price</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>International Price</em>'. + * @generated + */ + InternationalPrice createInternationalPrice(); + + /** + * Returns a new object of class '<em>UK Address</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>UK Address</em>'. + * @generated + */ + UKAddress createUKAddress(); + + /** + * Returns a new object of class '<em>US Address</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>US Address</em>'. + * @generated + */ + USAddress createUSAddress(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + ExtensionPackage getExtensionPackage(); + +} //ExtensionFactory diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/ExtensionPackage.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/ExtensionPackage.java new file mode 100644 index 000000000..2904062d0 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/ExtensionPackage.java @@ -0,0 +1,742 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ExtensionPackage.java,v 1.1 2006/07/11 16:56:56 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionFactory + * @model kind="package" + * @generated + */ +public interface ExtensionPackage extends EPackage{ + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "extension"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/emf/teneo/store/test/emf/schemaconstructs/extension"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "extension"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + ExtensionPackage eINSTANCE = org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.AddressImpl <em>Address</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.AddressImpl + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getAddress() + * @generated + */ + int ADDRESS = 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADDRESS__NAME = 0; + + /** + * The feature id for the '<em><b>Street</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADDRESS__STREET = 1; + + /** + * The feature id for the '<em><b>City</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADDRESS__CITY = 2; + + /** + * The number of structural features of the the '<em>Address</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADDRESS_FEATURE_COUNT = 3; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.AddressListImpl <em>Address List</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.AddressListImpl + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getAddressList() + * @generated + */ + int ADDRESS_LIST = 1; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADDRESS_LIST__NAME = 0; + + /** + * The feature id for the '<em><b>First Address</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADDRESS_LIST__FIRST_ADDRESS = 1; + + /** + * The feature id for the '<em><b>Second Address</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADDRESS_LIST__SECOND_ADDRESS = 2; + + /** + * The number of structural features of the the '<em>Address List</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADDRESS_LIST_FEATURE_COUNT = 3; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.FirstAddressHolderImpl <em>First Address Holder</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.FirstAddressHolderImpl + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getFirstAddressHolder() + * @generated + */ + int FIRST_ADDRESS_HOLDER = 3; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.InternationalPriceImpl <em>International Price</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.InternationalPriceImpl + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getInternationalPrice() + * @generated + */ + int INTERNATIONAL_PRICE = 4; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.UKAddressImpl <em>UK Address</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.UKAddressImpl + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getUKAddress() + * @generated + */ + int UK_ADDRESS = 5; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int UK_ADDRESS__NAME = ADDRESS__NAME; + + /** + * The feature id for the '<em><b>Street</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int UK_ADDRESS__STREET = ADDRESS__STREET; + + /** + * The feature id for the '<em><b>City</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int UK_ADDRESS__CITY = ADDRESS__CITY; + + /** + * The feature id for the '<em><b>Postcode</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int UK_ADDRESS__POSTCODE = ADDRESS_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Export Code</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int UK_ADDRESS__EXPORT_CODE = ADDRESS_FEATURE_COUNT + 1; + + /** + * The number of structural features of the the '<em>UK Address</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int UK_ADDRESS_FEATURE_COUNT = ADDRESS_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.DistrictUKAddressImpl <em>District UK Address</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.DistrictUKAddressImpl + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getDistrictUKAddress() + * @generated + */ + int DISTRICT_UK_ADDRESS = 2; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DISTRICT_UK_ADDRESS__NAME = UK_ADDRESS__NAME; + + /** + * The feature id for the '<em><b>Street</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DISTRICT_UK_ADDRESS__STREET = UK_ADDRESS__STREET; + + /** + * The feature id for the '<em><b>City</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DISTRICT_UK_ADDRESS__CITY = UK_ADDRESS__CITY; + + /** + * The feature id for the '<em><b>Postcode</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DISTRICT_UK_ADDRESS__POSTCODE = UK_ADDRESS__POSTCODE; + + /** + * The feature id for the '<em><b>Export Code</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DISTRICT_UK_ADDRESS__EXPORT_CODE = UK_ADDRESS__EXPORT_CODE; + + /** + * The feature id for the '<em><b>District</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DISTRICT_UK_ADDRESS__DISTRICT = UK_ADDRESS_FEATURE_COUNT + 0; + + /** + * The number of structural features of the the '<em>District UK Address</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DISTRICT_UK_ADDRESS_FEATURE_COUNT = UK_ADDRESS_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Value</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FIRST_ADDRESS_HOLDER__VALUE = 0; + + /** + * The number of structural features of the the '<em>First Address Holder</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FIRST_ADDRESS_HOLDER_FEATURE_COUNT = 1; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INTERNATIONAL_PRICE__VALUE = 0; + + /** + * The feature id for the '<em><b>Currency</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INTERNATIONAL_PRICE__CURRENCY = 1; + + /** + * The number of structural features of the the '<em>International Price</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INTERNATIONAL_PRICE_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.USAddressImpl <em>US Address</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.USAddressImpl + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getUSAddress() + * @generated + */ + int US_ADDRESS = 6; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int US_ADDRESS__NAME = ADDRESS__NAME; + + /** + * The feature id for the '<em><b>Street</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int US_ADDRESS__STREET = ADDRESS__STREET; + + /** + * The feature id for the '<em><b>City</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int US_ADDRESS__CITY = ADDRESS__CITY; + + /** + * The feature id for the '<em><b>State</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int US_ADDRESS__STATE = ADDRESS_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Zip</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int US_ADDRESS__ZIP = ADDRESS_FEATURE_COUNT + 1; + + /** + * The number of structural features of the the '<em>US Address</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int US_ADDRESS_FEATURE_COUNT = ADDRESS_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState <em>US State</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getUSState() + * @generated + */ + int US_STATE = 7; + + /** + * The meta object id for the '<em>Postcode</em>' data type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see java.lang.String + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getPostcode() + * @generated + */ + int POSTCODE = 8; + + /** + * The meta object id for the '<em>UK Postcode</em>' data type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see java.lang.String + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getUKPostcode() + * @generated + */ + int UK_POSTCODE = 9; + + /** + * The meta object id for the '<em>US State Object</em>' data type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.ExtensionPackageImpl#getUSStateObject() + * @generated + */ + int US_STATE_OBJECT = 10; + + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address <em>Address</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Address</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address + * @generated + */ + EClass getAddress(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getName() + * @see #getAddress() + * @generated + */ + EAttribute getAddress_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getStreet <em>Street</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Street</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getStreet() + * @see #getAddress() + * @generated + */ + EAttribute getAddress_Street(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getCity <em>City</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>City</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address#getCity() + * @see #getAddress() + * @generated + */ + EAttribute getAddress_City(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList <em>Address List</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Address List</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList + * @generated + */ + EClass getAddressList(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getName() + * @see #getAddressList() + * @generated + */ + EAttribute getAddressList_Name(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getFirstAddress <em>First Address</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>First Address</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getFirstAddress() + * @see #getAddressList() + * @generated + */ + EReference getAddressList_FirstAddress(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getSecondAddress <em>Second Address</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Second Address</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList#getSecondAddress() + * @see #getAddressList() + * @generated + */ + EReference getAddressList_SecondAddress(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress <em>District UK Address</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>District UK Address</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress + * @generated + */ + EClass getDistrictUKAddress(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress#getDistrict <em>District</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>District</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress#getDistrict() + * @see #getDistrictUKAddress() + * @generated + */ + EAttribute getDistrictUKAddress_District(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.FirstAddressHolder <em>First Address Holder</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>First Address Holder</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.FirstAddressHolder + * @generated + */ + EClass getFirstAddressHolder(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.FirstAddressHolder#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Value</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.FirstAddressHolder#getValue() + * @see #getFirstAddressHolder() + * @generated + */ + EReference getFirstAddressHolder_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice <em>International Price</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>International Price</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice + * @generated + */ + EClass getInternationalPrice(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice#getValue() + * @see #getInternationalPrice() + * @generated + */ + EAttribute getInternationalPrice_Value(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice#getCurrency <em>Currency</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Currency</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice#getCurrency() + * @see #getInternationalPrice() + * @generated + */ + EAttribute getInternationalPrice_Currency(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress <em>UK Address</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>UK Address</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress + * @generated + */ + EClass getUKAddress(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress#getPostcode <em>Postcode</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Postcode</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress#getPostcode() + * @see #getUKAddress() + * @generated + */ + EAttribute getUKAddress_Postcode(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress#getExportCode <em>Export Code</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Export Code</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress#getExportCode() + * @see #getUKAddress() + * @generated + */ + EAttribute getUKAddress_ExportCode(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress <em>US Address</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>US Address</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress + * @generated + */ + EClass getUSAddress(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getState <em>State</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>State</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getState() + * @see #getUSAddress() + * @generated + */ + EAttribute getUSAddress_State(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getZip <em>Zip</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Zip</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getZip() + * @see #getUSAddress() + * @generated + */ + EAttribute getUSAddress_Zip(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState <em>US State</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>US State</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState + * @generated + */ + EEnum getUSState(); + + /** + * Returns the meta object for data type '{@link java.lang.String <em>Postcode</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for data type '<em>Postcode</em>'. + * @see java.lang.String + * @model instanceClass="java.lang.String" + * extendedMetaData="name='Postcode' baseType='http://www.eclipse.org/emf/2003/XMLType#string' length='7'" + * @generated + */ + EDataType getPostcode(); + + /** + * Returns the meta object for data type '{@link java.lang.String <em>UK Postcode</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for data type '<em>UK Postcode</em>'. + * @see java.lang.String + * @model instanceClass="java.lang.String" + * extendedMetaData="name='UKPostcode' baseType='Postcode' pattern='[A-Z]{2}\\d\\s\\d[A-Z]{2}'" + * @generated + */ + EDataType getUKPostcode(); + + /** + * Returns the meta object for data type '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState <em>US State Object</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for data type '<em>US State Object</em>'. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState + * @model instanceClass="org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState" + * extendedMetaData="name='USState:Object' baseType='USState'" + * @generated + */ + EDataType getUSStateObject(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + ExtensionFactory getExtensionFactory(); + +} //ExtensionPackage diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/FirstAddressHolder.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/FirstAddressHolder.java new file mode 100644 index 000000000..44ec28ab1 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/FirstAddressHolder.java @@ -0,0 +1,47 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FirstAddressHolder.java,v 1.1 2006/07/11 16:56:56 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>First Address Holder</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.FirstAddressHolder#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getFirstAddressHolder() + * @model extendedMetaData="name='firstAddress:holder' kind='simple'" + * @generated + */ +public interface FirstAddressHolder extends EObject { + /** + * Returns the value of the '<em><b>Value</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' reference list. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getFirstAddressHolder_Value() + * @model type="org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address" resolveProxies="false" + * extendedMetaData="name=':0' kind='simple'" + * @generated + */ + EList getValue(); + +} // FirstAddressHolder diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/InternationalPrice.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/InternationalPrice.java new file mode 100644 index 000000000..a76b6f966 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/InternationalPrice.java @@ -0,0 +1,85 @@ +/** + * <copyright> + * </copyright> + * + * $Id: InternationalPrice.java,v 1.1 2006/07/11 16:56:56 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension; + +import java.math.BigDecimal; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>International Price</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice#getValue <em>Value</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice#getCurrency <em>Currency</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getInternationalPrice() + * @model extendedMetaData="name='internationalPrice' kind='simple'" + * @generated + */ +public interface InternationalPrice extends EObject { + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(BigDecimal) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getInternationalPrice_Value() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.Decimal" + * extendedMetaData="name=':0' kind='simple'" + * @generated + */ + BigDecimal getValue(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #getValue() + * @generated + */ + void setValue(BigDecimal value); + + /** + * Returns the value of the '<em><b>Currency</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Currency</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Currency</em>' attribute. + * @see #setCurrency(String) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getInternationalPrice_Currency() + * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" + * extendedMetaData="kind='attribute' name='currency'" + * @generated + */ + String getCurrency(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice#getCurrency <em>Currency</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Currency</em>' attribute. + * @see #getCurrency() + * @generated + */ + void setCurrency(String value); + +} // InternationalPrice diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/UKAddress.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/UKAddress.java new file mode 100644 index 000000000..c921b7ddb --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/UKAddress.java @@ -0,0 +1,111 @@ +/** + * <copyright> + * </copyright> + * + * $Id: UKAddress.java,v 1.1 2006/07/11 16:56:57 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension; + +import java.math.BigInteger; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>UK Address</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress#getPostcode <em>Postcode</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress#getExportCode <em>Export Code</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getUKAddress() + * @model extendedMetaData="name='UKAddress' kind='elementOnly'" + * @generated + */ +public interface UKAddress extends Address { + /** + * Returns the value of the '<em><b>Postcode</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Postcode</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Postcode</em>' attribute. + * @see #setPostcode(String) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getUKAddress_Postcode() + * @model unique="false" dataType="org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKPostcode" required="true" + * extendedMetaData="kind='element' name='postcode'" + * @generated + */ + String getPostcode(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress#getPostcode <em>Postcode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Postcode</em>' attribute. + * @see #getPostcode() + * @generated + */ + void setPostcode(String value); + + /** + * Returns the value of the '<em><b>Export Code</b></em>' attribute. + * The default value is <code>"1"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Export Code</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Export Code</em>' attribute. + * @see #isSetExportCode() + * @see #unsetExportCode() + * @see #setExportCode(BigInteger) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getUKAddress_ExportCode() + * @model default="1" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.PositiveInteger" + * extendedMetaData="kind='attribute' name='exportCode'" + * @generated + */ + BigInteger getExportCode(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress#getExportCode <em>Export Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Export Code</em>' attribute. + * @see #isSetExportCode() + * @see #unsetExportCode() + * @see #getExportCode() + * @generated + */ + void setExportCode(BigInteger value); + + /** + * Unsets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress#getExportCode <em>Export Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetExportCode() + * @see #getExportCode() + * @see #setExportCode(BigInteger) + * @generated + */ + void unsetExportCode(); + + /** + * Returns whether the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress#getExportCode <em>Export Code</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Export Code</em>' attribute is set. + * @see #unsetExportCode() + * @see #getExportCode() + * @see #setExportCode(BigInteger) + * @generated + */ + boolean isSetExportCode(); + +} // UKAddress diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/USAddress.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/USAddress.java new file mode 100644 index 000000000..aa7836514 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/USAddress.java @@ -0,0 +1,141 @@ +/** + * <copyright> + * </copyright> + * + * $Id: USAddress.java,v 1.1 2006/07/11 16:56:57 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension; + +import java.math.BigInteger; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>US Address</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getState <em>State</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getZip <em>Zip</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getUSAddress() + * @model extendedMetaData="name='USAddress' kind='elementOnly'" + * @generated + */ +public interface USAddress extends Address{ + /** + * Returns the value of the '<em><b>State</b></em>' attribute. + * The default value is <code>"AK"</code>. + * The literals are from the enumeration {@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>State</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>State</em>' attribute. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState + * @see #isSetState() + * @see #unsetState() + * @see #setState(USState) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getUSAddress_State() + * @model default="AK" unique="false" unsettable="true" required="true" + * extendedMetaData="kind='element' name='state'" + * @generated + */ + USState getState(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getState <em>State</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>State</em>' attribute. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState + * @see #isSetState() + * @see #unsetState() + * @see #getState() + * @generated + */ + void setState(USState value); + + /** + * Unsets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getState <em>State</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetState() + * @see #getState() + * @see #setState(USState) + * @generated + */ + void unsetState(); + + /** + * Returns whether the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getState <em>State</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>State</em>' attribute is set. + * @see #unsetState() + * @see #getState() + * @see #setState(USState) + * @generated + */ + boolean isSetState(); + + /** + * Returns the value of the '<em><b>Zip</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Zip</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Zip</em>' attribute. + * @see #isSetZip() + * @see #unsetZip() + * @see #setZip(BigInteger) + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getUSAddress_Zip() + * @model unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.PositiveInteger" required="true" + * extendedMetaData="kind='element' name='zip'" + * @generated + */ + BigInteger getZip(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getZip <em>Zip</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Zip</em>' attribute. + * @see #isSetZip() + * @see #unsetZip() + * @see #getZip() + * @generated + */ + void setZip(BigInteger value); + + /** + * Unsets the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getZip <em>Zip</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetZip() + * @see #getZip() + * @see #setZip(BigInteger) + * @generated + */ + void unsetZip(); + + /** + * Returns whether the value of the '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress#getZip <em>Zip</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Zip</em>' attribute is set. + * @see #unsetZip() + * @see #getZip() + * @see #setZip(BigInteger) + * @generated + */ + boolean isSetZip(); + +} // USAddress diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/USState.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/USState.java new file mode 100644 index 000000000..f32aa7ab9 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/USState.java @@ -0,0 +1,162 @@ +/** + * <copyright> + * </copyright> + * + * $Id: USState.java,v 1.1 2006/07/11 16:56:57 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.AbstractEnumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>US State</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#getUSState() + * @model + * @generated + */ +public final class USState extends AbstractEnumerator { + /** + * The '<em><b>AK</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>AK</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #AK_LITERAL + * @model + * @generated + * @ordered + */ + public static final int AK = 0; + + /** + * The '<em><b>AL</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>AL</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #AL_LITERAL + * @model + * @generated + * @ordered + */ + public static final int AL = 1; + + /** + * The '<em><b>AR</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>AR</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #AR_LITERAL + * @model + * @generated + * @ordered + */ + public static final int AR = 2; + + /** + * The '<em><b>AK</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #AK + * @generated + * @ordered + */ + public static final USState AK_LITERAL = new USState(AK, "AK"); + + /** + * The '<em><b>AL</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #AL + * @generated + * @ordered + */ + public static final USState AL_LITERAL = new USState(AL, "AL"); + + /** + * The '<em><b>AR</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #AR + * @generated + * @ordered + */ + public static final USState AR_LITERAL = new USState(AR, "AR"); + + /** + * An array of all the '<em><b>US State</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final USState[] VALUES_ARRAY = + new USState[] { + AK_LITERAL, + AL_LITERAL, + AR_LITERAL, + }; + + /** + * A public read-only list of all the '<em><b>US State</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>US State</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static USState get(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + USState result = VALUES_ARRAY[i]; + if (result.toString().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>US State</b></em>' literal with the specified value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static USState get(int value) { + switch (value) { + case AK: return AK_LITERAL; + case AL: return AL_LITERAL; + case AR: return AR_LITERAL; + } + return null; + } + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private USState(int value, String name) { + super(value, name); + } + +} //USState diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/AddressImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/AddressImpl.java new file mode 100644 index 000000000..9e0cd90cb --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/AddressImpl.java @@ -0,0 +1,270 @@ +/** + * <copyright> + * </copyright> + * + * $Id: AddressImpl.java,v 1.1 2006/07/11 16:56:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.EObjectImpl; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Address</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.AddressImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.AddressImpl#getStreet <em>Street</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.AddressImpl#getCity <em>City</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public abstract class AddressImpl extends EObjectImpl implements Address { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getStreet() <em>Street</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStreet() + * @generated + * @ordered + */ + protected static final String STREET_EDEFAULT = null; + + /** + * The cached value of the '{@link #getStreet() <em>Street</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStreet() + * @generated + * @ordered + */ + protected String street = STREET_EDEFAULT; + + /** + * The default value of the '{@link #getCity() <em>City</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCity() + * @generated + * @ordered + */ + protected static final String CITY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCity() <em>City</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCity() + * @generated + * @ordered + */ + protected String city = CITY_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AddressImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return ExtensionPackage.eINSTANCE.getAddress(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.ADDRESS__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getStreet() { + return street; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStreet(String newStreet) { + String oldStreet = street; + street = newStreet; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.ADDRESS__STREET, oldStreet, street)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCity() { + return city; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCity(String newCity) { + String oldCity = city; + city = newCity; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.ADDRESS__CITY, oldCity, city)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(EStructuralFeature eFeature, boolean resolve) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.ADDRESS__NAME: + return getName(); + case ExtensionPackage.ADDRESS__STREET: + return getStreet(); + case ExtensionPackage.ADDRESS__CITY: + return getCity(); + } + return eDynamicGet(eFeature, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(EStructuralFeature eFeature, Object newValue) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.ADDRESS__NAME: + setName((String)newValue); + return; + case ExtensionPackage.ADDRESS__STREET: + setStreet((String)newValue); + return; + case ExtensionPackage.ADDRESS__CITY: + setCity((String)newValue); + return; + } + eDynamicSet(eFeature, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.ADDRESS__NAME: + setName(NAME_EDEFAULT); + return; + case ExtensionPackage.ADDRESS__STREET: + setStreet(STREET_EDEFAULT); + return; + case ExtensionPackage.ADDRESS__CITY: + setCity(CITY_EDEFAULT); + return; + } + eDynamicUnset(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.ADDRESS__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case ExtensionPackage.ADDRESS__STREET: + return STREET_EDEFAULT == null ? street != null : !STREET_EDEFAULT.equals(street); + case ExtensionPackage.ADDRESS__CITY: + return CITY_EDEFAULT == null ? city != null : !CITY_EDEFAULT.equals(city); + } + return eDynamicIsSet(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(", street: "); + result.append(street); + result.append(", city: "); + result.append(city); + result.append(')'); + return result.toString(); + } + +} //AddressImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/AddressListImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/AddressListImpl.java new file mode 100644 index 000000000..71c85f0ff --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/AddressListImpl.java @@ -0,0 +1,287 @@ +/** + * <copyright> + * </copyright> + * + * $Id: AddressListImpl.java,v 1.1 2006/07/11 16:56:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl; + +import java.util.Collection; + +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.EStructuralFeature; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.EObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.FirstAddressHolder; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Address List</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.AddressListImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.AddressListImpl#getFirstAddress <em>First Address</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.AddressListImpl#getSecondAddress <em>Second Address</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class AddressListImpl extends EObjectImpl implements AddressList { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getFirstAddress() <em>First Address</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFirstAddress() + * @generated + * @ordered + */ + protected FirstAddressHolder firstAddress = null; + + /** + * The cached value of the '{@link #getSecondAddress() <em>Second Address</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSecondAddress() + * @generated + * @ordered + */ + protected EList secondAddress = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AddressListImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return ExtensionPackage.eINSTANCE.getAddressList(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.ADDRESS_LIST__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FirstAddressHolder getFirstAddress() { + return firstAddress; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetFirstAddress(FirstAddressHolder newFirstAddress, NotificationChain msgs) { + FirstAddressHolder oldFirstAddress = firstAddress; + firstAddress = newFirstAddress; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ExtensionPackage.ADDRESS_LIST__FIRST_ADDRESS, oldFirstAddress, newFirstAddress); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFirstAddress(FirstAddressHolder newFirstAddress) { + if (newFirstAddress != firstAddress) { + NotificationChain msgs = null; + if (firstAddress != null) + msgs = ((InternalEObject)firstAddress).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ExtensionPackage.ADDRESS_LIST__FIRST_ADDRESS, null, msgs); + if (newFirstAddress != null) + msgs = ((InternalEObject)newFirstAddress).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ExtensionPackage.ADDRESS_LIST__FIRST_ADDRESS, null, msgs); + msgs = basicSetFirstAddress(newFirstAddress, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.ADDRESS_LIST__FIRST_ADDRESS, newFirstAddress, newFirstAddress)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList getSecondAddress() { + if (secondAddress == null) { + secondAddress = new EObjectResolvingEList(Address.class, this, ExtensionPackage.ADDRESS_LIST__SECOND_ADDRESS); + } + return secondAddress; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) { + if (featureID >= 0) { + switch (eDerivedStructuralFeatureID(featureID, baseClass)) { + case ExtensionPackage.ADDRESS_LIST__FIRST_ADDRESS: + return basicSetFirstAddress(null, msgs); + default: + return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs); + } + } + return eBasicSetContainer(null, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(EStructuralFeature eFeature, boolean resolve) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.ADDRESS_LIST__NAME: + return getName(); + case ExtensionPackage.ADDRESS_LIST__FIRST_ADDRESS: + return getFirstAddress(); + case ExtensionPackage.ADDRESS_LIST__SECOND_ADDRESS: + return getSecondAddress(); + } + return eDynamicGet(eFeature, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(EStructuralFeature eFeature, Object newValue) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.ADDRESS_LIST__NAME: + setName((String)newValue); + return; + case ExtensionPackage.ADDRESS_LIST__FIRST_ADDRESS: + setFirstAddress((FirstAddressHolder)newValue); + return; + case ExtensionPackage.ADDRESS_LIST__SECOND_ADDRESS: + getSecondAddress().clear(); + getSecondAddress().addAll((Collection)newValue); + return; + } + eDynamicSet(eFeature, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.ADDRESS_LIST__NAME: + setName(NAME_EDEFAULT); + return; + case ExtensionPackage.ADDRESS_LIST__FIRST_ADDRESS: + setFirstAddress((FirstAddressHolder)null); + return; + case ExtensionPackage.ADDRESS_LIST__SECOND_ADDRESS: + getSecondAddress().clear(); + return; + } + eDynamicUnset(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.ADDRESS_LIST__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case ExtensionPackage.ADDRESS_LIST__FIRST_ADDRESS: + return firstAddress != null; + case ExtensionPackage.ADDRESS_LIST__SECOND_ADDRESS: + return secondAddress != null && !secondAddress.isEmpty(); + } + return eDynamicIsSet(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //AddressListImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/DistrictUKAddressImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/DistrictUKAddressImpl.java new file mode 100644 index 000000000..d5ed45876 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/DistrictUKAddressImpl.java @@ -0,0 +1,247 @@ +/** + * <copyright> + * </copyright> + * + * $Id: DistrictUKAddressImpl.java,v 1.1 2006/07/11 16:56:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl; + +import java.math.BigInteger; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>District UK Address</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.DistrictUKAddressImpl#getDistrict <em>District</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class DistrictUKAddressImpl extends UKAddressImpl implements DistrictUKAddress { + /** + * The default value of the '{@link #getDistrict() <em>District</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDistrict() + * @generated + * @ordered + */ + protected static final String DISTRICT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getDistrict() <em>District</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDistrict() + * @generated + * @ordered + */ + protected String district = DISTRICT_EDEFAULT; + + /** + * This is true if the District attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean districtESet = false; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DistrictUKAddressImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return ExtensionPackage.eINSTANCE.getDistrictUKAddress(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getDistrict() { + return district; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setDistrict(String newDistrict) { + String oldDistrict = district; + district = newDistrict; + boolean oldDistrictESet = districtESet; + districtESet = true; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.DISTRICT_UK_ADDRESS__DISTRICT, oldDistrict, district, !oldDistrictESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetDistrict() { + String oldDistrict = district; + boolean oldDistrictESet = districtESet; + district = DISTRICT_EDEFAULT; + districtESet = false; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.UNSET, ExtensionPackage.DISTRICT_UK_ADDRESS__DISTRICT, oldDistrict, DISTRICT_EDEFAULT, oldDistrictESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetDistrict() { + return districtESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(EStructuralFeature eFeature, boolean resolve) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.DISTRICT_UK_ADDRESS__NAME: + return getName(); + case ExtensionPackage.DISTRICT_UK_ADDRESS__STREET: + return getStreet(); + case ExtensionPackage.DISTRICT_UK_ADDRESS__CITY: + return getCity(); + case ExtensionPackage.DISTRICT_UK_ADDRESS__POSTCODE: + return getPostcode(); + case ExtensionPackage.DISTRICT_UK_ADDRESS__EXPORT_CODE: + return getExportCode(); + case ExtensionPackage.DISTRICT_UK_ADDRESS__DISTRICT: + return getDistrict(); + } + return eDynamicGet(eFeature, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(EStructuralFeature eFeature, Object newValue) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.DISTRICT_UK_ADDRESS__NAME: + setName((String)newValue); + return; + case ExtensionPackage.DISTRICT_UK_ADDRESS__STREET: + setStreet((String)newValue); + return; + case ExtensionPackage.DISTRICT_UK_ADDRESS__CITY: + setCity((String)newValue); + return; + case ExtensionPackage.DISTRICT_UK_ADDRESS__POSTCODE: + setPostcode((String)newValue); + return; + case ExtensionPackage.DISTRICT_UK_ADDRESS__EXPORT_CODE: + setExportCode((BigInteger)newValue); + return; + case ExtensionPackage.DISTRICT_UK_ADDRESS__DISTRICT: + setDistrict((String)newValue); + return; + } + eDynamicSet(eFeature, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.DISTRICT_UK_ADDRESS__NAME: + setName(NAME_EDEFAULT); + return; + case ExtensionPackage.DISTRICT_UK_ADDRESS__STREET: + setStreet(STREET_EDEFAULT); + return; + case ExtensionPackage.DISTRICT_UK_ADDRESS__CITY: + setCity(CITY_EDEFAULT); + return; + case ExtensionPackage.DISTRICT_UK_ADDRESS__POSTCODE: + setPostcode(POSTCODE_EDEFAULT); + return; + case ExtensionPackage.DISTRICT_UK_ADDRESS__EXPORT_CODE: + unsetExportCode(); + return; + case ExtensionPackage.DISTRICT_UK_ADDRESS__DISTRICT: + unsetDistrict(); + return; + } + eDynamicUnset(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.DISTRICT_UK_ADDRESS__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case ExtensionPackage.DISTRICT_UK_ADDRESS__STREET: + return STREET_EDEFAULT == null ? street != null : !STREET_EDEFAULT.equals(street); + case ExtensionPackage.DISTRICT_UK_ADDRESS__CITY: + return CITY_EDEFAULT == null ? city != null : !CITY_EDEFAULT.equals(city); + case ExtensionPackage.DISTRICT_UK_ADDRESS__POSTCODE: + return POSTCODE_EDEFAULT == null ? postcode != null : !POSTCODE_EDEFAULT.equals(postcode); + case ExtensionPackage.DISTRICT_UK_ADDRESS__EXPORT_CODE: + return isSetExportCode(); + case ExtensionPackage.DISTRICT_UK_ADDRESS__DISTRICT: + return isSetDistrict(); + } + return eDynamicIsSet(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (district: "); + if (districtESet) result.append(district); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + +} //DistrictUKAddressImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/ExtensionFactoryImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/ExtensionFactoryImpl.java new file mode 100644 index 000000000..fe49599f0 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/ExtensionFactoryImpl.java @@ -0,0 +1,231 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ExtensionFactoryImpl.java,v 1.1 2006/07/11 16:56:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.xml.type.XMLTypeFactory; +import org.eclipse.emf.ecore.xml.type.XMLTypePackage; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.*; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class ExtensionFactoryImpl extends EFactoryImpl implements ExtensionFactory { + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtensionFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case ExtensionPackage.ADDRESS_LIST: return createAddressList(); + case ExtensionPackage.DISTRICT_UK_ADDRESS: return createDistrictUKAddress(); + case ExtensionPackage.FIRST_ADDRESS_HOLDER: return createFirstAddressHolder(); + case ExtensionPackage.INTERNATIONAL_PRICE: return createInternationalPrice(); + case ExtensionPackage.UK_ADDRESS: return createUKAddress(); + case ExtensionPackage.US_ADDRESS: return createUSAddress(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object createFromString(EDataType eDataType, String initialValue) { + switch (eDataType.getClassifierID()) { + case ExtensionPackage.US_STATE: { + USState result = USState.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + case ExtensionPackage.POSTCODE: + return createPostcodeFromString(eDataType, initialValue); + case ExtensionPackage.UK_POSTCODE: + return createUKPostcodeFromString(eDataType, initialValue); + case ExtensionPackage.US_STATE_OBJECT: + return createUSStateObjectFromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertToString(EDataType eDataType, Object instanceValue) { + switch (eDataType.getClassifierID()) { + case ExtensionPackage.US_STATE: + return instanceValue == null ? null : instanceValue.toString(); + case ExtensionPackage.POSTCODE: + return convertPostcodeToString(eDataType, instanceValue); + case ExtensionPackage.UK_POSTCODE: + return convertUKPostcodeToString(eDataType, instanceValue); + case ExtensionPackage.US_STATE_OBJECT: + return convertUSStateObjectToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AddressList createAddressList() { + AddressListImpl addressList = new AddressListImpl(); + return addressList; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DistrictUKAddress createDistrictUKAddress() { + DistrictUKAddressImpl districtUKAddress = new DistrictUKAddressImpl(); + return districtUKAddress; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FirstAddressHolder createFirstAddressHolder() { + FirstAddressHolderImpl firstAddressHolder = new FirstAddressHolderImpl(); + return firstAddressHolder; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InternationalPrice createInternationalPrice() { + InternationalPriceImpl internationalPrice = new InternationalPriceImpl(); + return internationalPrice; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UKAddress createUKAddress() { + UKAddressImpl ukAddress = new UKAddressImpl(); + return ukAddress; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public USAddress createUSAddress() { + USAddressImpl usAddress = new USAddressImpl(); + return usAddress; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String createPostcodeFromString(EDataType eDataType, String initialValue) { + return (String)XMLTypeFactory.eINSTANCE.createFromString(XMLTypePackage.eINSTANCE.getString(), initialValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertPostcodeToString(EDataType eDataType, Object instanceValue) { + return XMLTypeFactory.eINSTANCE.convertToString(XMLTypePackage.eINSTANCE.getString(), instanceValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String createUKPostcodeFromString(EDataType eDataType, String initialValue) { + return (String)ExtensionFactory.eINSTANCE.createFromString(ExtensionPackage.eINSTANCE.getPostcode(), initialValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertUKPostcodeToString(EDataType eDataType, Object instanceValue) { + return ExtensionFactory.eINSTANCE.convertToString(ExtensionPackage.eINSTANCE.getPostcode(), instanceValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public USState createUSStateObjectFromString(EDataType eDataType, String initialValue) { + return (USState)ExtensionFactory.eINSTANCE.createFromString(ExtensionPackage.eINSTANCE.getUSState(), initialValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertUSStateObjectToString(EDataType eDataType, Object instanceValue) { + return ExtensionFactory.eINSTANCE.convertToString(ExtensionPackage.eINSTANCE.getUSState(), instanceValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtensionPackage getExtensionPackage() { + return (ExtensionPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + public static ExtensionPackage getPackage() { + return ExtensionPackage.eINSTANCE; + } + +} //ExtensionFactoryImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/ExtensionPackageImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/ExtensionPackageImpl.java new file mode 100644 index 000000000..ebdb6ffa6 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/ExtensionPackageImpl.java @@ -0,0 +1,755 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ExtensionPackageImpl.java,v 1.1 2006/07/11 16:56:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EValidator; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import org.eclipse.emf.ecore.xml.type.XMLTypePackage; + +import org.eclipse.emf.ecore.xml.type.impl.XMLTypePackageImpl; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionFactory; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.FirstAddressHolder; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.util.ExtensionValidator; + + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class ExtensionPackageImpl extends EPackageImpl implements ExtensionPackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass addressEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass addressListEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass districtUKAddressEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass firstAddressHolderEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass internationalPriceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass ukAddressEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass usAddressEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum usStateEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EDataType postcodeEDataType = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EDataType ukPostcodeEDataType = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EDataType usStateObjectEDataType = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage#eNS_URI + * @see #init() + * @generated + */ + private ExtensionPackageImpl() { + super(eNS_URI, ExtensionFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this + * model, and for any others upon which it depends. Simple + * dependencies are satisfied by calling this method on all + * dependent packages before doing anything else. This method drives + * initialization for interdependent packages directly, in parallel + * with this package, itself. + * <p>Of this package and its interdependencies, all packages which + * have not yet been registered by their URI values are first created + * and registered. The packages are then initialized in two steps: + * meta-model objects for all of the packages are created before any + * are initialized, since one package's meta-model objects may refer to + * those of another. + * <p>Invocation of this method will not affect any packages that have + * already been initialized. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static ExtensionPackage init() { + if (isInited) return (ExtensionPackage)EPackage.Registry.INSTANCE.getEPackage(ExtensionPackage.eNS_URI); + + // Obtain or create and register package + ExtensionPackageImpl theExtensionPackage = (ExtensionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof ExtensionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new ExtensionPackageImpl()); + + isInited = true; + + // Initialize simple dependencies + XMLTypePackageImpl.init(); + + // Create package meta-data objects + theExtensionPackage.createPackageContents(); + + // Initialize created meta-data + theExtensionPackage.initializePackageContents(); + + // Register package validator + EValidator.Registry.INSTANCE.put + (theExtensionPackage, + new EValidator.Descriptor() { + public EValidator getEValidator() { + return ExtensionValidator.INSTANCE; + } + }); + + // Mark meta-data to indicate it can't be changed + theExtensionPackage.freeze(); + + return theExtensionPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getAddress() { + return addressEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAddress_Name() { + return (EAttribute)addressEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAddress_Street() { + return (EAttribute)addressEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAddress_City() { + return (EAttribute)addressEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getAddressList() { + return addressListEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAddressList_Name() { + return (EAttribute)addressListEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getAddressList_FirstAddress() { + return (EReference)addressListEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getAddressList_SecondAddress() { + return (EReference)addressListEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getDistrictUKAddress() { + return districtUKAddressEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getDistrictUKAddress_District() { + return (EAttribute)districtUKAddressEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getFirstAddressHolder() { + return firstAddressHolderEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getFirstAddressHolder_Value() { + return (EReference)firstAddressHolderEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getInternationalPrice() { + return internationalPriceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getInternationalPrice_Value() { + return (EAttribute)internationalPriceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getInternationalPrice_Currency() { + return (EAttribute)internationalPriceEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getUKAddress() { + return ukAddressEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getUKAddress_Postcode() { + return (EAttribute)ukAddressEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getUKAddress_ExportCode() { + return (EAttribute)ukAddressEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getUSAddress() { + return usAddressEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getUSAddress_State() { + return (EAttribute)usAddressEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getUSAddress_Zip() { + return (EAttribute)usAddressEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getUSState() { + return usStateEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EDataType getPostcode() { + return postcodeEDataType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EDataType getUKPostcode() { + return ukPostcodeEDataType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EDataType getUSStateObject() { + return usStateObjectEDataType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtensionFactory getExtensionFactory() { + return (ExtensionFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + addressEClass = createEClass(ADDRESS); + createEAttribute(addressEClass, ADDRESS__NAME); + createEAttribute(addressEClass, ADDRESS__STREET); + createEAttribute(addressEClass, ADDRESS__CITY); + + addressListEClass = createEClass(ADDRESS_LIST); + createEAttribute(addressListEClass, ADDRESS_LIST__NAME); + createEReference(addressListEClass, ADDRESS_LIST__FIRST_ADDRESS); + createEReference(addressListEClass, ADDRESS_LIST__SECOND_ADDRESS); + + districtUKAddressEClass = createEClass(DISTRICT_UK_ADDRESS); + createEAttribute(districtUKAddressEClass, DISTRICT_UK_ADDRESS__DISTRICT); + + firstAddressHolderEClass = createEClass(FIRST_ADDRESS_HOLDER); + createEReference(firstAddressHolderEClass, FIRST_ADDRESS_HOLDER__VALUE); + + internationalPriceEClass = createEClass(INTERNATIONAL_PRICE); + createEAttribute(internationalPriceEClass, INTERNATIONAL_PRICE__VALUE); + createEAttribute(internationalPriceEClass, INTERNATIONAL_PRICE__CURRENCY); + + ukAddressEClass = createEClass(UK_ADDRESS); + createEAttribute(ukAddressEClass, UK_ADDRESS__POSTCODE); + createEAttribute(ukAddressEClass, UK_ADDRESS__EXPORT_CODE); + + usAddressEClass = createEClass(US_ADDRESS); + createEAttribute(usAddressEClass, US_ADDRESS__STATE); + createEAttribute(usAddressEClass, US_ADDRESS__ZIP); + + // Create enums + usStateEEnum = createEEnum(US_STATE); + + // Create data types + postcodeEDataType = createEDataType(POSTCODE); + ukPostcodeEDataType = createEDataType(UK_POSTCODE); + usStateObjectEDataType = createEDataType(US_STATE_OBJECT); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + XMLTypePackageImpl theXMLTypePackage = (XMLTypePackageImpl)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); + + // Add supertypes to classes + districtUKAddressEClass.getESuperTypes().add(this.getUKAddress()); + ukAddressEClass.getESuperTypes().add(this.getAddress()); + usAddressEClass.getESuperTypes().add(this.getAddress()); + + // Initialize classes and features; add operations and parameters + initEClass(addressEClass, Address.class, "Address", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getAddress_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAddress_Street(), theXMLTypePackage.getString(), "street", null, 1, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAddress_City(), theXMLTypePackage.getString(), "city", null, 1, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(addressListEClass, AddressList.class, "AddressList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getAddressList_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, AddressList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAddressList_FirstAddress(), this.getFirstAddressHolder(), null, "firstAddress", null, 1, 1, AddressList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAddressList_SecondAddress(), this.getAddress(), null, "secondAddress", null, 1, -1, AddressList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(districtUKAddressEClass, DistrictUKAddress.class, "DistrictUKAddress", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getDistrictUKAddress_District(), theXMLTypePackage.getString(), "district", null, 1, 1, DistrictUKAddress.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(firstAddressHolderEClass, FirstAddressHolder.class, "FirstAddressHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getFirstAddressHolder_Value(), this.getAddress(), null, "value", null, 0, -1, FirstAddressHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(internationalPriceEClass, InternationalPrice.class, "InternationalPrice", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getInternationalPrice_Value(), theXMLTypePackage.getDecimal(), "value", null, 0, 1, InternationalPrice.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getInternationalPrice_Currency(), theXMLTypePackage.getString(), "currency", null, 0, 1, InternationalPrice.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(ukAddressEClass, UKAddress.class, "UKAddress", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getUKAddress_Postcode(), this.getUKPostcode(), "postcode", null, 1, 1, UKAddress.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getUKAddress_ExportCode(), theXMLTypePackage.getPositiveInteger(), "exportCode", "1", 0, 1, UKAddress.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(usAddressEClass, USAddress.class, "USAddress", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getUSAddress_State(), this.getUSState(), "state", "AK", 1, 1, USAddress.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getUSAddress_Zip(), theXMLTypePackage.getPositiveInteger(), "zip", null, 1, 1, USAddress.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Initialize enums and add enum literals + initEEnum(usStateEEnum, USState.class, "USState"); + addEEnumLiteral(usStateEEnum, USState.AK_LITERAL); + addEEnumLiteral(usStateEEnum, USState.AL_LITERAL); + addEEnumLiteral(usStateEEnum, USState.AR_LITERAL); + + // Initialize data types + initEDataType(postcodeEDataType, String.class, "Postcode", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); + initEDataType(ukPostcodeEDataType, String.class, "UKPostcode", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); + initEDataType(usStateObjectEDataType, USState.class, "USStateObject", IS_SERIALIZABLE, IS_GENERATED_INSTANCE_CLASS); + + // Create resource + createResource(eNS_URI); + + // Create annotations + // http:///org/eclipse/emf/ecore/util/ExtendedMetaData + createExtendedMetaDataAnnotations(); + } + + /** + * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void createExtendedMetaDataAnnotations() { + String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; + addAnnotation + (addressEClass, + source, + new String[] { + "name", "Address", + "kind", "elementOnly" + }); + addAnnotation + (getAddress_Name(), + source, + new String[] { + "kind", "element", + "name", "name" + }); + addAnnotation + (getAddress_Street(), + source, + new String[] { + "kind", "element", + "name", "street" + }); + addAnnotation + (getAddress_City(), + source, + new String[] { + "kind", "element", + "name", "city" + }); + addAnnotation + (addressListEClass, + source, + new String[] { + "name", "AddressList", + "kind", "elementOnly" + }); + addAnnotation + (getAddressList_Name(), + source, + new String[] { + "kind", "element", + "name", "name" + }); + addAnnotation + (getAddressList_FirstAddress(), + source, + new String[] { + "kind", "element", + "name", "firstAddress" + }); + addAnnotation + (getAddressList_SecondAddress(), + source, + new String[] { + "kind", "element", + "name", "secondAddress" + }); + addAnnotation + (districtUKAddressEClass, + source, + new String[] { + "name", "DistrictUKAddress", + "kind", "elementOnly" + }); + addAnnotation + (getDistrictUKAddress_District(), + source, + new String[] { + "kind", "element", + "name", "district" + }); + addAnnotation + (firstAddressHolderEClass, + source, + new String[] { + "name", "firstAddress:holder", + "kind", "simple" + }); + addAnnotation + (getFirstAddressHolder_Value(), + source, + new String[] { + "name", ":0", + "kind", "simple" + }); + addAnnotation + (internationalPriceEClass, + source, + new String[] { + "name", "internationalPrice", + "kind", "simple" + }); + addAnnotation + (getInternationalPrice_Value(), + source, + new String[] { + "name", ":0", + "kind", "simple" + }); + addAnnotation + (getInternationalPrice_Currency(), + source, + new String[] { + "kind", "attribute", + "name", "currency" + }); + addAnnotation + (postcodeEDataType, + source, + new String[] { + "name", "Postcode", + "baseType", "http://www.eclipse.org/emf/2003/XMLType#string", + "length", "7" + }); + addAnnotation + (ukAddressEClass, + source, + new String[] { + "name", "UKAddress", + "kind", "elementOnly" + }); + addAnnotation + (getUKAddress_Postcode(), + source, + new String[] { + "kind", "element", + "name", "postcode" + }); + addAnnotation + (getUKAddress_ExportCode(), + source, + new String[] { + "kind", "attribute", + "name", "exportCode" + }); + addAnnotation + (ukPostcodeEDataType, + source, + new String[] { + "name", "UKPostcode", + "baseType", "Postcode", + "pattern", "[A-Z]{2}\\d\\s\\d[A-Z]{2}" + }); + addAnnotation + (usAddressEClass, + source, + new String[] { + "name", "USAddress", + "kind", "elementOnly" + }); + addAnnotation + (getUSAddress_State(), + source, + new String[] { + "kind", "element", + "name", "state" + }); + addAnnotation + (getUSAddress_Zip(), + source, + new String[] { + "kind", "element", + "name", "zip" + }); + addAnnotation + (usStateEEnum, + source, + new String[] { + "name", "USState" + }); + addAnnotation + (usStateObjectEDataType, + source, + new String[] { + "name", "USState:Object", + "baseType", "USState" + }); + } + +} //ExtensionPackageImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/FirstAddressHolderImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/FirstAddressHolderImpl.java new file mode 100644 index 000000000..a4088f3d2 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/FirstAddressHolderImpl.java @@ -0,0 +1,133 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FirstAddressHolderImpl.java,v 1.1 2006/07/11 16:56:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.ecore.impl.EObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectEList; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.FirstAddressHolder; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>First Address Holder</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.FirstAddressHolderImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class FirstAddressHolderImpl extends EObjectImpl implements FirstAddressHolder { + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected EList value = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FirstAddressHolderImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return ExtensionPackage.eINSTANCE.getFirstAddressHolder(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList getValue() { + if (value == null) { + value = new EObjectEList(Address.class, this, ExtensionPackage.FIRST_ADDRESS_HOLDER__VALUE); + } + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(EStructuralFeature eFeature, boolean resolve) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.FIRST_ADDRESS_HOLDER__VALUE: + return getValue(); + } + return eDynamicGet(eFeature, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(EStructuralFeature eFeature, Object newValue) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.FIRST_ADDRESS_HOLDER__VALUE: + getValue().clear(); + getValue().addAll((Collection)newValue); + return; + } + eDynamicSet(eFeature, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.FIRST_ADDRESS_HOLDER__VALUE: + getValue().clear(); + return; + } + eDynamicUnset(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.FIRST_ADDRESS_HOLDER__VALUE: + return value != null && !value.isEmpty(); + } + return eDynamicIsSet(eFeature); + } + +} //FirstAddressHolderImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/InternationalPriceImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/InternationalPriceImpl.java new file mode 100644 index 000000000..1f9f42ab4 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/InternationalPriceImpl.java @@ -0,0 +1,218 @@ +/** + * <copyright> + * </copyright> + * + * $Id: InternationalPriceImpl.java,v 1.1 2006/07/11 16:56:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl; + +import java.math.BigDecimal; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.EObjectImpl; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>International Price</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.InternationalPriceImpl#getValue <em>Value</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.InternationalPriceImpl#getCurrency <em>Currency</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class InternationalPriceImpl extends EObjectImpl implements InternationalPrice { + /** + * The default value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final BigDecimal VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected BigDecimal value = VALUE_EDEFAULT; + + /** + * The default value of the '{@link #getCurrency() <em>Currency</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCurrency() + * @generated + * @ordered + */ + protected static final String CURRENCY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCurrency() <em>Currency</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCurrency() + * @generated + * @ordered + */ + protected String currency = CURRENCY_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InternationalPriceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return ExtensionPackage.eINSTANCE.getInternationalPrice(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(BigDecimal newValue) { + BigDecimal oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.INTERNATIONAL_PRICE__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCurrency() { + return currency; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCurrency(String newCurrency) { + String oldCurrency = currency; + currency = newCurrency; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.INTERNATIONAL_PRICE__CURRENCY, oldCurrency, currency)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(EStructuralFeature eFeature, boolean resolve) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.INTERNATIONAL_PRICE__VALUE: + return getValue(); + case ExtensionPackage.INTERNATIONAL_PRICE__CURRENCY: + return getCurrency(); + } + return eDynamicGet(eFeature, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(EStructuralFeature eFeature, Object newValue) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.INTERNATIONAL_PRICE__VALUE: + setValue((BigDecimal)newValue); + return; + case ExtensionPackage.INTERNATIONAL_PRICE__CURRENCY: + setCurrency((String)newValue); + return; + } + eDynamicSet(eFeature, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.INTERNATIONAL_PRICE__VALUE: + setValue(VALUE_EDEFAULT); + return; + case ExtensionPackage.INTERNATIONAL_PRICE__CURRENCY: + setCurrency(CURRENCY_EDEFAULT); + return; + } + eDynamicUnset(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.INTERNATIONAL_PRICE__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + case ExtensionPackage.INTERNATIONAL_PRICE__CURRENCY: + return CURRENCY_EDEFAULT == null ? currency != null : !CURRENCY_EDEFAULT.equals(currency); + } + return eDynamicIsSet(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(", currency: "); + result.append(currency); + result.append(')'); + return result.toString(); + } + +} //InternationalPriceImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/UKAddressImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/UKAddressImpl.java new file mode 100644 index 000000000..661425933 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/UKAddressImpl.java @@ -0,0 +1,281 @@ +/** + * <copyright> + * </copyright> + * + * $Id: UKAddressImpl.java,v 1.1 2006/07/11 16:56:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl; + +import java.math.BigInteger; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>UK Address</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.UKAddressImpl#getPostcode <em>Postcode</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.UKAddressImpl#getExportCode <em>Export Code</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class UKAddressImpl extends AddressImpl implements UKAddress { + /** + * The default value of the '{@link #getPostcode() <em>Postcode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPostcode() + * @generated + * @ordered + */ + protected static final String POSTCODE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getPostcode() <em>Postcode</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPostcode() + * @generated + * @ordered + */ + protected String postcode = POSTCODE_EDEFAULT; + + /** + * The default value of the '{@link #getExportCode() <em>Export Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getExportCode() + * @generated + * @ordered + */ + protected static final BigInteger EXPORT_CODE_EDEFAULT = new BigInteger("1"); + + /** + * The cached value of the '{@link #getExportCode() <em>Export Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getExportCode() + * @generated + * @ordered + */ + protected BigInteger exportCode = EXPORT_CODE_EDEFAULT; + + /** + * This is true if the Export Code attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean exportCodeESet = false; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected UKAddressImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return ExtensionPackage.eINSTANCE.getUKAddress(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getPostcode() { + return postcode; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setPostcode(String newPostcode) { + String oldPostcode = postcode; + postcode = newPostcode; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.UK_ADDRESS__POSTCODE, oldPostcode, postcode)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigInteger getExportCode() { + return exportCode; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setExportCode(BigInteger newExportCode) { + BigInteger oldExportCode = exportCode; + exportCode = newExportCode; + boolean oldExportCodeESet = exportCodeESet; + exportCodeESet = true; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.UK_ADDRESS__EXPORT_CODE, oldExportCode, exportCode, !oldExportCodeESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetExportCode() { + BigInteger oldExportCode = exportCode; + boolean oldExportCodeESet = exportCodeESet; + exportCode = EXPORT_CODE_EDEFAULT; + exportCodeESet = false; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.UNSET, ExtensionPackage.UK_ADDRESS__EXPORT_CODE, oldExportCode, EXPORT_CODE_EDEFAULT, oldExportCodeESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetExportCode() { + return exportCodeESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(EStructuralFeature eFeature, boolean resolve) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.UK_ADDRESS__NAME: + return getName(); + case ExtensionPackage.UK_ADDRESS__STREET: + return getStreet(); + case ExtensionPackage.UK_ADDRESS__CITY: + return getCity(); + case ExtensionPackage.UK_ADDRESS__POSTCODE: + return getPostcode(); + case ExtensionPackage.UK_ADDRESS__EXPORT_CODE: + return getExportCode(); + } + return eDynamicGet(eFeature, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(EStructuralFeature eFeature, Object newValue) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.UK_ADDRESS__NAME: + setName((String)newValue); + return; + case ExtensionPackage.UK_ADDRESS__STREET: + setStreet((String)newValue); + return; + case ExtensionPackage.UK_ADDRESS__CITY: + setCity((String)newValue); + return; + case ExtensionPackage.UK_ADDRESS__POSTCODE: + setPostcode((String)newValue); + return; + case ExtensionPackage.UK_ADDRESS__EXPORT_CODE: + setExportCode((BigInteger)newValue); + return; + } + eDynamicSet(eFeature, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.UK_ADDRESS__NAME: + setName(NAME_EDEFAULT); + return; + case ExtensionPackage.UK_ADDRESS__STREET: + setStreet(STREET_EDEFAULT); + return; + case ExtensionPackage.UK_ADDRESS__CITY: + setCity(CITY_EDEFAULT); + return; + case ExtensionPackage.UK_ADDRESS__POSTCODE: + setPostcode(POSTCODE_EDEFAULT); + return; + case ExtensionPackage.UK_ADDRESS__EXPORT_CODE: + unsetExportCode(); + return; + } + eDynamicUnset(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.UK_ADDRESS__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case ExtensionPackage.UK_ADDRESS__STREET: + return STREET_EDEFAULT == null ? street != null : !STREET_EDEFAULT.equals(street); + case ExtensionPackage.UK_ADDRESS__CITY: + return CITY_EDEFAULT == null ? city != null : !CITY_EDEFAULT.equals(city); + case ExtensionPackage.UK_ADDRESS__POSTCODE: + return POSTCODE_EDEFAULT == null ? postcode != null : !POSTCODE_EDEFAULT.equals(postcode); + case ExtensionPackage.UK_ADDRESS__EXPORT_CODE: + return isSetExportCode(); + } + return eDynamicIsSet(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (postcode: "); + result.append(postcode); + result.append(", exportCode: "); + if (exportCodeESet) result.append(exportCode); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + +} //UKAddressImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/USAddressImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/USAddressImpl.java new file mode 100644 index 000000000..c0bb3f7a0 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/impl/USAddressImpl.java @@ -0,0 +1,316 @@ +/** + * <copyright> + * </copyright> + * + * $Id: USAddressImpl.java,v 1.1 2006/07/11 16:56:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl; + +import java.math.BigInteger; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress; +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USState; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>US Address</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.USAddressImpl#getState <em>State</em>}</li> + * <li>{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.impl.USAddressImpl#getZip <em>Zip</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class USAddressImpl extends AddressImpl implements USAddress { + /** + * The default value of the '{@link #getState() <em>State</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getState() + * @generated + * @ordered + */ + protected static final USState STATE_EDEFAULT = USState.AK_LITERAL; + + /** + * The cached value of the '{@link #getState() <em>State</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getState() + * @generated + * @ordered + */ + protected USState state = STATE_EDEFAULT; + + /** + * This is true if the State attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean stateESet = false; + + /** + * The default value of the '{@link #getZip() <em>Zip</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getZip() + * @generated + * @ordered + */ + protected static final BigInteger ZIP_EDEFAULT = null; + + /** + * The cached value of the '{@link #getZip() <em>Zip</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getZip() + * @generated + * @ordered + */ + protected BigInteger zip = ZIP_EDEFAULT; + + /** + * This is true if the Zip attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean zipESet = false; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected USAddressImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EClass eStaticClass() { + return ExtensionPackage.eINSTANCE.getUSAddress(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public USState getState() { + return state; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setState(USState newState) { + USState oldState = state; + state = newState == null ? STATE_EDEFAULT : newState; + boolean oldStateESet = stateESet; + stateESet = true; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.US_ADDRESS__STATE, oldState, state, !oldStateESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetState() { + USState oldState = state; + boolean oldStateESet = stateESet; + state = STATE_EDEFAULT; + stateESet = false; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.UNSET, ExtensionPackage.US_ADDRESS__STATE, oldState, STATE_EDEFAULT, oldStateESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetState() { + return stateESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigInteger getZip() { + return zip; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setZip(BigInteger newZip) { + BigInteger oldZip = zip; + zip = newZip; + boolean oldZipESet = zipESet; + zipESet = true; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ExtensionPackage.US_ADDRESS__ZIP, oldZip, zip, !oldZipESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetZip() { + BigInteger oldZip = zip; + boolean oldZipESet = zipESet; + zip = ZIP_EDEFAULT; + zipESet = false; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.UNSET, ExtensionPackage.US_ADDRESS__ZIP, oldZip, ZIP_EDEFAULT, oldZipESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetZip() { + return zipESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Object eGet(EStructuralFeature eFeature, boolean resolve) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.US_ADDRESS__NAME: + return getName(); + case ExtensionPackage.US_ADDRESS__STREET: + return getStreet(); + case ExtensionPackage.US_ADDRESS__CITY: + return getCity(); + case ExtensionPackage.US_ADDRESS__STATE: + return getState(); + case ExtensionPackage.US_ADDRESS__ZIP: + return getZip(); + } + return eDynamicGet(eFeature, resolve); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eSet(EStructuralFeature eFeature, Object newValue) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.US_ADDRESS__NAME: + setName((String)newValue); + return; + case ExtensionPackage.US_ADDRESS__STREET: + setStreet((String)newValue); + return; + case ExtensionPackage.US_ADDRESS__CITY: + setCity((String)newValue); + return; + case ExtensionPackage.US_ADDRESS__STATE: + setState((USState)newValue); + return; + case ExtensionPackage.US_ADDRESS__ZIP: + setZip((BigInteger)newValue); + return; + } + eDynamicSet(eFeature, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void eUnset(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.US_ADDRESS__NAME: + setName(NAME_EDEFAULT); + return; + case ExtensionPackage.US_ADDRESS__STREET: + setStreet(STREET_EDEFAULT); + return; + case ExtensionPackage.US_ADDRESS__CITY: + setCity(CITY_EDEFAULT); + return; + case ExtensionPackage.US_ADDRESS__STATE: + unsetState(); + return; + case ExtensionPackage.US_ADDRESS__ZIP: + unsetZip(); + return; + } + eDynamicUnset(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean eIsSet(EStructuralFeature eFeature) { + switch (eDerivedStructuralFeatureID(eFeature)) { + case ExtensionPackage.US_ADDRESS__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case ExtensionPackage.US_ADDRESS__STREET: + return STREET_EDEFAULT == null ? street != null : !STREET_EDEFAULT.equals(street); + case ExtensionPackage.US_ADDRESS__CITY: + return CITY_EDEFAULT == null ? city != null : !CITY_EDEFAULT.equals(city); + case ExtensionPackage.US_ADDRESS__STATE: + return isSetState(); + case ExtensionPackage.US_ADDRESS__ZIP: + return isSetZip(); + } + return eDynamicIsSet(eFeature); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (state: "); + if (stateESet) result.append(state); else result.append("<unset>"); + result.append(", zip: "); + if (zipESet) result.append(zip); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + +} //USAddressImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionAdapterFactory.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionAdapterFactory.java new file mode 100644 index 000000000..b541a1f15 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionAdapterFactory.java @@ -0,0 +1,222 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ExtensionAdapterFactory.java,v 1.1 2006/07/11 16:57:01 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.*; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage + * @generated + */ +public class ExtensionAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static ExtensionPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtensionAdapterFactory() { + if (modelPackage == null) { + modelPackage = ExtensionPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @return whether this factory is applicable for the type of the object. + * @generated + */ + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch the delegates to the <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExtensionSwitch modelSwitch = + new ExtensionSwitch() { + public Object caseAddress(Address object) { + return createAddressAdapter(); + } + public Object caseAddressList(AddressList object) { + return createAddressListAdapter(); + } + public Object caseDistrictUKAddress(DistrictUKAddress object) { + return createDistrictUKAddressAdapter(); + } + public Object caseFirstAddressHolder(FirstAddressHolder object) { + return createFirstAddressHolderAdapter(); + } + public Object caseInternationalPrice(InternationalPrice object) { + return createInternationalPriceAdapter(); + } + public Object caseUKAddress(UKAddress object) { + return createUKAddressAdapter(); + } + public Object caseUSAddress(USAddress object) { + return createUSAddressAdapter(); + } + public Object defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + public Adapter createAdapter(Notifier target) { + return (Adapter)modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address <em>Address</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.Address + * @generated + */ + public Adapter createAddressAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList <em>Address List</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.AddressList + * @generated + */ + public Adapter createAddressListAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress <em>District UK Address</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.DistrictUKAddress + * @generated + */ + public Adapter createDistrictUKAddressAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.FirstAddressHolder <em>First Address Holder</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.FirstAddressHolder + * @generated + */ + public Adapter createFirstAddressHolderAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice <em>International Price</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.InternationalPrice + * @generated + */ + public Adapter createInternationalPriceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress <em>UK Address</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.UKAddress + * @generated + */ + public Adapter createUKAddressAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress <em>US Address</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.USAddress + * @generated + */ + public Adapter createUSAddressAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //ExtensionAdapterFactory diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionResourceFactoryImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionResourceFactoryImpl.java new file mode 100644 index 000000000..96dd2ce3b --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionResourceFactoryImpl.java @@ -0,0 +1,53 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ExtensionResourceFactoryImpl.java,v 1.1 2006/07/11 16:57:01 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.util; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.resource.Resource; + +import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl; + +import org.eclipse.emf.ecore.xmi.XMLResource; + +/** + * <!-- begin-user-doc --> + * The <b>Resource Factory</b> associated with the package. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.util.ExtensionResourceImpl + * @generated + */ +public class ExtensionResourceFactoryImpl extends ResourceFactoryImpl { + /** + * Creates an instance of the resource factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtensionResourceFactoryImpl() { + super(); + } + + /** + * Creates an instance of the resource. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Resource createResource(URI uri) { + XMLResource result = new ExtensionResourceImpl(uri); + result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE); + result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE); + + result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE); + result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE); + + result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE); + return result; + } + +} //ExtensionResourceFactoryImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionResourceImpl.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionResourceImpl.java new file mode 100644 index 000000000..8e856642c --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionResourceImpl.java @@ -0,0 +1,32 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ExtensionResourceImpl.java,v 1.1 2006/07/11 16:57:01 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.util; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl; + +/** + * <!-- begin-user-doc --> + * The <b>Resource </b> associated with the package. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.util.ExtensionResourceFactoryImpl + * @generated + */ +public class ExtensionResourceImpl extends XMLResourceImpl { + /** + * Creates an instance of the resource. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param uri the URI of the new resource. + * @generated + */ + public ExtensionResourceImpl(URI uri) { + super(uri); + } + +} //ExtensionResourceImpl diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionSwitch.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionSwitch.java new file mode 100644 index 000000000..bf74b2be5 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionSwitch.java @@ -0,0 +1,260 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ExtensionSwitch.java,v 1.1 2006/07/11 16:57:01 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.util; + +import java.util.List; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.*; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage + * @generated + */ +public class ExtensionSwitch { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static ExtensionPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtensionSwitch() { + if (modelPackage == null) { + modelPackage = ExtensionPackage.eINSTANCE; + } + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + public Object doSwitch(EObject theEObject) { + return doSwitch(theEObject.eClass(), theEObject); + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + protected Object doSwitch(EClass theEClass, EObject theEObject) { + if (theEClass.eContainer() == modelPackage) { + return doSwitch(theEClass.getClassifierID(), theEObject); + } + else { + List eSuperTypes = theEClass.getESuperTypes(); + return + eSuperTypes.isEmpty() ? + defaultCase(theEObject) : + doSwitch((EClass)eSuperTypes.get(0), theEObject); + } + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + protected Object doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case ExtensionPackage.ADDRESS: { + Address address = (Address)theEObject; + Object result = caseAddress(address); + if (result == null) result = defaultCase(theEObject); + return result; + } + case ExtensionPackage.ADDRESS_LIST: { + AddressList addressList = (AddressList)theEObject; + Object result = caseAddressList(addressList); + if (result == null) result = defaultCase(theEObject); + return result; + } + case ExtensionPackage.DISTRICT_UK_ADDRESS: { + DistrictUKAddress districtUKAddress = (DistrictUKAddress)theEObject; + Object result = caseDistrictUKAddress(districtUKAddress); + if (result == null) result = caseUKAddress(districtUKAddress); + if (result == null) result = caseAddress(districtUKAddress); + if (result == null) result = defaultCase(theEObject); + return result; + } + case ExtensionPackage.FIRST_ADDRESS_HOLDER: { + FirstAddressHolder firstAddressHolder = (FirstAddressHolder)theEObject; + Object result = caseFirstAddressHolder(firstAddressHolder); + if (result == null) result = defaultCase(theEObject); + return result; + } + case ExtensionPackage.INTERNATIONAL_PRICE: { + InternationalPrice internationalPrice = (InternationalPrice)theEObject; + Object result = caseInternationalPrice(internationalPrice); + if (result == null) result = defaultCase(theEObject); + return result; + } + case ExtensionPackage.UK_ADDRESS: { + UKAddress ukAddress = (UKAddress)theEObject; + Object result = caseUKAddress(ukAddress); + if (result == null) result = caseAddress(ukAddress); + if (result == null) result = defaultCase(theEObject); + return result; + } + case ExtensionPackage.US_ADDRESS: { + USAddress usAddress = (USAddress)theEObject; + Object result = caseUSAddress(usAddress); + if (result == null) result = caseAddress(usAddress); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Address</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Address</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseAddress(Address object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>Address List</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>Address List</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseAddressList(AddressList object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>District UK Address</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>District UK Address</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseDistrictUKAddress(DistrictUKAddress object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>First Address Holder</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>First Address Holder</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseFirstAddressHolder(FirstAddressHolder object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>International Price</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>International Price</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseInternationalPrice(InternationalPrice object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>UK Address</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>UK Address</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseUKAddress(UKAddress object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>US Address</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>US Address</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public Object caseUSAddress(USAddress object) { + return null; + } + + /** + * Returns the result of interpretting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpretting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + public Object defaultCase(EObject object) { + return null; + } + +} //ExtensionSwitch diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionValidator.java b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionValidator.java new file mode 100644 index 000000000..1d74f0b88 --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/emf/schemaconstructs/extension/util/ExtensionValidator.java @@ -0,0 +1,283 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ExtensionValidator.java,v 1.1 2006/07/11 16:57:01 mtaal Exp $ + */ +package org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.util; + +import java.util.Map; + +import org.eclipse.emf.common.util.DiagnosticChain; + +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.EObjectValidator; + +import org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil; +import org.eclipse.emf.ecore.xml.type.util.XMLTypeValidator; + +import org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.*; + +/** + * <!-- begin-user-doc --> + * The <b>Validator</b> for the model. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension.ExtensionPackage + * @generated + */ +public class ExtensionValidator extends EObjectValidator { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final ExtensionValidator INSTANCE = new ExtensionValidator(); + + /** + * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.common.util.Diagnostic#getSource() + * @see org.eclipse.emf.common.util.Diagnostic#getCode() + * @generated + */ + public static final String DIAGNOSTIC_SOURCE = "org.eclipse.emf.teneo.samples.emf.schemaconstructs.extension"; + + /** + * A constant with a fixed name that can be used as the base value for additional hand written constants. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 0; + + /** + * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT; + + /** + * The cached base package validator. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected XMLTypeValidator xmlTypeValidator; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExtensionValidator() { + super(); + xmlTypeValidator = XMLTypeValidator.INSTANCE; + } + + /** + * Returns the package of this validator switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EPackage getEPackage() { + return ExtensionPackage.eINSTANCE; + } + + /** + * Calls <code>validateXXX</code> for the corresonding classifier of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map context) { + switch (classifierID) { + case ExtensionPackage.ADDRESS: + return validateAddress((Address)value, diagnostics, context); + case ExtensionPackage.ADDRESS_LIST: + return validateAddressList((AddressList)value, diagnostics, context); + case ExtensionPackage.DISTRICT_UK_ADDRESS: + return validateDistrictUKAddress((DistrictUKAddress)value, diagnostics, context); + case ExtensionPackage.FIRST_ADDRESS_HOLDER: + return validateFirstAddressHolder((FirstAddressHolder)value, diagnostics, context); + case ExtensionPackage.INTERNATIONAL_PRICE: + return validateInternationalPrice((InternationalPrice)value, diagnostics, context); + case ExtensionPackage.UK_ADDRESS: + return validateUKAddress((UKAddress)value, diagnostics, context); + case ExtensionPackage.US_ADDRESS: + return validateUSAddress((USAddress)value, diagnostics, context); + case ExtensionPackage.US_STATE: + return validateUSState((Object)value, diagnostics, context); + case ExtensionPackage.POSTCODE: + return validatePostcode((String)value, diagnostics, context); + case ExtensionPackage.UK_POSTCODE: + return validateUKPostcode((String)value, diagnostics, context); + case ExtensionPackage.US_STATE_OBJECT: + return validateUSStateObject((USState)value, diagnostics, context); + default: + return true; + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateAddress(Address address, DiagnosticChain diagnostics, Map context) { + return validate_EveryDefaultConstraint(address, diagnostics, context); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateAddressList(AddressList addressList, DiagnosticChain diagnostics, Map context) { + return validate_EveryDefaultConstraint(addressList, diagnostics, context); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateDistrictUKAddress(DistrictUKAddress districtUKAddress, DiagnosticChain diagnostics, Map context) { + return validate_EveryDefaultConstraint(districtUKAddress, diagnostics, context); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateFirstAddressHolder(FirstAddressHolder firstAddressHolder, DiagnosticChain diagnostics, Map context) { + return validate_EveryDefaultConstraint(firstAddressHolder, diagnostics, context); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateInternationalPrice(InternationalPrice internationalPrice, DiagnosticChain diagnostics, Map context) { + return validate_EveryDefaultConstraint(internationalPrice, diagnostics, context); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateUKAddress(UKAddress ukAddress, DiagnosticChain diagnostics, Map context) { + return validate_EveryDefaultConstraint(ukAddress, diagnostics, context); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateUSAddress(USAddress usAddress, DiagnosticChain diagnostics, Map context) { + return validate_EveryDefaultConstraint(usAddress, diagnostics, context); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateUSState(Object usState, DiagnosticChain diagnostics, Map context) { + return true; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validatePostcode(String postcode, DiagnosticChain diagnostics, Map context) { + boolean result = validatePostcode_MinLength(postcode, diagnostics, context); + if (result || diagnostics != null) result &= validatePostcode_MaxLength(postcode, diagnostics, context); + return result; + } + + /** + * Validates the MinLength constraint of '<em>Postcode</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validatePostcode_MinLength(String postcode, DiagnosticChain diagnostics, Map context) { + int length = postcode.length(); + boolean result = length >= 7; + if (!result && diagnostics != null) + reportMinLengthViolation(ExtensionPackage.eINSTANCE.getPostcode(), postcode, length, 7, diagnostics, context); + return result; + } + + /** + * Validates the MaxLength constraint of '<em>Postcode</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validatePostcode_MaxLength(String postcode, DiagnosticChain diagnostics, Map context) { + int length = postcode.length(); + boolean result = length <= 7; + if (!result && diagnostics != null) + reportMaxLengthViolation(ExtensionPackage.eINSTANCE.getPostcode(), postcode, length, 7, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateUKPostcode(String ukPostcode, DiagnosticChain diagnostics, Map context) { + boolean result = validatePostcode_MinLength(ukPostcode, diagnostics, context); + if (result || diagnostics != null) result &= validatePostcode_MaxLength(ukPostcode, diagnostics, context); + if (result || diagnostics != null) result &= validateUKPostcode_Pattern(ukPostcode, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @see #validateUKPostcode_Pattern + */ + public static final PatternMatcher [][] UK_POSTCODE__PATTERN__VALUES = + new PatternMatcher [][] { + new PatternMatcher [] { + XMLTypeUtil.createPatternMatcher("[A-Z]{2}\\d\\s\\d[A-Z]{2}") + } + }; + + /** + * Validates the Pattern constraint of '<em>UK Postcode</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateUKPostcode_Pattern(String ukPostcode, DiagnosticChain diagnostics, Map context) { + return validatePattern(ExtensionPackage.eINSTANCE.getUKPostcode(), ukPostcode, UK_POSTCODE__PATTERN__VALUES, diagnostics, context); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateUSStateObject(USState usStateObject, DiagnosticChain diagnostics, Map context) { + return true; + } + +} //ExtensionValidator |