package org.odata4j.core;
/**
* V1 or V2
*/
public enum ODataVersion {
// order of definition is important
V1("1.0"),
V2("2.0"),
V3("3.0");
/**
* 1.0 or 2.0
*/
public final String asString;
private ODataVersion(String asString) {
this.asString = asString;
}
/**
* Identify a version by version string.
*
* @param str the version string
* @return the version enum
*/
public static ODataVersion parse(String str) {
if (V1.asString.equals(str))
return V1;
else if (V2.asString.equals(str)) {
return V2;
} else if (V3.asString.equals(str)) {
return V3;
} else {
throw new IllegalArgumentException("Unknown ODataVersion " + str);
}
}
/** Returns true if the version v is greater than the target version */
public static boolean isVersionGreaterThan(ODataVersion v, ODataVersion target) {
return v.compareTo(target) > 0;
}
/** Returns true if the version v is greater than or equal to the target version */
public static boolean isVersionGreaterThanOrEqualTo(ODataVersion v, ODataVersion target) {
return v.compareTo(target) >= 0;
}
}