
package de.ivu.elect.business.exchange.entity;

import static org.apache.commons.lang3.StringUtils.defaultIfBlank;

import de.ivu.elect.business.datei.entity.AbstractDateiFileNames;
import de.ivu.elect.business.exchange.control.FileFormat;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahl.entity.Wahltermin;
import de.ivu.elect.jee.faces.Messages;

public class DateiImportArtFileNames extends AbstractDateiFileNames {

  private final DateiImportArt dateiImportArt;

  private final String originalDateiname;

  private final String dateiname;

  public DateiImportArtFileNames(Messages messages, DateiImportArt dateiImportArt) {
    this(messages, dateiImportArt, "", "");
  }

  public DateiImportArtFileNames(Messages messages, DateiImportArt dateiImportArt, String originalDateiname, String dateiname) {
    super(messages);

    this.dateiImportArt = dateiImportArt;

    this.originalDateiname = originalDateiname;
    this.dateiname = dateiname;
  }

  @Override
  public String getOriginalDateiname(FileFormat fileFormat, Wahl wahl, Wahltermin wahltermin) {
    return originalDateiname;
  }

  @Override
  public String getDateiname(FileFormat fileFormat, Wahl wahl, Wahltermin wahltermin) {
    return defaultIfBlank(dateiname, generateDateiname(fileFormat, dateiImportArt, true));
  }
}
