Class YahooFeed
- java.lang.Object
-
- org.marketcetera.marketdata.AbstractMarketDataFeed<YahooFeedToken,YahooFeedCredentials,YahooFeedMessageTranslator,YahooFeedEventTranslator,List<YahooRequest>,YahooFeed>
-
- org.marketcetera.marketdata.yahoo.YahooFeed
-
- All Implemented Interfaces:
IFeedComponent,MarketDataFeed<YahooFeedToken,YahooFeedCredentials>,YahooFeedServices,org.springframework.context.Lifecycle
class YahooFeed extends AbstractMarketDataFeed<YahooFeedToken,YahooFeedCredentials,YahooFeedMessageTranslator,YahooFeedEventTranslator,List<YahooRequest>,YahooFeed> implements YahooFeedServices
Market data feed implementation for the Yahoo market data supplier.- Since:
- 2.1.4
- Version:
- $Id$
- Author:
- Colin DuPlantis
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.marketcetera.marketdata.IFeedComponent
IFeedComponent.FeedType
-
-
Field Summary
Fields Modifier and Type Field Description private static Set<AssetClass>assetClassesasset classes supported by this adapterprivate static Set<Capability>capabilitiescapabilities of this adapterprivate YahooClientclientclient implementation to useprivate AtomicLongcountercounter used to count requestsprivate intrefreshIntervaldefault interval at which to refresh the market dataprivate Map<String,YahooRequest>requestsstores the active requests-
Fields inherited from class org.marketcetera.marketdata.AbstractMarketDataFeed
DATAFEED_STATUS_MESSAGES, DATAFEED_TRACE_MESSAGES, MARKETDATA_SIMULATION_KEY
-
-
Constructor Summary
Constructors Constructor Description YahooFeed(String inProviderName, YahooClientFactory inFactory)Create a new YahooFeed instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoCancel(String inHandle)voiddoDataReceived(String inHandle, Object inData)Indicates receipt of market data.protected booleandoLogin(YahooFeedCredentials inCredentials)protected voiddoLogout()protected List<String>doMarketDataRequest(List<YahooRequest> inRequests)private StringgenerateHandle()Generates a request handle.protected YahooFeedTokengenerateToken(MarketDataFeedTokenSpec inTokenSpec)Set<Capability>getCapabilities()protected YahooFeedEventTranslatorgetEventTranslator()protected YahooFeedMessageTranslatorgetMessageTranslator()intgetRefreshInterval()Gets the interval at which to refresh market data requests.(package private) longgetRequestCounter()Gets the current request counter.Set<AssetClass>getSupportedAssetClasses()protected booleanisLoggedIn()(package private) voidresetCounter()Resets the request counter.(package private) voidsetRefreshInterval(int inRefreshInterval)Sets the refresh interval for retrieving market data.-
Methods inherited from class org.marketcetera.marketdata.AbstractMarketDataFeed
addFeedComponentListener, afterDoExecute, beforeDoExecute, dataReceived, doInitialize, doReconnectToFeed, execute, getFeedStatus, getFeedType, getID, getProviderName, getTimeout, isRunning, login, logout, removeFeedComponentListener, setFeedStatus, start, stop
-
-
-
-
Field Detail
-
refreshInterval
private volatile int refreshInterval
default interval at which to refresh the market data
-
assetClasses
private static final Set<AssetClass> assetClasses
asset classes supported by this adapter
-
capabilities
private static final Set<Capability> capabilities
capabilities of this adapter
-
requests
private final Map<String,YahooRequest> requests
stores the active requests
-
counter
private final AtomicLong counter
counter used to count requests
-
client
private final YahooClient client
client implementation to use
-
-
Constructor Detail
-
YahooFeed
YahooFeed(String inProviderName, YahooClientFactory inFactory) throws NoMoreIDsException
Create a new YahooFeed instance.- Parameters:
inProviderName- aStringvalue- Throws:
NoMoreIDsException- if the feed cannot be constructed
-
-
Method Detail
-
getCapabilities
public Set<Capability> getCapabilities()
- Specified by:
getCapabilitiesin interfaceMarketDataFeed<YahooFeedToken,YahooFeedCredentials>
-
getSupportedAssetClasses
public Set<AssetClass> getSupportedAssetClasses()
- Specified by:
getSupportedAssetClassesin interfaceMarketDataFeed<YahooFeedToken,YahooFeedCredentials>
-
doDataReceived
public void doDataReceived(String inHandle, Object inData)
Description copied from interface:YahooFeedServicesIndicates receipt of market data.- Specified by:
doDataReceivedin interfaceYahooFeedServices- Parameters:
inHandle- aStringvalueinData- anObjectvalue
-
getRefreshInterval
public int getRefreshInterval()
Description copied from interface:YahooFeedServicesGets the interval at which to refresh market data requests.- Specified by:
getRefreshIntervalin interfaceYahooFeedServices- Returns:
- an
intvalue in ms
-
resetCounter
void resetCounter()
Resets the request counter.
-
getRequestCounter
long getRequestCounter()
Gets the current request counter.- Returns:
- a
longvalue
-
setRefreshInterval
void setRefreshInterval(int inRefreshInterval)
Sets the refresh interval for retrieving market data.Changing this value takes effect immediately.
- Parameters:
inRefreshInterval- anintvalue
-
doCancel
protected void doCancel(String inHandle)
- Specified by:
doCancelin classAbstractMarketDataFeed<YahooFeedToken,YahooFeedCredentials,YahooFeedMessageTranslator,YahooFeedEventTranslator,List<YahooRequest>,YahooFeed>
-
doLogin
protected boolean doLogin(YahooFeedCredentials inCredentials)
- Specified by:
doLoginin classAbstractMarketDataFeed<YahooFeedToken,YahooFeedCredentials,YahooFeedMessageTranslator,YahooFeedEventTranslator,List<YahooRequest>,YahooFeed>
-
doLogout
protected void doLogout()
- Specified by:
doLogoutin classAbstractMarketDataFeed<YahooFeedToken,YahooFeedCredentials,YahooFeedMessageTranslator,YahooFeedEventTranslator,List<YahooRequest>,YahooFeed>
-
isLoggedIn
protected boolean isLoggedIn()
- Specified by:
isLoggedInin classAbstractMarketDataFeed<YahooFeedToken,YahooFeedCredentials,YahooFeedMessageTranslator,YahooFeedEventTranslator,List<YahooRequest>,YahooFeed>
-
doMarketDataRequest
protected List<String> doMarketDataRequest(List<YahooRequest> inRequests) throws FeedException
- Specified by:
doMarketDataRequestin classAbstractMarketDataFeed<YahooFeedToken,YahooFeedCredentials,YahooFeedMessageTranslator,YahooFeedEventTranslator,List<YahooRequest>,YahooFeed>- Throws:
FeedException
-
generateToken
protected YahooFeedToken generateToken(MarketDataFeedTokenSpec inTokenSpec) throws FeedException
- Specified by:
generateTokenin classAbstractMarketDataFeed<YahooFeedToken,YahooFeedCredentials,YahooFeedMessageTranslator,YahooFeedEventTranslator,List<YahooRequest>,YahooFeed>- Throws:
FeedException
-
getEventTranslator
protected YahooFeedEventTranslator getEventTranslator()
- Specified by:
getEventTranslatorin classAbstractMarketDataFeed<YahooFeedToken,YahooFeedCredentials,YahooFeedMessageTranslator,YahooFeedEventTranslator,List<YahooRequest>,YahooFeed>
-
getMessageTranslator
protected YahooFeedMessageTranslator getMessageTranslator()
- Specified by:
getMessageTranslatorin classAbstractMarketDataFeed<YahooFeedToken,YahooFeedCredentials,YahooFeedMessageTranslator,YahooFeedEventTranslator,List<YahooRequest>,YahooFeed>
-
generateHandle
private String generateHandle()
Generates a request handle.- Returns:
- a
Stringvalue
-
-