package seeurrenamer.main.model; import java.nio.file.Path; import javafx.beans.property.SimpleObjectProperty; import javafx.scene.control.TableView; /** * It is a model class that represents path before and after renamed, this class * also can be used as a model for javafx {@link TableView} * * @author moch deden * */ public class PairPath { private SimpleObjectProperty<Path> before; private SimpleObjectProperty<Path> after; public PairPath(Path before, Path after) { this.setBefore(before); this.setAfter(after); } public PairPath(Path before) { this.setBefore(before); this.setAfter(before); } public void setAfter(Path after) { this.after = new SimpleObjectProperty<>(after); } public void setBefore(Path before) { this.before = new SimpleObjectProperty<>(before); } public Path getBeforeFileName() { return this.before.get().getFileName(); } public Path getAfterFileName() { return this.after.get().getFileName(); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((after == null) ? 0 : after.hashCode()); result = prime * result + ((before == null) ? 0 : before.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; PairPath other = (PairPath) obj; if (after.get() == null) { if (other.after.get() != null) return false; } else if (!after.get().equals(other.after.get())) return false; if (before.get() == null) { if (other.before.get() != null) return false; } else if (!before.get().equals(other.before.get())) return false; return true; } @Override public String toString() { return this.before.get().toString() + " --> " + this.after.get().toString(); } public Path getBeforeFullPath() { return this.before.get(); } public Path getAfterFullPath() { return this.after.get(); } }