package sk.stuba.fiit.perconik.environment.java;
import org.osgi.framework.Version;
import sk.stuba.fiit.perconik.environment.Environment;
public enum JavaVerifier {
JAVA_5("1.5"),
JAVA_6("1.6"),
JAVA_7("1.7"),
JAVA_8("1.8");
private final transient Version version;
private JavaVerifier(final String version) {
this.version = parseJavaVersion(version);
}
public static Version parseJavaVersion(final String value) {
return Version.parseVersion(value.replace("_", "."));
}
public boolean isJavaCompatible() {
return this.version.compareTo(Environment.getJavaVersion()) < 0;
}
public void verify() throws JavaVerificationException {
if (!this.isJavaCompatible()) {
throw new JavaVerificationException(this.version, Environment.getJavaVersion());
}
}
public Version getJavaVersion() {
return this.version;
}
}