public static Version alpha(int major, int minor, int sub, int rev) { return new Version(VersionType.ALPHA, major, minor, sub, rev); }
@Override public int hashCode() { int result = version.hashCode(); result = 31 * result + (int) (serverTime ^ (serverTime >>> 32)); return result; } }
@Override public String to(Version version) { assert version != null; return IntegerMapper.getInstance().to(version.getMajor()) + Separator.VAR_SEPARATOR + IntegerMapper.getInstance().to(version.getMinor()) + Separator.VAR_SEPARATOR + IntegerMapper.getInstance().to(version.getSub()) + Separator.VAR_SEPARATOR + IntegerMapper.getInstance().to(version.getRev()) + Separator.VAR_SEPARATOR + IntegerMapper.getInstance().to(version.getType().value); } }
public static Version parse(String value) { String[] values = value.split("\\."); switch (values[0].toLowerCase()) { case "alpha": return alpha(Integer.valueOf(values[1]), Integer.valueOf(values[2]),Integer.valueOf(values[3]),Integer.valueOf(values[4])); case "beta": return beta(Integer.valueOf(values[1]), Integer.valueOf(values[2]),Integer.valueOf(values[3]),Integer.valueOf(values[4])); default: return release(Integer.valueOf(values[1]), Integer.valueOf(values[2]),Integer.valueOf(values[3]),Integer.valueOf(values[4])); } }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } VersionCheck that = (VersionCheck) o; return serverTime == that.serverTime && version.equals(that.version); }
public static Version beta(int major, int minor, int sub, int rev) { return new Version(VersionType.BETA, major, minor, sub, rev); }
public static Version release(int major, int minor, int sub, int rev) { return new Version(VersionType.RELEASE, major, minor, sub, rev); }
@Override public Version from(String s) { assert s!= null; String[] v = s.split(Separator.VAR_SEPARATOR); try { int major = IntegerMapper.getInstance().from(v[0]); int minor = IntegerMapper.getInstance().from(v[1]); int sub = IntegerMapper.getInstance().from(v[2]); int rev = IntegerMapper.getInstance().from(v[3]); Version.VersionType type = Version.VersionType.valueOf(IntegerMapper.getInstance().from(v[4])); return new Version(type, major, minor, sub, rev); } catch (IndexOutOfBoundsException | IllegalArgumentException e) { throw new MappingException(e); } }