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/compare/ComparableUtils.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.compare; import java.util.function.Predicate; /** * <p>Utility library to provide helper methods for translating {@link Comparable#compareTo} result into a boolean.</p> * * <p>Example: {@code boolean x = is(myComparable).lessThanOrEqualTo(otherComparable)}</p> * * <p>#ThreadSafe#</p> * * @since 3.10 */ public class ComparableUtils { /** * Provides access to the available methods * * @param <A> the type of objects that this object may be compared against. */ public static class ComparableCheckBuilder<A extends Comparable<A>> { private final A a; private ComparableCheckBuilder(final A a) { this.a = a; } /** * Checks if {@code [b <= a <= c]} or {@code [b >= a >= c]} where the {@code a} is object passed to {@link #is}. * * @param b the object to compare to the base object * @param c the object to compare to the base object * @return true if the base object is between b and c */ public boolean between(final A b, final A c) { return betweenOrdered(b, c) || betweenOrdered(c, b); } /** * Checks if {@code (b < a < c)} or {@code (b > a > c)} where the {@code a} is object passed to {@link #is}. * * @param b the object to compare to the base object * @param c the object to compare to the base object * @return true if the base object is between b and c and not equal to those */ public boolean betweenExclusive(final A b, final A c) { return betweenOrderedExclusive(b, c) || betweenOrderedExclusive(c, b); } private boolean betweenOrdered(final A b, final A c) { return greaterThanOrEqualTo(b) && lessThanOrEqualTo(c); } private boolean betweenOrderedExclusive(final A b, final A c) { return greaterThan(b) && lessThan(c); } /** * Checks if the object passed to {@link #is} is equal to {@code b} * * @param b the object to compare to the base object * @return true if the value returned by {@link Comparable#compareTo} is equal to {@code 0} */ public boolean equalTo(final A b) { return a.compareTo(b) == 0; } /** * Checks if the object passed to {@link #is} is greater than {@code b} * * @param b the object to compare to the base object * @return true if the value returned by {@link Comparable#compareTo} is greater than {@code 0} */ public boolean greaterThan(final A b) { return a.compareTo(b) > 0; } /** * Checks if the object passed to {@link #is} is greater than or equal to {@code b} * * @param b the object to compare to the base object * @return true if the value returned by {@link Comparable#compareTo} is greater than or equal to {@code 0} */ public boolean greaterThanOrEqualTo(final A b) { return a.compareTo(b) >= 0; } /** * Checks if the object passed to {@link #is} is less than {@code b} * * @param b the object to compare to the base object * @return true if the value returned by {@link Comparable#compareTo} is less than {@code 0} */ public boolean lessThan(final A b) { return a.compareTo(b) < 0; } /** * Checks if the object passed to {@link #is} is less than or equal to {@code b} * * @param b the object to compare to the base object * @return true if the value returned by {@link Comparable#compareTo} is less than or equal to {@code 0} */ public boolean lessThanOrEqualTo(final A b) { return a.compareTo(b) <= 0; } } /** * Checks if {@code [b <= a <= c]} or {@code [b >= a >= c]} where the {@code a} is the tested object. * * @param b the object to compare to the tested object * @param c the object to compare to the tested object * @param <A> type of the test object * @return a predicate for true if the tested object is between b and c */ public static <A extends Comparable<A>> Predicate<A> between(final A b, final A c) { return a -> is(a).between(b, c); } /** * Checks if {@code (b < a < c)} or {@code (b > a > c)} where the {@code a} is the tested object. * * @param b the object to compare to the tested object * @param c the object to compare to the tested object * @param <A> type of the test object * @return a predicate for true if the tested object is between b and c and not equal to those */ public static <A extends Comparable<A>> Predicate<A> betweenExclusive(final A b, final A c) { return a -> is(a).betweenExclusive(b, c); } /** * Checks if the tested object is greater than or equal to {@code b} * * @param b the object to compare to the tested object * @param <A> type of the test object * @return a predicate for true if the value returned by {@link Comparable#compareTo} * is greater than or equal to {@code 0} */ public static <A extends Comparable<A>> Predicate<A> ge(final A b) { return a -> is(a).greaterThanOrEqualTo(b); } /** * Checks if the tested object is greater than {@code b} * * @param b the object to compare to the tested object * @param <A> type of the test object * @return a predicate for true if the value returned by {@link Comparable#compareTo} is greater than {@code 0} */ public static <A extends Comparable<A>> Predicate<A> gt(final A b) { return a -> is(a).greaterThan(b); } /** * Provides access to the available methods * * @param a base object in the further comparison * @param <A> type of the base object * @return a builder object with further methods */ public static <A extends Comparable<A>> ComparableCheckBuilder<A> is(final A a) { return new ComparableCheckBuilder<>(a); } /** * Checks if the tested object is less than or equal to {@code b} * * @param b the object to compare to the tested object * @param <A> type of the test object * @return a predicate for true if the value returned by {@link Comparable#compareTo} * is less than or equal to {@code 0} */ public static <A extends Comparable<A>> Predicate<A> le(final A b) { return a -> is(a).lessThanOrEqualTo(b); } /** * Checks if the tested object is less than {@code b} * * @param b the object to compare to the tested object * @param <A> type of the test object * @return a predicate for true if the value returned by {@link Comparable#compareTo} is less than {@code 0} */ public static <A extends Comparable<A>> Predicate<A> lt(final A b) { return a -> is(a).lessThan(b); } private ComparableUtils() {} }
⏎ org/apache/commons/lang3/compare/ComparableUtils.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, 151063👍, 3💬
Popular Posts:
How to run "javac" command from JDK tools.jar file? "javac" is the Java compiler command that allows...
What is jxl.jar 2.6.12? jxl.jar 2.6.12 is the JAR file for Java Excel API 2.6.12, which is a Java li...
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms, it was develo...
What Is js.jar in Rhino JavaScript 1.7R5? js.jar in Rhino JavaScript 1.7R5 is the JAR file for Rhino...
maven-model-builder-3.8. 6.jaris the JAR file for Apache Maven 3.8.6 Model Builder module. Apache Ma...