package org.netbeans.gradle.project.model;
import java.nio.file.Path;
import java.util.Objects;
public final class SettingsGradleDef {
public static final SettingsGradleDef DEFAULT = new SettingsGradleDef(null, true);
public static final SettingsGradleDef NO_SETTINGS = new SettingsGradleDef(null, false);
private final Path settingsGradle;
private final boolean maySearchUpwards;
public SettingsGradleDef(Path settingsGradle, boolean maySearchUpwards) {
this.settingsGradle = settingsGradle;
this.maySearchUpwards = settingsGradle == null && maySearchUpwards;
}
public Path getSettingsGradle() {
return settingsGradle;
}
public boolean isMaySearchUpwards() {
return maySearchUpwards;
}
@Override
public int hashCode() {
int hash = 5;
hash = 37 * hash + Objects.hashCode(settingsGradle);
hash = 37 * hash + (maySearchUpwards ? 1 : 0);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null) return false;
if (getClass() != obj.getClass()) return false;
final SettingsGradleDef other = (SettingsGradleDef)obj;
return this.maySearchUpwards == other.maySearchUpwards
&& Objects.equals(this.settingsGradle, other.settingsGradle);
}
@Override
public String toString() {
return maySearchUpwards
? "{" + settingsGradle + "}"
: "{" + settingsGradle + ", may not search}";
}
}