monasca-api/src/main/java/com/hpcloud/mon/infrastructure/InfrastructureModule.java
Jonathan Halterman cd0ce9706c WIP
2014-04-23 14:16:05 -07:00

37 lines
1.8 KiB
Java

package com.hpcloud.mon.infrastructure;
import javax.inject.Singleton;
import com.google.inject.AbstractModule;
import com.hpcloud.mon.domain.model.alarm.AlarmRepository;
import com.hpcloud.mon.domain.model.alarmstatehistory.AlarmStateHistoryRepository;
import com.hpcloud.mon.domain.model.measurement.MeasurementRepository;
import com.hpcloud.mon.domain.model.metric.MetricDefinitionRepository;
import com.hpcloud.mon.domain.model.notificationmethod.NotificationMethodRepository;
import com.hpcloud.mon.domain.model.statistic.StatisticRepository;
import com.hpcloud.mon.infrastructure.persistence.AlarmStateHistoryRepositoryImpl;
import com.hpcloud.mon.infrastructure.persistence.AlarmRepositoryImpl;
import com.hpcloud.mon.infrastructure.persistence.MeasurementRepositoryImpl;
import com.hpcloud.mon.infrastructure.persistence.MetricDefinitionRepositoryImpl;
import com.hpcloud.mon.infrastructure.persistence.NotificationMethodRepositoryImpl;
import com.hpcloud.mon.infrastructure.persistence.StatisticRepositoryImpl;
/**
* Infrastructure layer bindings.
*
* @author Jonathan Halterman
*/
public class InfrastructureModule extends AbstractModule {
@Override
protected void configure() {
// Bind repositories
bind(AlarmRepository.class).to(AlarmRepositoryImpl.class).in(Singleton.class);
bind(AlarmStateHistoryRepository.class).to(AlarmStateHistoryRepositoryImpl.class).in(Singleton.class);
bind(MetricDefinitionRepository.class).to(MetricDefinitionRepositoryImpl.class).in(Singleton.class);
bind(MeasurementRepository.class).to(MeasurementRepositoryImpl.class).in(Singleton.class);
bind(StatisticRepository.class).to(StatisticRepositoryImpl.class).in(Singleton.class);
bind(NotificationMethodRepository.class).to(NotificationMethodRepositoryImpl.class).in(
Singleton.class);
}
}