/**
* $License$
*
* $Id: MDQuoteImpl.java 16859 2014-03-19 00:49:50Z colin $
*/
package org.marketcetera.photon.model.marketdata.impl;
import java.math.BigDecimal;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;
import org.marketcetera.photon.model.marketdata.MDPackage;
import org.marketcetera.photon.model.marketdata.MDQuote;
import org.marketcetera.util.misc.ClassVersion;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Quote</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>{@link org.marketcetera.photon.model.marketdata.impl.MDQuoteImpl#getPrice <em>Price</em>}</li>
* <li>{@link org.marketcetera.photon.model.marketdata.impl.MDQuoteImpl#getSize <em>Size</em>}</li>
* <li>{@link org.marketcetera.photon.model.marketdata.impl.MDQuoteImpl#getSource <em>Source</em>}</li>
* <li>{@link org.marketcetera.photon.model.marketdata.impl.MDQuoteImpl#getTime <em>Time</em>}</li>
* </ul>
* </p>
*
* @generated
* @since 2.1.0
*/
@ClassVersion("$Id: MDQuoteImpl.java 16859 2014-03-19 00:49:50Z colin $")
public class MDQuoteImpl
extends MDItemImpl
implements MDQuote
{
/**
* The default value of the '{@link #getPrice() <em>Price</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPrice()
* @generated
* @ordered
*/
protected static final BigDecimal PRICE_EDEFAULT = null;
/**
* The cached value of the '{@link #getPrice() <em>Price</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPrice()
* @generated
* @ordered
*/
protected volatile BigDecimal price = PRICE_EDEFAULT;
/**
* The default value of the '{@link #getSize() <em>Size</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSize()
* @generated
* @ordered
*/
protected static final BigDecimal SIZE_EDEFAULT = null;
/**
* The cached value of the '{@link #getSize() <em>Size</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSize()
* @generated
* @ordered
*/
protected volatile BigDecimal size = SIZE_EDEFAULT;
/**
* The default value of the '{@link #getSource() <em>Source</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSource()
* @generated
* @ordered
*/
protected static final String SOURCE_EDEFAULT = null;
/**
* The cached value of the '{@link #getSource() <em>Source</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSource()
* @generated
* @ordered
*/
protected volatile String source = SOURCE_EDEFAULT;
/**
* The default value of the '{@link #getTime() <em>Time</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getTime()
* @generated
* @ordered
*/
protected static final long TIME_EDEFAULT = 0L;
/**
* The cached value of the '{@link #getTime() <em>Time</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getTime()
* @generated
* @ordered
*/
protected volatile long time = TIME_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public MDQuoteImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return MDPackage.Literals.MD_QUOTE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public BigDecimal getPrice()
{
return price;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setPrice(BigDecimal newPrice)
{
BigDecimal oldPrice = price;
price = newPrice;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this,
Notification.SET,
MDPackage.MD_QUOTE__PRICE,
oldPrice,
price));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public BigDecimal getSize()
{
return size;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setSize(BigDecimal newSize)
{
BigDecimal oldSize = size;
size = newSize;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this,
Notification.SET,
MDPackage.MD_QUOTE__SIZE,
oldSize,
size));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getSource()
{
return source;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setSource(String newSource)
{
String oldSource = source;
source = newSource;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this,
Notification.SET,
MDPackage.MD_QUOTE__SOURCE,
oldSource,
source));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public long getTime()
{
return time;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setTime(long newTime)
{
long oldTime = time;
time = newTime;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this,
Notification.SET,
MDPackage.MD_QUOTE__TIME,
oldTime,
time));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID,
boolean resolve,
boolean coreType)
{
switch (featureID) {
case MDPackage.MD_QUOTE__PRICE:
return getPrice();
case MDPackage.MD_QUOTE__SIZE:
return getSize();
case MDPackage.MD_QUOTE__SOURCE:
return getSource();
case MDPackage.MD_QUOTE__TIME:
return getTime();
}
return super.eGet(featureID,
resolve,
coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID,
Object newValue)
{
switch (featureID) {
case MDPackage.MD_QUOTE__PRICE:
setPrice((BigDecimal) newValue);
return;
case MDPackage.MD_QUOTE__SIZE:
setSize((BigDecimal) newValue);
return;
case MDPackage.MD_QUOTE__SOURCE:
setSource((String) newValue);
return;
case MDPackage.MD_QUOTE__TIME:
setTime((Long) newValue);
return;
}
super.eSet(featureID,
newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID) {
case MDPackage.MD_QUOTE__PRICE:
setPrice(PRICE_EDEFAULT);
return;
case MDPackage.MD_QUOTE__SIZE:
setSize(SIZE_EDEFAULT);
return;
case MDPackage.MD_QUOTE__SOURCE:
setSource(SOURCE_EDEFAULT);
return;
case MDPackage.MD_QUOTE__TIME:
setTime(TIME_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID) {
case MDPackage.MD_QUOTE__PRICE:
return PRICE_EDEFAULT == null ? price != null : !PRICE_EDEFAULT.equals(price);
case MDPackage.MD_QUOTE__SIZE:
return SIZE_EDEFAULT == null ? size != null : !SIZE_EDEFAULT.equals(size);
case MDPackage.MD_QUOTE__SOURCE:
return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
case MDPackage.MD_QUOTE__TIME:
return time != TIME_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(" (price: "); //$NON-NLS-1$
result.append(price);
result.append(", size: "); //$NON-NLS-1$
result.append(size);
result.append(", source: "); //$NON-NLS-1$
result.append(source);
result.append(", time: "); //$NON-NLS-1$
result.append(time);
result.append(')');
return result.toString();
}
} //MDQuoteImpl