/******************************************************************************
* Copyright (c) 2011-2013, Linagora
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Linagora - initial API and implementation
*******************************************************************************/
package com.ebmwebsourcing.petals.services.mail.mail.impl;
import com.ebmwebsourcing.petals.services.mail.mail.MailConsumes;
import com.ebmwebsourcing.petals.services.mail.mail.MailPackage;
import com.ebmwebsourcing.petals.services.mail.mail.Scheme;
import com.sun.java.xml.ns.jbi.impl.ConsumesImpl;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Consumes</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>{@link com.ebmwebsourcing.petals.services.mail.mail.impl.MailConsumesImpl#getScheme <em>Scheme</em>}</li>
* <li>{@link com.ebmwebsourcing.petals.services.mail.mail.impl.MailConsumesImpl#getHost <em>Host</em>}</li>
* <li>{@link com.ebmwebsourcing.petals.services.mail.mail.impl.MailConsumesImpl#getPort <em>Port</em>}</li>
* <li>{@link com.ebmwebsourcing.petals.services.mail.mail.impl.MailConsumesImpl#getUser <em>User</em>}</li>
* <li>{@link com.ebmwebsourcing.petals.services.mail.mail.impl.MailConsumesImpl#getPassword <em>Password</em>}</li>
* <li>{@link com.ebmwebsourcing.petals.services.mail.mail.impl.MailConsumesImpl#getFolder <em>Folder</em>}</li>
* <li>{@link com.ebmwebsourcing.petals.services.mail.mail.impl.MailConsumesImpl#isDelete <em>Delete</em>}</li>
* <li>{@link com.ebmwebsourcing.petals.services.mail.mail.impl.MailConsumesImpl#getPeriod <em>Period</em>}</li>
* <li>{@link com.ebmwebsourcing.petals.services.mail.mail.impl.MailConsumesImpl#isIsxmlcontent <em>Isxmlcontent</em>}</li>
* </ul>
* </p>
*
* @generated
*/
public class MailConsumesImpl extends ConsumesImpl implements MailConsumes {
/**
* The default value of the '{@link #getScheme() <em>Scheme</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getScheme()
* @generated
* @ordered
*/
protected static final Scheme SCHEME_EDEFAULT = Scheme.SMTP;
/**
* The cached value of the '{@link #getScheme() <em>Scheme</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getScheme()
* @generated
* @ordered
*/
protected Scheme scheme = SCHEME_EDEFAULT;
/**
* This is true if the Scheme attribute has been set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
protected boolean schemeESet;
/**
* The default value of the '{@link #getHost() <em>Host</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getHost()
* @generated
* @ordered
*/
protected static final String HOST_EDEFAULT = null;
/**
* The cached value of the '{@link #getHost() <em>Host</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getHost()
* @generated
* @ordered
*/
protected String host = HOST_EDEFAULT;
/**
* This is true if the Host attribute has been set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
protected boolean hostESet;
/**
* The default value of the '{@link #getPort() <em>Port</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPort()
* @generated
* @ordered
*/
protected static final int PORT_EDEFAULT = 0;
/**
* The cached value of the '{@link #getPort() <em>Port</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPort()
* @generated
* @ordered
*/
protected int port = PORT_EDEFAULT;
/**
* This is true if the Port attribute has been set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
protected boolean portESet;
/**
* The default value of the '{@link #getUser() <em>User</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getUser()
* @generated
* @ordered
*/
protected static final String USER_EDEFAULT = null;
/**
* The cached value of the '{@link #getUser() <em>User</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getUser()
* @generated
* @ordered
*/
protected String user = USER_EDEFAULT;
/**
* The default value of the '{@link #getPassword() <em>Password</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPassword()
* @generated
* @ordered
*/
protected static final String PASSWORD_EDEFAULT = null;
/**
* The cached value of the '{@link #getPassword() <em>Password</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPassword()
* @generated
* @ordered
*/
protected String password = PASSWORD_EDEFAULT;
/**
* The default value of the '{@link #getFolder() <em>Folder</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getFolder()
* @generated
* @ordered
*/
protected static final String FOLDER_EDEFAULT = null;
/**
* The cached value of the '{@link #getFolder() <em>Folder</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getFolder()
* @generated
* @ordered
*/
protected String folder = FOLDER_EDEFAULT;
/**
* The default value of the '{@link #isDelete() <em>Delete</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isDelete()
* @generated
* @ordered
*/
protected static final boolean DELETE_EDEFAULT = false;
/**
* The cached value of the '{@link #isDelete() <em>Delete</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isDelete()
* @generated
* @ordered
*/
protected boolean delete = DELETE_EDEFAULT;
/**
* The default value of the '{@link #getPeriod() <em>Period</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPeriod()
* @generated
* @ordered
*/
protected static final int PERIOD_EDEFAULT = 0;
/**
* The cached value of the '{@link #getPeriod() <em>Period</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPeriod()
* @generated
* @ordered
*/
protected int period = PERIOD_EDEFAULT;
/**
* The default value of the '{@link #isIsxmlcontent() <em>Isxmlcontent</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isIsxmlcontent()
* @generated
* @ordered
*/
protected static final boolean ISXMLCONTENT_EDEFAULT = false;
/**
* The cached value of the '{@link #isIsxmlcontent() <em>Isxmlcontent</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isIsxmlcontent()
* @generated
* @ordered
*/
protected boolean isxmlcontent = ISXMLCONTENT_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MailConsumesImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return MailPackage.Literals.MAIL_CONSUMES;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Scheme getScheme() {
return scheme;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setScheme(Scheme newScheme) {
Scheme oldScheme = scheme;
scheme = newScheme == null ? SCHEME_EDEFAULT : newScheme;
boolean oldSchemeESet = schemeESet;
schemeESet = true;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL_CONSUMES__SCHEME, oldScheme, scheme, !oldSchemeESet));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void unsetScheme() {
Scheme oldScheme = scheme;
boolean oldSchemeESet = schemeESet;
scheme = SCHEME_EDEFAULT;
schemeESet = false;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.UNSET, MailPackage.MAIL_CONSUMES__SCHEME, oldScheme, SCHEME_EDEFAULT, oldSchemeESet));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isSetScheme() {
return schemeESet;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getHost() {
return host;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setHost(String newHost) {
String oldHost = host;
host = newHost;
boolean oldHostESet = hostESet;
hostESet = true;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL_CONSUMES__HOST, oldHost, host, !oldHostESet));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void unsetHost() {
String oldHost = host;
boolean oldHostESet = hostESet;
host = HOST_EDEFAULT;
hostESet = false;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.UNSET, MailPackage.MAIL_CONSUMES__HOST, oldHost, HOST_EDEFAULT, oldHostESet));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isSetHost() {
return hostESet;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public int getPort() {
return port;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setPort(int newPort) {
int oldPort = port;
port = newPort;
boolean oldPortESet = portESet;
portESet = true;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL_CONSUMES__PORT, oldPort, port, !oldPortESet));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void unsetPort() {
int oldPort = port;
boolean oldPortESet = portESet;
port = PORT_EDEFAULT;
portESet = false;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.UNSET, MailPackage.MAIL_CONSUMES__PORT, oldPort, PORT_EDEFAULT, oldPortESet));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isSetPort() {
return portESet;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getUser() {
return user;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setUser(String newUser) {
String oldUser = user;
user = newUser;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL_CONSUMES__USER, oldUser, user));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getPassword() {
return password;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setPassword(String newPassword) {
String oldPassword = password;
password = newPassword;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL_CONSUMES__PASSWORD, oldPassword, password));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getFolder() {
return folder;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setFolder(String newFolder) {
String oldFolder = folder;
folder = newFolder;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL_CONSUMES__FOLDER, oldFolder, folder));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isDelete() {
return delete;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setDelete(boolean newDelete) {
boolean oldDelete = delete;
delete = newDelete;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL_CONSUMES__DELETE, oldDelete, delete));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public int getPeriod() {
return period;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setPeriod(int newPeriod) {
int oldPeriod = period;
period = newPeriod;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL_CONSUMES__PERIOD, oldPeriod, period));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isIsxmlcontent() {
return isxmlcontent;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setIsxmlcontent(boolean newIsxmlcontent) {
boolean oldIsxmlcontent = isxmlcontent;
isxmlcontent = newIsxmlcontent;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MailPackage.MAIL_CONSUMES__ISXMLCONTENT, oldIsxmlcontent, isxmlcontent));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case MailPackage.MAIL_CONSUMES__SCHEME:
return getScheme();
case MailPackage.MAIL_CONSUMES__HOST:
return getHost();
case MailPackage.MAIL_CONSUMES__PORT:
return getPort();
case MailPackage.MAIL_CONSUMES__USER:
return getUser();
case MailPackage.MAIL_CONSUMES__PASSWORD:
return getPassword();
case MailPackage.MAIL_CONSUMES__FOLDER:
return getFolder();
case MailPackage.MAIL_CONSUMES__DELETE:
return isDelete();
case MailPackage.MAIL_CONSUMES__PERIOD:
return getPeriod();
case MailPackage.MAIL_CONSUMES__ISXMLCONTENT:
return isIsxmlcontent();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case MailPackage.MAIL_CONSUMES__SCHEME:
setScheme((Scheme)newValue);
return;
case MailPackage.MAIL_CONSUMES__HOST:
setHost((String)newValue);
return;
case MailPackage.MAIL_CONSUMES__PORT:
setPort((Integer)newValue);
return;
case MailPackage.MAIL_CONSUMES__USER:
setUser((String)newValue);
return;
case MailPackage.MAIL_CONSUMES__PASSWORD:
setPassword((String)newValue);
return;
case MailPackage.MAIL_CONSUMES__FOLDER:
setFolder((String)newValue);
return;
case MailPackage.MAIL_CONSUMES__DELETE:
setDelete((Boolean)newValue);
return;
case MailPackage.MAIL_CONSUMES__PERIOD:
setPeriod((Integer)newValue);
return;
case MailPackage.MAIL_CONSUMES__ISXMLCONTENT:
setIsxmlcontent((Boolean)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case MailPackage.MAIL_CONSUMES__SCHEME:
unsetScheme();
return;
case MailPackage.MAIL_CONSUMES__HOST:
unsetHost();
return;
case MailPackage.MAIL_CONSUMES__PORT:
unsetPort();
return;
case MailPackage.MAIL_CONSUMES__USER:
setUser(USER_EDEFAULT);
return;
case MailPackage.MAIL_CONSUMES__PASSWORD:
setPassword(PASSWORD_EDEFAULT);
return;
case MailPackage.MAIL_CONSUMES__FOLDER:
setFolder(FOLDER_EDEFAULT);
return;
case MailPackage.MAIL_CONSUMES__DELETE:
setDelete(DELETE_EDEFAULT);
return;
case MailPackage.MAIL_CONSUMES__PERIOD:
setPeriod(PERIOD_EDEFAULT);
return;
case MailPackage.MAIL_CONSUMES__ISXMLCONTENT:
setIsxmlcontent(ISXMLCONTENT_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case MailPackage.MAIL_CONSUMES__SCHEME:
return isSetScheme();
case MailPackage.MAIL_CONSUMES__HOST:
return isSetHost();
case MailPackage.MAIL_CONSUMES__PORT:
return isSetPort();
case MailPackage.MAIL_CONSUMES__USER:
return USER_EDEFAULT == null ? user != null : !USER_EDEFAULT.equals(user);
case MailPackage.MAIL_CONSUMES__PASSWORD:
return PASSWORD_EDEFAULT == null ? password != null : !PASSWORD_EDEFAULT.equals(password);
case MailPackage.MAIL_CONSUMES__FOLDER:
return FOLDER_EDEFAULT == null ? folder != null : !FOLDER_EDEFAULT.equals(folder);
case MailPackage.MAIL_CONSUMES__DELETE:
return delete != DELETE_EDEFAULT;
case MailPackage.MAIL_CONSUMES__PERIOD:
return period != PERIOD_EDEFAULT;
case MailPackage.MAIL_CONSUMES__ISXMLCONTENT:
return isxmlcontent != ISXMLCONTENT_EDEFAULT;
}
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(" (scheme: ");
if (schemeESet) result.append(scheme); else result.append("<unset>");
result.append(", host: ");
if (hostESet) result.append(host); else result.append("<unset>");
result.append(", port: ");
if (portESet) result.append(port); else result.append("<unset>");
result.append(", user: ");
result.append(user);
result.append(", password: ");
result.append(password);
result.append(", folder: ");
result.append(folder);
result.append(", delete: ");
result.append(delete);
result.append(", period: ");
result.append(period);
result.append(", isxmlcontent: ");
result.append(isxmlcontent);
result.append(')');
return result.toString();
}
} //MailConsumesImpl