package classes;
/**
 * The class HolonTransformer represents a Transformer that transforms a flow to a lower flow.
 * Transforemer are not used in the current State of the Project but could be used the future.
 * 
 * @author Gruppe14
 *
 */
public class HolonTransformer extends AbstractCpsObject {

	/* Ratio of the transformer */
	float transformRatio;

	/* Fixed transform value */
	float transformFixed;
	
	float maxInput;
	
	float maxOutput;

	/**
	 * Constructor Set type of object (Transformer), its transform ratio and the
	 * default name ("Transformer").
	 * 
	 * @param objName name for the Object
	 */
	public HolonTransformer(String objName) {
		super(objName);
	}

	/**
	 * Copy of the Object.
	 * 
	 * @param obj the Object to Copy
	 */
	public HolonTransformer(AbstractCpsObject obj) {
		super(obj);
		this.setTransformRatio(((HolonTransformer) obj).getTransformRatio());
		this.setTransformFixed(((HolonTransformer) obj).getTransformFixed());
	}

	/**
	 * Set transform ratio.
	 * 
	 * @param ratio
	 *            desired ratio
	 */
	public void setTransformRatio(float ratio) {
		this.transformRatio = ratio;
	}

	/**
	 * Output the actual ratio of the transformer.
	 * 
	 * @return actual ratio of the transformer
	 */
	public float getTransformRatio() {
		return this.transformRatio;
	}

	/**
	 * Set fixed Transform Value.
	 * 
	 * @param fixed
	 *            desired fixed Transform Value
	 */
	public void setTransformFixed(float fixed) {
		this.transformFixed = fixed;
	}

	/**
	 * Output the actual fixed Transform Value.
	 * 
	 * @return actual fixed Transform Value
	 */
	public float getTransformFixed() {
		return this.transformFixed;
	}

	/**
	 * Get the Output of the Transformer.
	 * 
	 * @return The Output
	 */
	public float getOutput() {
		float output = 0;
		return output;

	}
}
