Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
Apache Commons Lang v3 Source Code Files
Apache Commons Lang 3 is the 3rd version of Apache Commons Lang, which provides a host of helper utilities for the java.lang API.
Apache Commons Lang 3 Source Code files are provided in both binary packge (commons-lang3-3.12.0-bin.zip) and source package (commons-lang3-3.12.0-src.zip). You can download them at Apache Commons Lang Website.
Apache Commons Lang 3 Source Code has no dependencies and is compatible with Java 8 and newer versions. You can compile it to generate your own version of Apache Commons Lang 3 JAR file.
You can also browse the source code below:
✍: FYIcenter
⏎ org/apache/commons/lang3/JavaVersion.java
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.commons.lang3; import org.apache.commons.lang3.math.NumberUtils; /** * <p>An enum representing all the versions of the Java specification. * This is intended to mirror available values from the * <em>java.specification.version</em> System property. </p> * * @since 3.0 */ public enum JavaVersion { /** * The Java version reported by Android. This is not an official Java version number. */ JAVA_0_9(1.5f, "0.9"), /** * Java 1.1. */ JAVA_1_1(1.1f, "1.1"), /** * Java 1.2. */ JAVA_1_2(1.2f, "1.2"), /** * Java 1.3. */ JAVA_1_3(1.3f, "1.3"), /** * Java 1.4. */ JAVA_1_4(1.4f, "1.4"), /** * Java 1.5. */ JAVA_1_5(1.5f, "1.5"), /** * Java 1.6. */ JAVA_1_6(1.6f, "1.6"), /** * Java 1.7. */ JAVA_1_7(1.7f, "1.7"), /** * Java 1.8. */ JAVA_1_8(1.8f, "1.8"), /** * Java 1.9. * * @deprecated As of release 3.5, replaced by {@link #JAVA_9} */ @Deprecated JAVA_1_9(9.0f, "9"), /** * Java 9. * * @since 3.5 */ JAVA_9(9.0f, "9"), /** * Java 10. * * @since 3.7 */ JAVA_10(10.0f, "10"), /** * Java 11. * * @since 3.8 */ JAVA_11(11.0f, "11"), /** * Java 12. * * @since 3.9 */ JAVA_12(12.0f, "12"), /** * Java 13. * * @since 3.9 */ JAVA_13(13.0f, "13"), /** * Java 14. * * @since 3.11 */ JAVA_14(14.0f, "14"), /** * Java 15. * * @since 3.11 */ JAVA_15(15.0f, "15"), /** * Java 16. * * @since 3.11 */ JAVA_16(16.0f, "16"), /** * Java 17. * * @since 3.12.0 */ JAVA_17(17.0f, "17"), /** * The most recent java version. Mainly introduced to avoid to break when a new version of Java is used. */ JAVA_RECENT(maxVersion(), Float.toString(maxVersion())); /** * The float value. */ private final float value; /** * The standard name. */ private final String name; /** * Constructor. * * @param value the float value * @param name the standard name, not null */ JavaVersion(final float value, final String name) { this.value = value; this.name = name; } //----------------------------------------------------------------------- /** * <p>Whether this version of Java is at least the version of Java passed in.</p> * * <p>For example:<br> * {@code myVersion.atLeast(JavaVersion.JAVA_1_4)}<p> * * @param requiredVersion the version to check against, not null * @return true if this version is equal to or greater than the specified version */ public boolean atLeast(final JavaVersion requiredVersion) { return this.value >= requiredVersion.value; } //----------------------------------------------------------------------- /** * <p>Whether this version of Java is at most the version of Java passed in.</p> * * <p>For example:<br> * {@code myVersion.atMost(JavaVersion.JAVA_1_4)}<p> * * @param requiredVersion the version to check against, not null * @return true if this version is equal to or greater than the specified version * @since 3.9 */ public boolean atMost(final JavaVersion requiredVersion) { return this.value <= requiredVersion.value; } /** * Transforms the given string with a Java version number to the * corresponding constant of this enumeration class. This method is used * internally. * * @param nom the Java version as string * @return the corresponding enumeration constant or <b>null</b> if the * version is unknown */ // helper for static importing static JavaVersion getJavaVersion(final String nom) { return get(nom); } /** * Transforms the given string with a Java version number to the * corresponding constant of this enumeration class. This method is used * internally. * * @param versionStr the Java version as string * @return the corresponding enumeration constant or <b>null</b> if the * version is unknown */ static JavaVersion get(final String versionStr) { if (versionStr == null) { return null; } switch (versionStr) { case "0.9": return JAVA_0_9; case "1.1": return JAVA_1_1; case "1.2": return JAVA_1_2; case "1.3": return JAVA_1_3; case "1.4": return JAVA_1_4; case "1.5": return JAVA_1_5; case "1.6": return JAVA_1_6; case "1.7": return JAVA_1_7; case "1.8": return JAVA_1_8; case "9": return JAVA_9; case "10": return JAVA_10; case "11": return JAVA_11; case "12": return JAVA_12; case "13": return JAVA_13; case "14": return JAVA_14; case "15": return JAVA_15; case "16": return JAVA_16; case "17": return JAVA_17; default: final float v = toFloatVersion(versionStr); if ((v - 1.) < 1.) { // then we need to check decimals > .9 final int firstComma = Math.max(versionStr.indexOf('.'), versionStr.indexOf(',')); final int end = Math.max(versionStr.length(), versionStr.indexOf(',', firstComma)); if (Float.parseFloat(versionStr.substring(firstComma + 1, end)) > .9f) { return JAVA_RECENT; } } else if (v > 10) { return JAVA_RECENT; } return null; } } //----------------------------------------------------------------------- /** * <p>The string value is overridden to return the standard name.</p> * * <p>For example, {@code "1.5"}.</p> * * @return the name, not null */ @Override public String toString() { return name; } /** * Gets the Java Version from the system or 99.0 if the {@code java.specification.version} system property is not set. * * @return the value of {@code java.specification.version} system property or 99.0 if it is not set. */ private static float maxVersion() { final float v = toFloatVersion(System.getProperty("java.specification.version", "99.0")); if (v > 0) { return v; } return 99f; } /** * Parses a float value from a String. * * @param value the String to parse. * @return the float value represented by the string or -1 if the given String can not be parsed. */ private static float toFloatVersion(final String value) { final int defaultReturnValue = -1; if (value.contains(".")) { final String[] toParse = value.split("\\."); if (toParse.length >= 2) { return NumberUtils.toFloat(toParse[0] + '.' + toParse[1], defaultReturnValue); } } else { return NumberUtils.toFloat(value, defaultReturnValue); } return defaultReturnValue; } }
⏎ org/apache/commons/lang3/JavaVersion.java
Or download all of them as a single archive file:
File name: commons-lang3-3.12.0-sources.jar File size: 651724 bytes Release date: 2020-01-22 Download
⇒ Download and Install commons-lang3-3.8.1-bin.zip
⇐ Download Apache Commons Lang v3 Source Package
2022-10-19, 151271👍, 3💬
Popular Posts:
JDK 17 jdk.hotspot.agent.jmod is the JMOD file for JDK 17 Hotspot Agent module. JDK 17 Hotspot Agent...
ANTLR is a powerful parser generator for multiple programming languages including Java. ANTLR contai...
How to perform XML Schema validation with dom\Writer.java provided in the Apache Xerces package? You...
What is the sax\Counter.java provided in the Apache Xerces package? I have Apache Xerces 2.11.0 inst...
Apache Ant Source Code Files are inside the Apache Ant source package file like apache-ant-1.10.10-s...