/** * @return <code>true</code> if this Java version is supported by the current * Java Version. It is expected that all versions are backward * compatible. */ public boolean isSupportedVersion () { return m_dMinVersionIncl < getCurrentVersion ().m_dMaxVersionExcl; }
@Nonnull public static EJavaVersion getFromVersionNumber (final double dVersion) { for (final EJavaVersion eVersion : values ()) if (eVersion.isMatchingVersion (dVersion)) return eVersion; return UNKNOWN; } }
/** * Default constructor. * * @param dMinVersionIncl * Minimum version (inclusive) * @param dMaxVersionExcl * Maximum version (exclusive) */ private EJavaVersion (@Nonnegative final double dMinVersionIncl, @Nonnegative final double dMaxVersionExcl) { m_dMinVersionIncl = dMinVersionIncl; m_dMaxVersionExcl = dMaxVersionExcl; m_bIsIt = isMatchingVersion (JavaVersionConstants.CLASS_VERSION); }
/** * @return The current Java version. If the Java version could not be * determined, {@link #UNKNOWN} is returned and never * <code>null</code>. */ @Nonnull public static EJavaVersion getCurrentVersion () { EJavaVersion ret = s_aInstance; if (ret == null) { // Note: double initialization doesn't matter here for (final EJavaVersion eVersion : values ()) if (eVersion.m_bIsIt) { ret = eVersion; break; } if (ret == null) ret = UNKNOWN; s_aInstance = ret; } return ret; }
/** * Get the matching Java version from a class version. * * @param nMajor * Major version number * @param nMinor * Minor version number * @return {@link #UNKNOWN} if the version could not be determined. */ @Nonnull public static EJavaVersion getFromMajorAndMinor (final int nMajor, final int nMinor) { final double dVersion = StringParser.parseBigDecimal (nMajor + "." + nMinor).doubleValue (); return getFromVersionNumber (dVersion); }
if (EJavaVersion.JDK_17.isSupportedVersion ()) aRegistry.registerEqualsImplementation (Locale.class, new EqualsImplementationLocale ());
/** * @return The current Java version that is running. Never <code>null</code>. */ @Nonnull public static EJavaVersion getJavaVersion () { return EJavaVersion.getCurrentVersion (); }