package org.marketcetera.photon.views;
import org.eclipse.ui.IMemento;
import org.marketcetera.trade.Future;
import org.marketcetera.util.misc.ClassVersion;
/* $License$ */
/**
* Facilitates serialization of a {@link Future} to an Eclipse {@link IMemento}.
*
* @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a>
* @version $Id: FutureToMemento.java 16154 2012-07-14 16:34:05Z colin $
* @since 2.1.0
*/
@ClassVersion("$Id: FutureToMemento.java 16154 2012-07-14 16:34:05Z colin $")
public class FutureToMemento
extends InstrumentToMemento<Future>
{
/**
* Create a new FutureToMemento instance.
*/
public FutureToMemento()
{
super(Future.class);
}
/* (non-Javadoc)
* @see org.marketcetera.photon.views.InstrumentToMemento#doSave(org.marketcetera.trade.Instrument, org.eclipse.ui.IMemento)
*/
@Override
protected void doSave(Future inFuture,
IMemento inMemento)
{
IMemento future = inMemento.createChild(FUTURE_TAG);
future.putString(SYMBOL_ATTRIBUTE,
inFuture.getSymbol());
future.putString(EXPIRATION_MONTH_ATTRIBUTE,
inFuture.getExpirationMonth().name());
future.putInteger(EXPIRATION_YEAR_ATTRIBUTE,
inFuture.getExpirationYear());
}
/**
* the key for future mementos
*/
static final String FUTURE_TAG = "future"; //$NON-NLS-1$
/**
* the symbol attribute tag
*/
static final String SYMBOL_ATTRIBUTE = "symbol"; //$NON-NLS-1$
/**
* the expiration month attribute tag
*/
static final String EXPIRATION_MONTH_ATTRIBUTE = "expirationMonth"; //$NON-NLS-1$
/**
* the expiration year attribute tag
*/
static final String EXPIRATION_YEAR_ATTRIBUTE = "expirationYear"; //$NON-NLS-1$
}