diff options
Diffstat (limited to 'examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl')
7 files changed, 1418 insertions, 0 deletions
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/AccountImpl.java b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/AccountImpl.java new file mode 100644 index 000000000..1f3699882 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/AccountImpl.java @@ -0,0 +1,276 @@ +/** + */ +package org.eclipse.emf.parsley.examples.mail.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.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.EObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.parsley.examples.mail.Account; +import org.eclipse.emf.parsley.examples.mail.Folder; +import org.eclipse.emf.parsley.examples.mail.MailPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Account</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.mail.impl.AccountImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.mail.impl.AccountImpl#getEmail <em>Email</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.mail.impl.AccountImpl#getFolders <em>Folders</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class AccountImpl extends EObjectImpl implements Account { + /** + * 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 #getEmail() <em>Email</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEmail() + * @generated + * @ordered + */ + protected static final String EMAIL_EDEFAULT = null; + + /** + * The cached value of the '{@link #getEmail() <em>Email</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEmail() + * @generated + * @ordered + */ + protected String email = EMAIL_EDEFAULT; + + /** + * The cached value of the '{@link #getFolders() <em>Folders</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFolders() + * @generated + * @ordered + */ + protected EList<Folder> folders; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AccountImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return MailPackage.Literals.ACCOUNT; + } + + /** + * <!-- 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, MailPackage.ACCOUNT__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getEmail() { + return email; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setEmail(String newEmail) { + String oldEmail = email; + email = newEmail; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.ACCOUNT__EMAIL, oldEmail, email)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Folder> getFolders() { + if (folders == null) { + folders = new EObjectContainmentEList<Folder>(Folder.class, this, MailPackage.ACCOUNT__FOLDERS); + } + return folders; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case MailPackage.ACCOUNT__FOLDERS: + return ((InternalEList<?>)getFolders()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case MailPackage.ACCOUNT__NAME: + return getName(); + case MailPackage.ACCOUNT__EMAIL: + return getEmail(); + case MailPackage.ACCOUNT__FOLDERS: + return getFolders(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case MailPackage.ACCOUNT__NAME: + setName((String)newValue); + return; + case MailPackage.ACCOUNT__EMAIL: + setEmail((String)newValue); + return; + case MailPackage.ACCOUNT__FOLDERS: + getFolders().clear(); + getFolders().addAll((Collection<? extends Folder>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case MailPackage.ACCOUNT__NAME: + setName(NAME_EDEFAULT); + return; + case MailPackage.ACCOUNT__EMAIL: + setEmail(EMAIL_EDEFAULT); + return; + case MailPackage.ACCOUNT__FOLDERS: + getFolders().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case MailPackage.ACCOUNT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case MailPackage.ACCOUNT__EMAIL: + return EMAIL_EDEFAULT == null ? email != null : !EMAIL_EDEFAULT.equals(email); + case MailPackage.ACCOUNT__FOLDERS: + return folders != null && !folders.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(", email: "); + result.append(email); + result.append(')'); + return result.toString(); + } + +} //AccountImpl diff --git a/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/FolderContentImpl.java b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/FolderContentImpl.java new file mode 100644 index 000000000..d01bac11b --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/FolderContentImpl.java @@ -0,0 +1,41 @@ +/** + */ +package org.eclipse.emf.parsley.examples.mail.impl; + + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.EObjectImpl; +import org.eclipse.emf.parsley.examples.mail.FolderContent; +import org.eclipse.emf.parsley.examples.mail.MailPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Folder Content</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public abstract class FolderContentImpl extends EObjectImpl implements FolderContent { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FolderContentImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return MailPackage.Literals.FOLDER_CONTENT; + } + +} //FolderContentImpl diff --git a/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/FolderImpl.java b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/FolderImpl.java new file mode 100644 index 000000000..552e900e4 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/FolderImpl.java @@ -0,0 +1,257 @@ +/** + */ +package org.eclipse.emf.parsley.examples.mail.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.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.parsley.examples.mail.Folder; +import org.eclipse.emf.parsley.examples.mail.Mail; +import org.eclipse.emf.parsley.examples.mail.MailPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Folder</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.mail.impl.FolderImpl#getSubfolders <em>Subfolders</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.mail.impl.FolderImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.mail.impl.FolderImpl#getMails <em>Mails</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class FolderImpl extends FolderContentImpl implements Folder { + /** + * The cached value of the '{@link #getSubfolders() <em>Subfolders</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSubfolders() + * @generated + * @ordered + */ + protected EList<Folder> subfolders; + + /** + * 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 #getMails() <em>Mails</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMails() + * @generated + * @ordered + */ + protected EList<Mail> mails; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FolderImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return MailPackage.Literals.FOLDER; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Folder> getSubfolders() { + if (subfolders == null) { + subfolders = new EObjectContainmentEList<Folder>(Folder.class, this, MailPackage.FOLDER__SUBFOLDERS); + } + return subfolders; + } + + /** + * <!-- 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, MailPackage.FOLDER__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Mail> getMails() { + if (mails == null) { + mails = new EObjectContainmentEList<Mail>(Mail.class, this, MailPackage.FOLDER__MAILS); + } + return mails; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case MailPackage.FOLDER__SUBFOLDERS: + return ((InternalEList<?>)getSubfolders()).basicRemove(otherEnd, msgs); + case MailPackage.FOLDER__MAILS: + return ((InternalEList<?>)getMails()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case MailPackage.FOLDER__SUBFOLDERS: + return getSubfolders(); + case MailPackage.FOLDER__NAME: + return getName(); + case MailPackage.FOLDER__MAILS: + return getMails(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case MailPackage.FOLDER__SUBFOLDERS: + getSubfolders().clear(); + getSubfolders().addAll((Collection<? extends Folder>)newValue); + return; + case MailPackage.FOLDER__NAME: + setName((String)newValue); + return; + case MailPackage.FOLDER__MAILS: + getMails().clear(); + getMails().addAll((Collection<? extends Mail>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case MailPackage.FOLDER__SUBFOLDERS: + getSubfolders().clear(); + return; + case MailPackage.FOLDER__NAME: + setName(NAME_EDEFAULT); + return; + case MailPackage.FOLDER__MAILS: + getMails().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case MailPackage.FOLDER__SUBFOLDERS: + return subfolders != null && !subfolders.isEmpty(); + case MailPackage.FOLDER__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case MailPackage.FOLDER__MAILS: + return mails != null && !mails.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //FolderImpl diff --git a/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailContentImpl.java b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailContentImpl.java new file mode 100644 index 000000000..156b856aa --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailContentImpl.java @@ -0,0 +1,39 @@ +/** + */ +package org.eclipse.emf.parsley.examples.mail.impl; + + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.parsley.examples.mail.MailContent; +import org.eclipse.emf.parsley.examples.mail.MailPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Content</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public class MailContentImpl extends FolderContentImpl implements MailContent { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MailContentImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return MailPackage.Literals.MAIL_CONTENT; + } + +} //MailContentImpl diff --git a/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailFactoryImpl.java b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailFactoryImpl.java new file mode 100644 index 000000000..b2b752a79 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailFactoryImpl.java @@ -0,0 +1,128 @@ +/** + */ +package org.eclipse.emf.parsley.examples.mail.impl; + + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; +import org.eclipse.emf.parsley.examples.mail.*; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class MailFactoryImpl extends EFactoryImpl implements MailFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static MailFactory init() { + try { + MailFactory theMailFactory = (MailFactory)EPackage.Registry.INSTANCE.getEFactory("http:///org/eclipse/emf/parsley/examples/mail/mail.ecore/0.1.0"); + if (theMailFactory != null) { + return theMailFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new MailFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MailFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case MailPackage.ACCOUNT: return createAccount(); + case MailPackage.FOLDER: return createFolder(); + case MailPackage.MAIL_CONTENT: return createMailContent(); + case MailPackage.MAIL: return createMail(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Account createAccount() { + AccountImpl account = new AccountImpl(); + return account; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Folder createFolder() { + FolderImpl folder = new FolderImpl(); + return folder; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MailContent createMailContent() { + MailContentImpl mailContent = new MailContentImpl(); + return mailContent; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Mail createMail() { + MailImpl mail = new MailImpl(); + return mail; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MailPackage getMailPackage() { + return (MailPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static MailPackage getPackage() { + return MailPackage.eINSTANCE; + } + +} //MailFactoryImpl diff --git a/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailImpl.java b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailImpl.java new file mode 100644 index 000000000..9f8a4f545 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailImpl.java @@ -0,0 +1,314 @@ +/** + */ +package org.eclipse.emf.parsley.examples.mail.impl; + + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.EObjectImpl; + +import org.eclipse.emf.ecore.util.EDataTypeUniqueEList; +import org.eclipse.emf.parsley.examples.mail.Mail; +import org.eclipse.emf.parsley.examples.mail.MailPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Mail</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.mail.impl.MailImpl#getFrom <em>From</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.mail.impl.MailImpl#getRecipients <em>Recipients</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.mail.impl.MailImpl#getMessage <em>Message</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.mail.impl.MailImpl#getSubject <em>Subject</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class MailImpl extends EObjectImpl implements Mail { + /** + * The default value of the '{@link #getFrom() <em>From</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFrom() + * @generated + * @ordered + */ + protected static final String FROM_EDEFAULT = null; + + /** + * The cached value of the '{@link #getFrom() <em>From</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFrom() + * @generated + * @ordered + */ + protected String from = FROM_EDEFAULT; + + /** + * The cached value of the '{@link #getRecipients() <em>Recipients</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRecipients() + * @generated + * @ordered + */ + protected EList<String> recipients; + + /** + * The default value of the '{@link #getMessage() <em>Message</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMessage() + * @generated + * @ordered + */ + protected static final String MESSAGE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getMessage() <em>Message</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMessage() + * @generated + * @ordered + */ + protected String message = MESSAGE_EDEFAULT; + + /** + * The default value of the '{@link #getSubject() <em>Subject</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSubject() + * @generated + * @ordered + */ + protected static final String SUBJECT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getSubject() <em>Subject</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSubject() + * @generated + * @ordered + */ + protected String subject = SUBJECT_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MailImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return MailPackage.Literals.MAIL; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getFrom() { + return from; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFrom(String newFrom) { + String oldFrom = from; + from = newFrom; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL__FROM, oldFrom, from)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<String> getRecipients() { + if (recipients == null) { + recipients = new EDataTypeUniqueEList<String>(String.class, this, MailPackage.MAIL__RECIPIENTS); + } + return recipients; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getMessage() { + return message; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setMessage(String newMessage) { + String oldMessage = message; + message = newMessage; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL__MESSAGE, oldMessage, message)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getSubject() { + return subject; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSubject(String newSubject) { + String oldSubject = subject; + subject = newSubject; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL__SUBJECT, oldSubject, subject)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case MailPackage.MAIL__FROM: + return getFrom(); + case MailPackage.MAIL__RECIPIENTS: + return getRecipients(); + case MailPackage.MAIL__MESSAGE: + return getMessage(); + case MailPackage.MAIL__SUBJECT: + return getSubject(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case MailPackage.MAIL__FROM: + setFrom((String)newValue); + return; + case MailPackage.MAIL__RECIPIENTS: + getRecipients().clear(); + getRecipients().addAll((Collection<? extends String>)newValue); + return; + case MailPackage.MAIL__MESSAGE: + setMessage((String)newValue); + return; + case MailPackage.MAIL__SUBJECT: + setSubject((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case MailPackage.MAIL__FROM: + setFrom(FROM_EDEFAULT); + return; + case MailPackage.MAIL__RECIPIENTS: + getRecipients().clear(); + return; + case MailPackage.MAIL__MESSAGE: + setMessage(MESSAGE_EDEFAULT); + return; + case MailPackage.MAIL__SUBJECT: + setSubject(SUBJECT_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case MailPackage.MAIL__FROM: + return FROM_EDEFAULT == null ? from != null : !FROM_EDEFAULT.equals(from); + case MailPackage.MAIL__RECIPIENTS: + return recipients != null && !recipients.isEmpty(); + case MailPackage.MAIL__MESSAGE: + return MESSAGE_EDEFAULT == null ? message != null : !MESSAGE_EDEFAULT.equals(message); + case MailPackage.MAIL__SUBJECT: + return SUBJECT_EDEFAULT == null ? subject != null : !SUBJECT_EDEFAULT.equals(subject); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (from: "); + result.append(from); + result.append(", recipients: "); + result.append(recipients); + result.append(", message: "); + result.append(message); + result.append(", subject: "); + result.append(subject); + result.append(')'); + return result.toString(); + } + +} //MailImpl diff --git a/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailPackageImpl.java b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailPackageImpl.java new file mode 100644 index 000000000..0983ed075 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.mail.model/src/org/eclipse/emf/parsley/examples/mail/impl/MailPackageImpl.java @@ -0,0 +1,363 @@ +/** + */ +package org.eclipse.emf.parsley.examples.mail.impl; + + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; +import org.eclipse.emf.parsley.examples.mail.Account; +import org.eclipse.emf.parsley.examples.mail.Folder; +import org.eclipse.emf.parsley.examples.mail.FolderContent; +import org.eclipse.emf.parsley.examples.mail.Mail; +import org.eclipse.emf.parsley.examples.mail.MailContent; +import org.eclipse.emf.parsley.examples.mail.MailFactory; +import org.eclipse.emf.parsley.examples.mail.MailPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class MailPackageImpl extends EPackageImpl implements MailPackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass accountEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass folderEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass folderContentEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass mailContentEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass mailEClass = 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.parsley.examples.mail.MailPackage#eNS_URI + * @see #init() + * @generated + */ + private MailPackageImpl() { + super(eNS_URI, MailFactory.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. + * + * <p>This method is used to initialize {@link MailPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static MailPackage init() { + if (isInited) return (MailPackage)EPackage.Registry.INSTANCE.getEPackage(MailPackage.eNS_URI); + + // Obtain or create and register package + MailPackageImpl theMailPackage = (MailPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof MailPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new MailPackageImpl()); + + isInited = true; + + // Create package meta-data objects + theMailPackage.createPackageContents(); + + // Initialize created meta-data + theMailPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theMailPackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(MailPackage.eNS_URI, theMailPackage); + return theMailPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getAccount() { + return accountEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAccount_Name() { + return (EAttribute)accountEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAccount_Email() { + return (EAttribute)accountEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getAccount_Folders() { + return (EReference)accountEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getFolder() { + return folderEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getFolder_Subfolders() { + return (EReference)folderEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getFolder_Name() { + return (EAttribute)folderEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getFolder_Mails() { + return (EReference)folderEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getFolderContent() { + return folderContentEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getMailContent() { + return mailContentEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getMail() { + return mailEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getMail_From() { + return (EAttribute)mailEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getMail_Recipients() { + return (EAttribute)mailEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getMail_Message() { + return (EAttribute)mailEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getMail_Subject() { + return (EAttribute)mailEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MailFactory getMailFactory() { + return (MailFactory)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 + accountEClass = createEClass(ACCOUNT); + createEAttribute(accountEClass, ACCOUNT__NAME); + createEAttribute(accountEClass, ACCOUNT__EMAIL); + createEReference(accountEClass, ACCOUNT__FOLDERS); + + folderEClass = createEClass(FOLDER); + createEReference(folderEClass, FOLDER__SUBFOLDERS); + createEAttribute(folderEClass, FOLDER__NAME); + createEReference(folderEClass, FOLDER__MAILS); + + folderContentEClass = createEClass(FOLDER_CONTENT); + + mailContentEClass = createEClass(MAIL_CONTENT); + + mailEClass = createEClass(MAIL); + createEAttribute(mailEClass, MAIL__FROM); + createEAttribute(mailEClass, MAIL__RECIPIENTS); + createEAttribute(mailEClass, MAIL__MESSAGE); + createEAttribute(mailEClass, MAIL__SUBJECT); + } + + /** + * <!-- 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); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + folderEClass.getESuperTypes().add(this.getFolderContent()); + mailContentEClass.getESuperTypes().add(this.getFolderContent()); + + // Initialize classes and features; add operations and parameters + initEClass(accountEClass, Account.class, "Account", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getAccount_Name(), ecorePackage.getEString(), "name", null, 0, 1, Account.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAccount_Email(), ecorePackage.getEString(), "email", null, 0, 1, Account.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAccount_Folders(), this.getFolder(), null, "folders", null, 0, -1, Account.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(folderEClass, Folder.class, "Folder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getFolder_Subfolders(), this.getFolder(), null, "subfolders", null, 0, -1, Folder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getFolder_Name(), ecorePackage.getEString(), "name", null, 0, 1, Folder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getFolder_Mails(), this.getMail(), null, "mails", null, 0, -1, Folder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(folderContentEClass, FolderContent.class, "FolderContent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(mailContentEClass, MailContent.class, "MailContent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(mailEClass, Mail.class, "Mail", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getMail_From(), ecorePackage.getEString(), "from", null, 0, 1, Mail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getMail_Recipients(), ecorePackage.getEString(), "recipients", null, 0, -1, Mail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getMail_Message(), ecorePackage.getEString(), "message", null, 0, 1, Mail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getMail_Subject(), ecorePackage.getEString(), "subject", null, 0, 1, Mail.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + } + +} //MailPackageImpl |