package Model;

import java.io.File;
import java.util.Observable;

/**
 * This class represents the parameters required for the algorithm. They are set in the GUI.
 * Further documentation of the code is not necessary. Code is trivial(Constructor, Getter, Setter only) and self-explaining.
 *
 */
public class Parameters extends Observable {

	//-----------------------------------------------------------
	private File utteranceFile_;
	private File imageDB_;
	private double threshold_;
	private File logFile_;
	private double additiveNoise_;
	private double subtractiveNoise_;
	
	//------------------------------------------------------------
	public Parameters(){
		//attributes uninitialized
	}
	
	public Parameters(File a, File b, File c, double d, double e, double f){
		utteranceFile_ 		= a;
		imageDB_ 			= b;
		logFile_ 			= c;
		additiveNoise_ 		= d;
		subtractiveNoise_ 	= e;
		threshold_			= f;
	}
	
	public void setUtteranceFile(File a){
		utteranceFile_ = a; 
	}
	
	public File getUtteranceFile(){
		return utteranceFile_;
	}
	
	public void setImageDB(File a){
		imageDB_ = a;
	}
	
	public File getImageDB(){
		return imageDB_;
	}
	
	public void setLogFile(File a){
		logFile_ = a;
	}
	
	public File getLogFile(){
		return logFile_;
	}
	
	public void setAdditiveNoise(double a){
		additiveNoise_ = a;
		setChanged();
		notifyObservers();
	}
	
	public double getAdditiveNoise(){
		return additiveNoise_;
	}
	
	public void setSubtractiveNoise(double a){
		subtractiveNoise_ = a;
	}
	
	public double getSubtractiveNoise(){
		return subtractiveNoise_;
	}
	
	public void setThreshold(double a){
		threshold_ = a;
	}
	
	public double getThreshold(){
		return threshold_;
	}
	
}
