
package de.ivu.elect.business.konfiguration.control;

import java.io.File;
import java.io.OutputStream;
import java.io.Serializable;

import javax.annotation.Nullable;

import de.ivu.elect.business.konfiguration.entity.InputStreamMitGroesse;

public interface StreamCreator extends Serializable {

  @Deprecated
    // nicht direkt verwenden, sondern de.ivu.elect.business.datei.entity.AbstractDatei.createInputStream()
  InputStreamMitGroesse createInputStreamForDatei(String dateiname, @Nullable String path);

  @Deprecated // nicht direkt verwenden, sondern de.ivu.elect.business.datei.entity.AbstractDatei.createOutputStream()
  default OutputStream createOutputStreamForDatei(String dateiname, @Nullable String path) {
    return createOutputStreamForDatei(dateiname, path, false);
  }

  @Deprecated
    // nicht direkt verwenden, sondern de.ivu.elect.business.datei.entity.AbstractDatei.createOutputStream()
  OutputStream createOutputStreamForDatei(String dateiname, @Nullable String path, boolean append);

  File createFile(String dateiname, @Nullable String path);
}
