Class ManualFeedModule
- java.lang.Object
-
- org.marketcetera.module.Module
-
- org.marketcetera.marketdata.manual.ManualFeedModule
-
- All Implemented Interfaces:
DataEmitter
public class ManualFeedModule extends Module implements DataEmitter
Supplies market data supplied by an upstream module.- Since:
- $Release$
- Version:
- $Id$
- Author:
- Colin DuPlantis
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classManualFeedModule.AbstractRequestDataProvides common behavior for data flow requests.private static classManualFeedModule.FeedStatusRequestDataHolds data relevant to a feed status request as part of a module data flow.private static classManualFeedModule.MarketDataRequestDataHolds data relevant to a market data request as part of a module data flow.
-
Field Summary
Fields Modifier and Type Field Description private Collection<MarketDataCapabilityBroadcaster>capabilityBroadcastersreceivers of capabilities of this moduleprivate FeedStatusfeedStatuscurrent status of the feedprivate com.google.common.cache.Cache<DataFlowID,ManualFeedModule.FeedStatusRequestData>feedStatusRequestDataByDataFlowIdholds feed status requests by data flow idprivate static ManualFeedModuleinstancesingleton reference valueprivate org.marketcetera.marketdata.service.MarketDataServicemarketDataServiceprovides access to market data servicesprivate com.google.common.cache.Cache<DataFlowID,ManualFeedModule.MarketDataRequestData>requestsByDataFlowIdholds market data request info by data flow idprivate com.google.common.cache.Cache<String,ManualFeedModule.MarketDataRequestData>requestsByRequestIdholds data request info keyed by request idprivate Collection<MarketDataStatusBroadcaster>statusBroadcastersreceivers of status of this module
-
Constructor Summary
Constructors Constructor Description ManualFeedModule(ModuleURN inUrn)Create a new ManualFeedModule instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcancel(DataFlowID inFlowId, RequestID inRequestID)private voiddoFeedStatusRequest(FeedStatusRequest inPayload, DataRequest inRequest, DataEmitterSupport inSupport)Execute a feed status request with the given attributes.private voiddoMarketDataRequest(MarketDataRequest inPayload, DataRequest inRequest, DataEmitterSupport inSupport)Perform the market data requestvoidemit(String inRequestId, Collection<Event> inEvents)Emit the given events to the data flow for the given request id.voidemit(String inRequestId, Event inEvent)Emit the given event to the data flow for the given request id.private voidemit(DataEmitterSupport inDataEmitter, Event inEvent)Emit the given event to the given data flow.static ManualFeedModulegetInstance()Get the instance value.com.google.common.collect.BiMap<String,MarketDataRequest>getRequests()Get the known market data requests indexed by the request id associated with the request.protected voidpreStart()protected voidpreStop()voidrequestData(DataRequest inRequest, DataEmitterSupport inSupport)private voidupdateFeedStatus(FeedStatus inNewStatus)Update the feed status to the new given value.-
Methods inherited from class org.marketcetera.module.Module
getCreated, getLastStartFailure, getLastStopFailure, getStarted, getState, getStopped, getURN, isAutoCreated, isAutoStart
-
-
-
-
Field Detail
-
feedStatus
private volatile FeedStatus feedStatus
current status of the feed
-
feedStatusRequestDataByDataFlowId
private final com.google.common.cache.Cache<DataFlowID,ManualFeedModule.FeedStatusRequestData> feedStatusRequestDataByDataFlowId
holds feed status requests by data flow id
-
capabilityBroadcasters
@Autowired(required=false) private Collection<MarketDataCapabilityBroadcaster> capabilityBroadcasters
receivers of capabilities of this module
-
statusBroadcasters
@Autowired(required=false) private Collection<MarketDataStatusBroadcaster> statusBroadcasters
receivers of status of this module
-
marketDataService
@Autowired private org.marketcetera.marketdata.service.MarketDataService marketDataService
provides access to market data services
-
requestsByRequestId
private final com.google.common.cache.Cache<String,ManualFeedModule.MarketDataRequestData> requestsByRequestId
holds data request info keyed by request id
-
requestsByDataFlowId
private final com.google.common.cache.Cache<DataFlowID,ManualFeedModule.MarketDataRequestData> requestsByDataFlowId
holds market data request info by data flow id
-
instance
private static ManualFeedModule instance
singleton reference value
-
-
Constructor Detail
-
ManualFeedModule
ManualFeedModule(ModuleURN inUrn)
Create a new ManualFeedModule instance.- Parameters:
inUrn- aModuleURNvalue
-
-
Method Detail
-
getInstance
public static ManualFeedModule getInstance()
Get the instance value.- Returns:
- a
ManualFeedModulevalue
-
emit
public void emit(String inRequestId, Collection<Event> inEvents)
Emit the given events to the data flow for the given request id.- Parameters:
inRequestId- aStringvalue ornullto submit to all data flowsinEvents- aCollection<Event>value
-
emit
public void emit(String inRequestId, Event inEvent)
Emit the given event to the data flow for the given request id.- Parameters:
inRequestId- aStringvalue ornullto submit to all data flowsinEvent- aEventvalue
-
getRequests
public com.google.common.collect.BiMap<String,MarketDataRequest> getRequests()
Get the known market data requests indexed by the request id associated with the request.- Returns:
- a
BiMap<String,MarketDataRequest>value
-
requestData
public void requestData(DataRequest inRequest, DataEmitterSupport inSupport) throws RequestDataException
- Specified by:
requestDatain interfaceDataEmitter- Throws:
RequestDataException
-
cancel
public void cancel(DataFlowID inFlowId, RequestID inRequestID)
- Specified by:
cancelin interfaceDataEmitter
-
preStart
protected void preStart() throws ModuleException- Specified by:
preStartin classModule- Throws:
ModuleException
-
preStop
protected void preStop() throws ModuleException- Specified by:
preStopin classModule- Throws:
ModuleException
-
updateFeedStatus
private void updateFeedStatus(FeedStatus inNewStatus)
Update the feed status to the new given value.- Parameters:
inNewStatus- aFeedStatusvalue
-
doFeedStatusRequest
private void doFeedStatusRequest(FeedStatusRequest inPayload, DataRequest inRequest, DataEmitterSupport inSupport)
Execute a feed status request with the given attributes.- Parameters:
inPayload- aFeedStatusRequestvalueinRequest- aDataRequestvalueinSupport- aDataEmitterSupportvalue
-
emit
private void emit(DataEmitterSupport inDataEmitter, Event inEvent)
Emit the given event to the given data flow.- Parameters:
inDataEmitter- aDataEmitterSupportvalueinEvent- anEventvalue
-
doMarketDataRequest
private void doMarketDataRequest(MarketDataRequest inPayload, DataRequest inRequest, DataEmitterSupport inSupport)
Perform the market data request- Parameters:
inPayload- aMarketDataRequestvalueinRequest- aDataRequestvalueinSupport- aDataEmitterSupportvalue
-
-