
package de.ivu.elect.exchange.gebietsbaum;

import javax.enterprise.inject.Instance;
import javax.inject.Inject;

import de.ivu.elect.business.exchange.control.FileFormat;
import de.ivu.elect.business.gebietsbaum.boundary.GebietImportAktualisierenArt;
import de.ivu.elect.business.gebietsbaum.control.Gebietsbaum;
import de.ivu.elect.business.gebietsbaum.control.GebietsbaumExchangeContext;
import de.ivu.elect.business.gebietsbaum.control.GebietsbaumImportExchange;
import de.ivu.elect.exchange.AbstractImportExchange;

public class DefaultGebietsbaumImportExchange extends AbstractImportExchange<Gebietsbaum, GebietsbaumExchangeContext>
    implements
      GebietsbaumImportExchange {

  @Inject
  private transient Instance<GebietsbaumImportMapper> gebietsbaumMapper;

  public DefaultGebietsbaumImportExchange() {
    super();
  }

  @Override
  protected Iterable<GebietsbaumImportMapper> getAllSupportedMapper() {
    return gebietsbaumMapper;
  }

  @Override
  public GebietImportAktualisierenArt getSupportedGebietImportAktualisierenArt(FileFormat fileFormat) {
    for (GebietsbaumImportMapper mapper : getAllSupportedMapper()) {
      if (mapper.getFileFormat().equals(fileFormat)) {
        return mapper.getGebietImportAktualisierenArt();
      }
    }

    return GebietImportAktualisierenArt.NICHTS_AKTUALISIEREN;
  }
}
