
org.marketcetera.marketdata.csv.CSVFeedModule Maven / Gradle / Ivy
package org.marketcetera.marketdata.csv;
import org.apache.commons.lang.StringUtils;
import org.marketcetera.core.CoreException;
import org.marketcetera.marketdata.AbstractMarketDataModule;
import org.marketcetera.util.misc.ClassVersion;
/**
* StrategyAgent module for {@link CSVFeed}.
*
* @author toli kuznets
* @author Colin DuPlantis
* @since 2.1.0
* @version $Id: CSVFeedModule.java 16154 2012-07-14 16:34:05Z colin $
*/
@ClassVersion("$Id: CSVFeedModule.java 16154 2012-07-14 16:34:05Z colin $")
public class CSVFeedModule
extends AbstractMarketDataModule
implements CSVFeedMXBean
{
/* (non-Javadoc)
* @see org.marketcetera.marketdata.csv.CSVFeedMXBean#getReplayRate()
*/
@Override
public String getReplayRate()
{
return String.valueOf(replayRate);
}
/* (non-Javadoc)
* @see org.marketcetera.marketdata.csv.CSVFeedMXBean#setReplayRate(double)
*/
@Override
public void setReplayRate(String inReplayRate)
{
replayRate = Long.parseLong(StringUtils.trimToNull(inReplayRate));
}
/* (non-Javadoc)
* @see org.marketcetera.marketdata.csv.CSVFeedMXBean#getMarketdataDirectory()
*/
@Override
public String getMarketdataDirectory()
{
return marketdataDirectory;
}
/* (non-Javadoc)
* @see org.marketcetera.marketdata.csv.CSVFeedMXBean#setMarketdataDirectory(java.lang.String)
*/
@Override
public void setMarketdataDirectory(String inDirectory)
{
marketdataDirectory = StringUtils.trimToNull(inDirectory);
}
/* (non-Javadoc)
* @see org.marketcetera.marketdata.csv.CSVFeedMXBean#getEventTranslatorClassName()
*/
@Override
public String getEventTranslatorClassName()
{
return eventTranslatorClassname;
}
/* (non-Javadoc)
* @see org.marketcetera.marketdata.csv.CSVFeedMXBean#setEventTranslatorClassName(java.lang.String)
*/
@Override
public void setEventTranslatorClassName(String inEventTranslatorClassname)
{
eventTranslatorClassname = inEventTranslatorClassname;
}
/* (non-Javadoc)
* @see org.marketcetera.marketdata.csv.CSVFeedMXBean#getReplayEvents()
*/
@Override
public String getReplayEvents()
{
return String.valueOf(replayEvents);
}
/* (non-Javadoc)
* @see org.marketcetera.marketdata.csv.CSVFeedMXBean#setReplayEvents(String)
*/
@Override
public void setReplayEvents(String inReplayEvents)
{
replayEvents = Boolean.valueOf(StringUtils.trimToNull(inReplayEvents));
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString()
{
return String.format("CSVFeedModule [translator: %s]", //$NON-NLS-1$
eventTranslatorClassname);
}
/**
* Create a new CSVFeedModule instance.
*
* @throws org.marketcetera.core.CoreException
*/
CSVFeedModule()
throws CoreException
{
super(CSVFeedModuleFactory.INSTANCE_URN,
CSVFeedFactory.getInstance().getMarketDataFeed());
}
/* (non-Javadoc)
* @see org.marketcetera.marketdata.AbstractMarketDataModule#getCredentials()
*/
@Override
protected CSVFeedCredentials getCredentials()
throws CoreException
{
return CSVFeedCredentials.getInstance(replayRate,
replayEvents,
marketdataDirectory,
getEventTranslatorClassName());
}
/**
* the event translator classname to use
*/
private volatile String eventTranslatorClassname = BasicCSVFeedEventTranslator.class.getName();
/**
* delay between each event
*/
private volatile long replayRate = 1000;
/**
* the directory in which to find marketdata
*/
private volatile String marketdataDirectory;
/**
* indicates if events should be replayed upon completion
*/
private volatile boolean replayEvents = false;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy