/**
* Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.solutions.library.storage;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import com.google.inject.Singleton;
import com.opengamma.financial.convention.ConventionBundleMaster;
import com.opengamma.financial.convention.InMemoryConventionBundleMaster;
import com.opengamma.master.config.ConfigMaster;
import com.opengamma.master.config.impl.InMemoryConfigMaster;
import com.opengamma.master.convention.ConventionMaster;
import com.opengamma.master.convention.impl.InMemoryConventionMaster;
import com.opengamma.master.exchange.ExchangeMaster;
import com.opengamma.master.exchange.impl.InMemoryExchangeMaster;
import com.opengamma.master.historicaltimeseries.HistoricalTimeSeriesMaster;
import com.opengamma.master.historicaltimeseries.impl.InMemoryHistoricalTimeSeriesMaster;
import com.opengamma.master.holiday.HolidayMaster;
import com.opengamma.master.holiday.impl.InMemoryHolidayMaster;
import com.opengamma.master.legalentity.LegalEntityMaster;
import com.opengamma.master.legalentity.impl.InMemoryLegalEntityMaster;
import com.opengamma.master.marketdatasnapshot.MarketDataSnapshotMaster;
import com.opengamma.master.marketdatasnapshot.impl.InMemorySnapshotMaster;
import com.opengamma.master.portfolio.PortfolioMaster;
import com.opengamma.master.portfolio.impl.InMemoryPortfolioMaster;
import com.opengamma.master.position.PositionMaster;
import com.opengamma.master.position.impl.InMemoryPositionMaster;
import com.opengamma.master.region.RegionMaster;
import com.opengamma.master.region.impl.InMemoryRegionMaster;
import com.opengamma.master.region.impl.RegionFileReader;
import com.opengamma.master.security.SecurityMaster;
import com.opengamma.master.security.impl.InMemorySecurityMaster;
/**
* Binds the master interfaces to in-memory versions.
*/
public class InMemoryStorageModule extends AbstractModule {
@Override
protected void configure() {
}
@Provides
@Singleton
public SecurityMaster createSecurityMaster() {
return new InMemorySecurityMaster();
}
@Provides
@Singleton
public ConfigMaster createConfigMaster() {
return new InMemoryConfigMaster();
}
@Provides
@Singleton
public HistoricalTimeSeriesMaster createHtsMaster() {
return new InMemoryHistoricalTimeSeriesMaster();
}
@Provides
@Singleton
public ConventionMaster createConventionMaster() {
return new InMemoryConventionMaster();
}
@Provides
@Singleton
public RegionMaster createRegionMaster() {
return new InMemoryRegionMaster();
}
@Provides
@Singleton
public HolidayMaster createHolidayMaster() {
return new InMemoryHolidayMaster();
}
@Provides
@Singleton
public MarketDataSnapshotMaster createSnapshotMaster() {
return new InMemorySnapshotMaster();
}
@Provides
@Singleton
public LegalEntityMaster createLegalEntityMaster() {
return new InMemoryLegalEntityMaster();
}
@Provides
@Singleton
public ExchangeMaster createExchangeMaster() {
return new InMemoryExchangeMaster();
}
@Provides
@Singleton
public PositionMaster createPositionMaster() {
return new InMemoryPositionMaster();
}
@Provides
@Singleton
public PortfolioMaster createPortfolioMaster() {
return new InMemoryPortfolioMaster();
}
@Provides
@Singleton
public ConventionBundleMaster createConventionBundleMaster() {
return new InMemoryConventionBundleMaster();
}
}