/******************************************************************************* * Copyright (c) 2005, 2009 committers of openArchitectureWare and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * committers of openArchitectureWare - initial API and implementation *******************************************************************************/ package org.eclipse.xtend; public class VersionComparator { /** * Don't allow instantiation. */ private VersionComparator() { throw new UnsupportedOperationException(); } public static Version getVMVersion() { return new Version(System.getProperty("java.version")); } public static boolean isAtLeastVersion(final String minVersionString) { if (minVersionString == null || !Version.isVersionString(minVersionString)) throw new IllegalArgumentException(); final Version vmVersion = getVMVersion(); final Version minVersion = new Version(minVersionString); return (minVersion.compareTo(vmVersion) <= 0); } public static boolean hasRequiredVersion(final String minVersionString, final String maxVersionString) { if (minVersionString == null || !Version.isVersionString(minVersionString) || !Version.isVersionString(maxVersionString)) throw new IllegalArgumentException(); final Version vmVersion = getVMVersion(); final Version minVersion = new Version(minVersionString); final Version maxVersion = new Version(maxVersionString); return ((minVersion.compareTo(vmVersion) <= 0) && (vmVersion .compareTo(maxVersion) <= 0)); } }