/*******************************************************************************
* Copyright (c) 2013 Luigi Sgro. All rights reserved. This
* program and the accompanying materials are made available under the terms of
* the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Luigi Sgro - initial API and implementation
******************************************************************************/
package com.quantcomponents.ui.marketdata;
import java.net.ConnectException;
import com.quantcomponents.core.exceptions.RequestFailedException;
import com.quantcomponents.core.model.IPrettyNamed;
import com.quantcomponents.core.model.ITaskMonitor;
import com.quantcomponents.marketdata.IMarketDataManager;
import com.quantcomponents.marketdata.IRealTimeMarketDataManager;
import com.quantcomponents.marketdata.IStockDatabase;
import com.quantcomponents.ui.core.IMonitorableContainer;
import com.quantcomponents.ui.core.IMutableMonitorableContainer;
public class RealTimeMarketDataManagerPresentationWrapper extends MarketDataManagerPresentationWrapper implements IRealTimeMarketDataManager, IPrettyNamed, IMonitorableContainer<StockDatabasePresentationWrapper> {
public RealTimeMarketDataManagerPresentationWrapper(IRealTimeMarketDataManager manager, IMutableMonitorableContainer<IMarketDataManager, MarketDataManagerPresentationWrapper> parent) {
super(manager, parent);
}
public IRealTimeMarketDataManager getMarketDataManager() {
return (IRealTimeMarketDataManager) super.getMarketDataManager();
}
@Override
public void startRealtimeUpdate(IStockDatabase stockDb, boolean fillHistoricalGap, ITaskMonitor taskMonitor) throws ConnectException,
RequestFailedException, UnsupportedOperationException {
if (stockDb instanceof StockDatabasePresentationWrapper) {
stockDb = ((StockDatabasePresentationWrapper) stockDb).getInner();
}
getMarketDataManager().startRealtimeUpdate(stockDb, fillHistoricalGap, taskMonitor);
}
@Override
public void stopRealtimeUpdate(IStockDatabase stockDb) throws ConnectException, RequestFailedException, UnsupportedOperationException {
if (stockDb instanceof StockDatabasePresentationWrapper) {
stockDb = ((StockDatabasePresentationWrapper) stockDb).getInner();
}
getMarketDataManager().stopRealtimeUpdate(stockDb);
}
@Override
public boolean isRealtimeUpdate(IStockDatabase stockDb) throws ConnectException, RequestFailedException, UnsupportedOperationException {
if (stockDb instanceof StockDatabasePresentationWrapper) {
stockDb = ((StockDatabasePresentationWrapper) stockDb).getInner();
}
return getMarketDataManager().isRealtimeUpdate(stockDb);
}
}