package de.wwwu.awolf.model;

/**
 * Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
 *
 * @Author: Armin Wolf
 * @Email: a_wolf28@uni-muenster.de
 * @Date: 16.06.2017.
 */
public class Interval {

    private double upper;
    private double lower;
    private Boolean activity;

    /**
     * Konstruktor
     *
     * @param lower untere Schranke
     * @param upper obere Schranke
     */
    public Interval(double lower, double upper) {
        this.upper = upper;
        this.lower = lower;
        this.activity = true;
    }

    /**
     * @return <code>true</code> falls das Intervall aktiv ist
     */
    public Boolean getActivity() {
        return activity;
    }

    /**
     * @param isActive <code>true</code> falls das Intervall als aktiv gesetzt werden soll
     */
    public void setActivity(Boolean isActive) {
        this.activity = isActive;
    }

    /**
     * @return obere Schranke des Intervalls
     */
    public double getUpper() {
        return upper;
    }

    /**
     * @param upper obere Schranke des Intervalls
     */
    public void setUpper(double upper) {
        this.upper = upper;
    }

    /**
     * @return untere Schranke des Intervalls
     */
    public double getLower() {
        return lower;
    }

    /**
     * @param lower untere Schranke des Intervalls
     */
    public void setLower(double lower) {
        this.lower = lower;
    }

    /**
     * Berechnet die Distanz zwischen der oberen und unteren Schranke
     *
     * @return Distanz
     */
    public Double getDistance() {
        return Math.abs(this.upper - this.lower);
    }

}