algorithms-for-computing-li.../LinearRegressionTool/src/main/java/de/wwwu/awolf/model/Point.java

118 lines
2.3 KiB
Java

package de.wwwu.awolf.model;
/**
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
*
* @Author: Armin Wolf
* @Email: a_wolf28@uni-muenster.de
* @Date: 28.05.2017.
*/
public class Point implements Comparable<Point> {
private Double x;
private Double y;
private String id;
/**
* Konstruktor
*
* @param x x-Koordiante
* @param y y-Koordiante
*/
public Point(Double x, Double y) {
this.x = x;
this.y = y;
}
/**
* Konstruktor
*
* @param x x-Koordiante
* @param y y-Koordiante
* @param id id des Punkts
*/
public Point(Double x, Double y, String id) {
this.x = x;
this.y = y;
this.id = id;
}
/**
* @return x-Koordinate des Punkts
*/
public Double getX() {
return x;
}
/**
* @param x x-Koordinate des Punkts
*/
public void setX(Double x) {
this.x = x;
}
/**
* @return y-Koordinate des Punkts
*/
public Double getY() {
return y;
}
/**
* @param y y-Koordinate des Punkts
*/
public void setY(Double y) {
this.y = y;
}
@Override
public int compareTo(Point o) {
if (this.getX().equals(o.getX())) {
if (this.getY() <= o.getY()) {
return -1;
} else {
return 1;
}
} else if (this.getX() < o.getX()) {
return -1;
} else {
return 1;
}
}
/**
* Vergleich zweier Punkte
*
* @param obj zu vergleichernder Punkt
* @return <code>true</code> falls die Punkte gleich sind
*/
@Override
public boolean equals(Object obj) {
if (obj instanceof Point) {
Point other = (Point) obj;
return other.getX().equals(this.getX()) && other.getY().equals(this.getY());
} else {
return super.equals(obj);
}
}
@Override
public int hashCode() {
return super.hashCode() + this.getX().hashCode() + this.getY().hashCode();
}
/**
* @return id des Punkts
*/
public String getId() {
return id;
}
/**
* @param id id des Punkts
*/
public void setId(String id) {
this.id = id;
}
}