package org.springframework.roo.addon.roobot.client;
/**
* Indication of stability level for add-ons / components.
*
* @author Stefan Schmidt
* @since 1.1.2
*/
public enum AddOnStabilityLevel {
ANY(3), MILESTONE(2), RELEASE(0), RELEASE_CANDIDATE(1);
public static AddOnStabilityLevel fromLevel(final int level) {
if (level == ANY.getLevel()) {
return ANY;
}
else if (level == RELEASE_CANDIDATE.getLevel()) {
return RELEASE_CANDIDATE;
}
else if (level == MILESTONE.getLevel()) {
return MILESTONE;
}
else {
return RELEASE; // Default for all unknown inputs
}
}
public static int getAddOnStabilityLevel(final String version) {
if (version.endsWith(".RELEASE")) {
return RELEASE.getLevel();
}
else if (version.matches("\\.RC\\d")) {
return RELEASE_CANDIDATE.getLevel();
}
else if (version.matches("\\.M\\d")) {
return MILESTONE.getLevel();
}
else {
return ANY.getLevel();
}
}
private int level;
private AddOnStabilityLevel(final int level) {
this.level = level;
}
public int getLevel() {
return level;
}
}