### Basic Ant Task Setup and Usage Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/AntTask.md Defines the JAPicmp Ant task and demonstrates its invocation with old and new JAR versions and associated classpaths. Ensure Ant version is 1.9.5 or higher. ```xml ``` -------------------------------- ### Filter Classes and Methods using Groovy Script Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/MavenPlugin.md Apply custom filtering to the analysis results using a Groovy script. This example removes classes starting with 'japicmp.test.annotation' and methods starting with 'get' or 'set'. ```groovy def it = jApiClasses.iterator() while (it.hasNext()) { def jApiClass = it.next() def fqn = jApiClass.getFullyQualifiedName() if (fqn.startsWith("japicmp.test.annotation")) { it.remove() } def methodIt = jApiClass.getMethods().iterator() while (methodIt.hasNext()) { def method = methodIt.next() if (method.getName().startsWith("get") || method.getName().startsWith("set")) { methodIt.remove() } } } return jApiClasses ``` -------------------------------- ### Configure Multiple Old and New Versions for Summary Report Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/MavenPlugin.md Set up multiple old and new versions of dependencies to generate a comprehensive summary report. This aggregates comparisons across several library versions. ```xml com.github.siom79.japicmp japicmp-test-v1 ${project.version} com.github.siom79.japicmp japicmp-test2-v1 ${project.version} com.github.siom79.japicmp japicmp-test-v2 ${project.version} com.github.siom79.japicmp japicmp-test2-v2 ${project.version} ... ``` -------------------------------- ### get Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Returns the element at the specified position in this iterable. This method is unchanged. ```APIDOC ## get ### Description Returns the element at the specified position in this iterable. ### Method `public final Object get(int index)` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (Object) - The element at the specified index. #### Response Example None ``` -------------------------------- ### Compare Multiple JARs for Old and New Versions Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/CliTool.md For reporting purposes, you can provide multiple JAR files for both the old and new versions. ```bash java -jar japicmp-0.26.1-jar-with-dependencies.jar -o lib1-old.jar;lib2-old.jar -n lib1-new.jar;lib2-new.jar ``` -------------------------------- ### com.google.common.base.Joiner Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Lists the methods available in the Joiner class and their compatibility status. ```APIDOC ## Methods | Status | Modifiers | Generics | Type | Method | Annotations | Compatibility Changes | |-----------|-------------------|----------|------------|-----------------------------------------------|--------------------------|-----------------------| | Unchanged | `final` `public` | | [`String`] | `join`([`Iterable`]) | **[`CheckReturnValue`]** | ![Annotation added] | | Unchanged | `final` `public` | | [`String`] | `join`([`Iterator`]) | **[`CheckReturnValue`]** | ![Annotation added] | | Unchanged | `final` `public` | | [`String`] | `join`([`Object[]`][1]) | **[`CheckReturnValue`]** | ![Annotation added] | | Unchanged | `final` `public` | | [`String`] | `join`([`Object`], [`Object`], [`Object...`]) | **[`CheckReturnValue`]** | ![Annotation added] | | Unchanged | `static` `public` | | [`Joiner`] | `on`([`String`]) | **[`CheckReturnValue`]** | ![Annotation added] | | Unchanged | `static` `public` | | [`Joiner`] | `on`(`char`) | **[`CheckReturnValue`]** | ![Annotation added] | ``` -------------------------------- ### Ticker Class Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Represents a source of time, providing a way to get the current time. ```APIDOC ## `com.google.common.base.Ticker` ### Description An abstract class representing a source of time. ### Methods #### `systemTicker()` - **Type**: `Ticker` - **Modifiers**: `static public` - **Description**: Returns a `Ticker` that uses the system's current time. ``` -------------------------------- ### ImmutableRangeSet.asDescendingSetOfRanges Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Returns an ImmutableSet view of the ranges in this set, ordered by descending start points. This method was added to the public class. ```APIDOC ## ImmutableRangeSet.asDescendingSetOfRanges ### Description Returns an ImmutableSet view of the ranges in this set, ordered by descending start points. ### Method public ### Endpoint N/A (Java Method) ### Parameters None ### Request Example N/A ### Response #### Success Response - **ImmutableSet>** - A set of ranges ordered by descending start points. ### Response Example N/A ``` -------------------------------- ### Command-line API Comparison Report Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/Examples.md Displays differences between two versions of a library on the command line. Incompatible changes are flagged with '!' for binary and '*' for source. ```bash **** MODIFIED INTERFACE: PUBLIC ABSTRACT com.google.common.collect.RangeMap (not serializable) +++* NEW METHOD: PUBLIC(+) ABSTRACT(+) java.util.Map asDescendingMapOfRanges() **** MODIFIED INTERFACE: PUBLIC ABSTRACT com.google.common.collect.RangeSet (not serializable) +++* NEW METHOD: PUBLIC(+) ABSTRACT(+) java.util.Set asDescendingSetOfRanges() ***! MODIFIED CLASS: com.google.common.collect.RegularImmutableBiMap (type of field has changed) *** MODIFIED FIELD: PRIVATE FINAL java.util.Map$Entry[] (<- com.google.common.collect.ImmutableMapEntry[]) entries +++ NEW FIELD: STATIC(+) FINAL(+) com.google.common.collect.RegularImmutableBiMap EMPTY ---! REMOVED CONSTRUCTOR: RegularImmutableBiMap(java.util.Map$Entry[]) ---! REMOVED CONSTRUCTOR: RegularImmutableBiMap(int, com.google.common.collect.ImmutableMapEntry$TerminalEntry[]) ---! REMOVED CONSTRUCTOR: RegularImmutableBiMap(com.google.common.collect.ImmutableMapEntry$TerminalEntry[]) +++ NEW CONSTRUCTOR: PRIVATE(+) RegularImmutableBiMap(com.google.common.collect.ImmutableMapEntry[], com.google.common.collect.ImmutableMapEntry[], java.util.Map$Entry[], int, int) +++ NEW METHOD: PRIVATE(+) STATIC(+) void checkNoConflictInValueBucket(java.lang.Object, java.util.Map$Entry, com.google.common.collect.ImmutableMapEntry) --- REMOVED METHOD: PRIVATE(-) STATIC(-) com.google.common.collect.ImmutableMapEntry[] createEntryArray(int) +++ NEW METHOD: STATIC(+) com.google.common.collect.RegularImmutableBiMap fromEntries(java.util.Map$Entry[]) +++ NEW METHOD: STATIC(+) com.google.common.collect.RegularImmutableBiMap fromEntryArray(int, java.util.Map$Entry[]) +++ NEW METHOD: PUBLIC(+) int hashCode() +++ NEW METHOD: boolean isHashCodeFast() ... ``` -------------------------------- ### ImmutableRangeMap.asDescendingMapOfRanges Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Returns an ImmutableMap view of the ranges in this map, ordered by descending start points. This method was added to the public class. ```APIDOC ## ImmutableRangeMap.asDescendingMapOfRanges ### Description Returns an ImmutableMap view of the ranges in this map, ordered by descending start points. ### Method public ### Endpoint N/A (Java Method) ### Parameters None ### Request Example N/A ### Response #### Success Response - **ImmutableMap, V>** - A map where keys are ranges and values are the associated values. ### Response Example N/A ``` -------------------------------- ### com.google.common.primitives.Shorts Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Compatibility status for the com.google.common.primitives.Shorts class. ```APIDOC ## `com.google.common.primitives.Shorts` - [X] Binary-compatible - [X] Source-compatible - [X] Serialization-compatible | Status | Modifiers | Type | Name | Extends | JDK | Serialization | Compatibility Changes | |-----------|------------------|-------|----------|------------|-------|---------------------|-----------------------| | Unchanged | `final` `public` | Class | `Shorts` | [`Object`] | JDK 6 | ![Not serializable] | ![Annotation added] | #### Annotations | Status | Annotation | Compatibility Changes | |--------|--------------------------|-----------------------| | Added | **[`CheckReturnValue`]** | ![No changes] | ``` -------------------------------- ### Standard JAR Comparison with Classpath Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/CliTool.md If the classpath for both versions remains unchanged, you can add the library using the standard -cp argument. ```bash java -cp japicmp-0.26.1-jar-with-dependencies.jar;otherLibrary.jar japicmp.JApiCmp -n new-version.jar -o old-version.jar ``` -------------------------------- ### get (Future, Class) Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Retrieves the result of a Future, throwing a checked exception if the Future completed exceptionally. This method is deprecated. ```APIDOC ## get ### Description Retrieves the result of a Future, throwing a checked exception if the Future completed exceptionally. ### Method `static public` ### Generics `, ` ### Type `Object` ### Method Signature `get(Future future, Class exceptionClass)` ### Annotations `@Deprecated` ### Throws `Exception` ### Compatibility Changes Annotation deprecated added ``` -------------------------------- ### get (Future, long, TimeUnit, Class) Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Retrieves the result of a Future within a specified time, throwing a checked exception if the Future completed exceptionally. This method is deprecated. ```APIDOC ## get ### Description Retrieves the result of a Future within a specified time, throwing a checked exception if the Future completed exceptionally. ### Method `static public` ### Generics `, ` ### Type `Object` ### Method Signature `get(Future future, long timeout, TimeUnit unit, Class exceptionClass)` ### Annotations `@Deprecated` ### Throws `Exception` ### Compatibility Changes Annotation deprecated added ``` -------------------------------- ### com.google.common.primitives.Primitives Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Compatibility status for the com.google.common.primitives.Primitives class. ```APIDOC ## `com.google.common.primitives.Primitives` - [X] Binary-compatible - [X] Source-compatible - [X] Serialization-compatible | Status | Modifiers | Type | Name | Extends | JDK | Serialization | Compatibility Changes | |-----------|------------------|-------|--------------|------------|-------|---------------------|-----------------------| | Unchanged | `final` `public` | Class | `Primitives` | [`Object`] | JDK 6 | ![Not serializable] | ![Annotation added] | #### Annotations | Status | Annotation | Compatibility Changes | |--------|--------------------------|-----------------------| | Added | **[`CheckReturnValue`]** | ![No changes] | ``` -------------------------------- ### Specify Old and New Versions for Comparison Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/MavenPlugin.md Define separate dependencies for old and new versions of a library to compare specific version changes. This is useful when the classpath differs between versions. ```xml org.apache.commons commons-math3 3.4 org.apache.commons commons-math3 3.5 ``` -------------------------------- ### com.google.common.primitives.UnsignedBytes Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Compatibility status for the com.google.common.primitives.UnsignedBytes class. ```APIDOC ## `com.google.common.primitives.UnsignedBytes` - [X] Binary-compatible - [X] Source-compatible - [X] Serialization-compatible | Status | Modifiers | Type | Name | Extends | JDK | Serialization | Compatibility Changes | |-----------|------------------|-------|-----------------|------------|-------|---------------------|-----------------------| | Unchanged | `final` `public` | Class | `UnsignedBytes` | [`Object`] | JDK 6 | ![Not serializable] | ![No changes] | ``` -------------------------------- ### Immediate Futures Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Methods to create ListenableFutures that are already completed. ```APIDOC ## immediateFailedFuture ### Description Creates a ListenableFuture that is already completed with the given exception. ### Method `static public ListenableFuture immediateFailedFuture(Throwable throwable) ### Parameters * **throwable** (Throwable) - The exception to complete the future with. ### Response #### Success Response (ListenableFuture) Returns a ListenableFuture that is already failed. ## immediateFuture ### Description Creates a ListenableFuture that is already completed with the given value. ### Method `static public ListenableFuture immediateFuture(V value) ### Parameters * **value** (V) - The value to complete the future with. ### Response #### Success Response (ListenableFuture) Returns a ListenableFuture that is already completed with the given value. ``` -------------------------------- ### com.google.common.base.Preconditions Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Static public methods available in Preconditions class. ```APIDOC ## compare(long, long) ### Description Compares two long values. ### Method static public ### Parameters - **param1** (long) - Description - **param2** (long) - Description ### Response #### Success Response (200) - **return** (int) - Description ### Request Example ```json { "example": "compare(10, 5)" } ``` ### Response Example ```json { "example": "1" } ``` ``` ```APIDOC ## divide(long, long) ### Description Divides two long values. ### Method static public ### Parameters - **param1** (long) - Description - **param2** (long) - Description ### Response #### Success Response (200) - **return** (long) - Description ### Request Example ```json { "example": "divide(10, 5)" } ``` ### Response Example ```json { "example": "2" } ``` ``` ```APIDOC ## join(String, long...) ### Description Joins a string with a variable number of long arguments. ### Method static public ### Parameters - **param1** (String) - Description - **param2** (long...) - Description ### Response #### Success Response (200) - **return** (String) - Description ### Request Example ```json { "example": "join(\"-\", 1, 2, 3)" } ``` ### Response Example ```json { "example": "1-2-3" } ``` ``` ```APIDOC ## lexicographicalComparator() ### Description Returns a comparator for lexicographical ordering. ### Method static public ### Response #### Success Response (200) - **return** (Comparator) - Description ``` ```APIDOC ## max(long...) ### Description Returns the maximum of a variable number of long arguments. ### Method static public ### Parameters - **param1** (long...) - Description ### Response #### Success Response (200) - **return** (long) - Description ### Request Example ```json { "example": "max(1, 5, 2)" } ``` ### Response Example ```json { "example": "5" } ``` ``` ```APIDOC ## min(long...) ### Description Returns the minimum of a variable number of long arguments. ### Method static public ### Parameters - **param1** (long...) - Description ### Response #### Success Response (200) - **return** (long) - Description ### Request Example ```json { "example": "min(1, 5, 2)" } ``` ### Response Example ```json { "example": "1" } ``` ``` ```APIDOC ## remainder(long, long) ### Description Calculates the remainder of a division between two long values. ### Method static public ### Parameters - **param1** (long) - Description - **param2** (long) - Description ### Response #### Success Response (200) - **return** (long) - Description ### Request Example ```json { "example": "remainder(10, 3)" } ``` ### Response Example ```json { "example": "1" } ``` ``` ```APIDOC ## toString(long) ### Description Converts a long value to its string representation. ### Method static public ### Parameters - **param1** (long) - Description ### Response #### Success Response (200) - **return** (String) - Description ### Request Example ```json { "example": "toString(123)" } ``` ### Response Example ```json { "example": "123" } ``` ``` ```APIDOC ## toString(long, int) ### Description Converts a long value to its string representation with a specified radix. ### Method static public ### Parameters - **param1** (long) - Description - **param2** (int) - Description ### Response #### Success Response (200) - **return** (String) - Description ### Request Example ```json { "example": "toString(10, 2)" } ``` ### Response Example ```json { "example": "1010" } ``` ``` -------------------------------- ### com.google.common.reflect.ClassPath$ResourceInfo Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Methods available in the ResourceInfo inner class. ```APIDOC ## url() ### Description Returns the URL of the resource. ### Method final public ### Throws - NoSuchElementException ### Response #### Success Response (200) - **return** (URL) - Description ``` -------------------------------- ### com.google.common.primitives.UnsignedBytes Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for the UnsignedBytes class, including unchanged methods. ```APIDOC ## UnsignedBytes ### Description Documentation for the UnsignedBytes class. ### Methods #### Unchanged Methods - **compare(byte, byte)**: static public int compare(byte, byte) ``` -------------------------------- ### com.google.common.primitives.Ints Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Documentation for the static methods available in the Ints class. ```APIDOC ## static public int compare(int, int) ### Description Compares two integers. ### Method static public ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (int) - The result of the comparison. ### Response Example None ``` ```APIDOC ## static public int divide(int, int) ### Description Divides two integers. ### Method static public ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (int) - The result of the division. ### Response Example None ``` ```APIDOC ## static public String join(String, int...) ### Description Joins a string with a variable number of integers. ### Method static public ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (String) - The joined string. ### Response Example None ``` ```APIDOC ## static public Comparator lexicographicalComparator() ### Description Returns a lexicographical comparator for integer arrays. ### Method static public ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (Comparator) - The lexicographical comparator. ### Response Example None ``` ```APIDOC ## static public int max(int...) ### Description Returns the maximum of a variable number of integers. ### Method static public ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (int) - The maximum integer. ### Response Example None ``` ```APIDOC ## static public int min(int...) ### Description Returns the minimum of a variable number of integers. ### Method static public ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (int) - The minimum integer. ### Response Example None ``` ```APIDOC ## static public int remainder(int, int) ### Description Calculates the remainder of an integer division. ### Method static public ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (int) - The remainder of the division. ### Response Example None ``` ```APIDOC ## static public long toLong(int) ### Description Converts an integer to a long. ### Method static public ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (long) - The long representation of the integer. ### Response Example None ``` ```APIDOC ## static public String toString(int) ### Description Converts an integer to its string representation. ### Method static public ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (String) - The string representation of the integer. ### Response Example None ``` ```APIDOC ## static public String toString(int, int) ### Description Converts an integer to its string representation in a specified radix. ### Method static public ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **return value** (String) - The string representation of the integer in the specified radix. ### Response Example None ``` -------------------------------- ### ListenableFuture Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html This section details various methods available for working with ListenableFuture objects in Guava. ```APIDOC ## ListenableFuture Methods ### Description Provides utility methods for creating and transforming ListenableFuture instances. ### Methods #### `nonCancellationPropagating(ListenableFuture future)` Creates a `ListenableFuture` that propagates exceptions but not cancellation from the given future. #### `successfulAsList(ListenableFuture... futures)` Returns a `ListenableFuture` that will complete when all of the given futures have completed. The result will be a list containing the results of all futures, in the order they were given. #### `successfulAsList(Iterable> futures)` Similar to the varargs version, but accepts an `Iterable` of futures. #### `transform(ListenableFuture input, AsyncFunction function)` Returns a new `ListenableFuture` that when this `ListenableFuture` completes, will compute its value by passing the result to the given `AsyncFunction`. #### `transform(ListenableFuture input, AsyncFunction function, Executor executor)` Similar to the above, but specifies an `Executor` to run the `AsyncFunction`. #### `transformAsync(ListenableFuture input, AsyncFunction function)` Returns a new `ListenableFuture` that when this `ListenableFuture` completes, will compute its value by passing the result to the given `AsyncFunction`. #### `transformAsync(ListenableFuture input, AsyncFunction function, Executor executor)` Similar to the above, but specifies an `Executor` to run the `AsyncFunction`. #### `withFallback(ListenableFuture input, FutureFallback fallback)` Returns a new `ListenableFuture` that will complete with the result of the input future, or if the input future fails, it will attempt to compute its result using the given `FutureFallback`. #### `withFallback(ListenableFuture input, FutureFallback fallback, Executor executor)` Similar to the above, but specifies an `Executor` to run the `FutureFallback`. #### `withTimeout(ListenableFuture delegate, long timeout, TimeUnit unit, ScheduledExecutorService scheduledExecutorService)` Returns a `ListenableFuture` that will complete with the result of the delegate future, or will time out after the specified duration. If the timeout occurs, the returned future will be cancelled and the `scheduledExecutorService` will be used to schedule the cancellation. ``` -------------------------------- ### com.google.common.hash.Hashing Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Documentation for the static methods available in the Hashing class. ```APIDOC ## concatenating(HashFunction, HashFunction, HashFunction...) ### Description Creates a `HashFunction` that combines multiple hash functions. ### Method `public static HashFunction concatenating(HashFunction first, HashFunction second, HashFunction... rest)` ``` ```APIDOC ## concatenating(Iterable) ### Description Creates a `HashFunction` that combines multiple hash functions from an iterable. ### Method `public static HashFunction concatenating(Iterable hashFunctions)` ``` ```APIDOC ## sha384() ### Description Returns a `HashFunction` that computes the SHA-384 hash. ### Method `public static HashFunction sha384()` ``` -------------------------------- ### com.google.common.hash.Hasher Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Documentation for the methods available in the Hasher interface. ```APIDOC ## hash() ### Description Computes the hash code. ### Method `public abstract HashCode hash()` ### Annotations - `CheckReturnValue` ``` ```APIDOC ## hashCode() ### Description Deprecated method for computing the hash code. ### Method `public abstract int hashCode()` ### Annotations - `Deprecated` ``` -------------------------------- ### Run japicmp from Command Line Source: https://github.com/siom79/japicmp/blob/master/README.md Use this command to compare two JAR versions directly from the command line. Ensure the japicmp JAR with dependencies is executable. ```bash java -jar japicmp-.0-jar-with-dependencies.jar -n new-version.jar -o old-version.jar ``` -------------------------------- ### com.google.common.base.Ticker Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for the Ticker class, including its static method systemTicker. ```APIDOC ## UNCHANGED public abstract class com.google.common.base.Ticker ### Description Represents a source of time, useful for testing code that depends on time. ### Methods #### static public com.google.common.base.Ticker systemTicker() ##### Description Returns a ticker that uses the system clock. ##### Status UNCHANGED ##### Modifier static public ##### Type com.google.common.base.Ticker ##### Line Number 54 ``` -------------------------------- ### com.google.common.collect.Lists Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Documentation for static methods in the Lists class. ```APIDOC ## `Lists.cartesianProduct` ### Description Computes the Cartesian product of a list of lists. ### Method `static List> cartesianProduct(List> lists)` `static List> cartesianProduct(List... lists)` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) A `List` of `List`s representing the Cartesian product. #### Response Example None ``` ```APIDOC ## `Lists.reverse` ### Description Reverses the order of elements in a list. ### Method `static List reverse(List list)` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) A new `List` with elements in reverse order. #### Response Example None ``` ```APIDOC ## `Lists.transform` ### Description Transforms a list by applying a function to each element. ### Method `static List transform(List fromList, Function function)` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) A new `List` containing the transformed elements. #### Response Example None ``` -------------------------------- ### com.google.common.primitives.UnsignedInteger Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Details the methods of the UnsignedInteger class and their compatibility status. ```APIDOC ## public UnsignedInteger dividedBy(UnsignedInteger) ### Description Calculates the division of two UnsignedInteger objects. ### Method public ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **return value** (UnsignedInteger) - The result of the division. #### Response Example N/A ``` ```APIDOC ## public UnsignedInteger minus(UnsignedInteger) ### Description Calculates the subtraction of two UnsignedInteger objects. ### Method public ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **return value** (UnsignedInteger) - The result of the subtraction. #### Response Example N/A ``` ```APIDOC ## public UnsignedInteger mod(UnsignedInteger) ### Description Calculates the modulo of two UnsignedInteger objects. ### Method public ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **return value** (UnsignedInteger) - The result of the modulo operation. #### Response Example N/A ``` ```APIDOC ## public UnsignedInteger plus(UnsignedInteger) ### Description Calculates the addition of two UnsignedInteger objects. ### Method public ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **return value** (UnsignedInteger) - The result of the addition. #### Response Example N/A ``` ```APIDOC ## public UnsignedInteger times(UnsignedInteger) ### Description Calculates the multiplication of two UnsignedInteger objects. ### Method public ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **return value** (UnsignedInteger) - The result of the multiplication. #### Response Example N/A ``` -------------------------------- ### com.google.common.base.Optional Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html This section details changes related to the com.google.common.base.Optional class, including methods like first() and firstMatch(). ```APIDOC ## com.google.common.base.Optional ### Description This class represents an optional value. It may be absent or present. ### Methods #### first() - **Description**: Returns the single element contained in this Optional, if present. - **Return Type**: com.google.common.base.Optional #### firstMatch(com.google.common.base.Predicate) - **Description**: Returns the first element in this Optional that satisfies the given predicate, if one exists. - **Parameters**: - **predicate** (com.google.common.base.Predicate) - Required - The predicate to test elements against. - **Return Type**: com.google.common.base.Optional ``` -------------------------------- ### com.google.common.collect.ImmutableMultiset Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for ImmutableMultiset, an immutable multiset implementation. ```APIDOC ## com.google.common.collect.ImmutableMultiset ### Description An immutable multiset. ### Methods #### toMultiset() - **Description**: Returns an ImmutableMultiset containing the elements of this FluentIterable. - **Return Type**: com.google.common.collect.ImmutableMultiset ``` -------------------------------- ### Basic Maven Plugin Configuration Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/MavenPlugin.md Include this configuration in your pom.xml to add the japicmp Maven plugin. It defines the old and new versions for comparison. ```xml com.github.siom79.japicmp japicmp-maven-plugin 0.26.1 ${project.groupId} ${project.artifactId} ${oldversion} jar ${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging} verify cmp ``` -------------------------------- ### java.lang.Object Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for Object class methods. ```APIDOC ## java.lang.Object ### Description Base class for all Java objects. ### Methods #### get(int) - **Description**: Returns the element at the specified position in this list. - **Parameters**: - **index** (int) - Required - The index of the element to return. - **Return Type**: java.lang.Object #### toString() - **Description**: Returns a string representation of the object. - **Return Type**: java.lang.String ``` -------------------------------- ### com.google.common.collect.ComparisonChain Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for the ComparisonChain class, including a new compare method. ```APIDOC ## MODIFIED public abstract class com.google.common.collect.ComparisonChain ### Description A comparison chain that allows for chained comparisons of objects. ### Methods #### final public com.google.common.collect.ComparisonChain compare(java.lang.Boolean, java.lang.Boolean) ##### Description Compares two Boolean objects. ##### Annotations * java.lang.Deprecated * javax.annotation.CheckReturnValue ##### Status NEW ##### Modifier final public ##### Type com.google.common.collect.ComparisonChain ##### Line Number 241 ``` -------------------------------- ### Run japicmp from Command Line Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/index.md Execute japicmp to compare two JAR files using command-line arguments. Specify the new and old versions of the JARs. ```bash java -jar japicmp-0.26.1-jar-with-dependencies.jar -n new-version.jar -o old-version.jar ``` -------------------------------- ### com.google.common.primitives.SignedBytes Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Compatibility status for the com.google.common.primitives.SignedBytes class. ```APIDOC ## `com.google.common.primitives.SignedBytes` - [X] Binary-compatible - [X] Source-compatible - [X] Serialization-compatible | Status | Modifiers | Type | Name | Extends | JDK | Serialization | Compatibility Changes | |-----------|------------------|-------|---------------|------------|-------|---------------------|-----------------------| | Unchanged | `final` `public` | Class | `SignedBytes` | [`Object`] | JDK 6 | ![Not serializable] | ![Annotation added] | #### Annotations | Status | Annotation | Compatibility Changes | |--------|--------------------------|-----------------------| | Added | **[`CheckReturnValue`]** | ![No changes] | ``` -------------------------------- ### Add External Dependencies for Comparison Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/MavenPlugin.md Specify external library dependencies for comparison when they are not part of the main project's POM. This ensures accurate diffs against libraries like commons-math3. ```xml org.apache.commons commons-math3 3.4 ``` -------------------------------- ### java.lang.String Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for String class methods. ```APIDOC ## java.lang.String ### Description Represents a sequence of characters. ### Methods #### join(com.google.common.base.Joiner) - **Description**: Joins the elements of this string with the given Joiner. - **Parameters**: - **joiner** (com.google.common.base.Joiner) - Required - The Joiner to use for joining. - **Return Type**: java.lang.String ``` -------------------------------- ### com.google.common.base.MoreObjects.ToStringHelper Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Helper class for building `toString` method output. ```APIDOC ## toString() ### Description Returns the string representation built by this ToStringHelper. ### Method `public java.lang.String toString()` ``` -------------------------------- ### com.google.common.net.HttpHeaders Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for the HttpHeaders class, including new fields. ```APIDOC ## HttpHeaders ### Description Documentation for the HttpHeaders class. ### Fields #### New Fields - **PING_FROM**: public static final String PING_FROM - **PING_TO**: public static final String PING_TO ``` -------------------------------- ### General Utility Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html This section covers common utility methods available for collections and iterables. ```APIDOC ## General Utility Methods ### Description Common utility methods for collections and iterables. ### Methods #### contains(java.lang.Object) - **Description**: Returns true if this collection contains the specified element. - **Parameters**: - **element** (java.lang.Object) - Required - The element to check for. - **Return Type**: boolean #### isEmpty() - **Description**: Returns true if this collection contains no elements. - **Return Type**: boolean #### size() - **Description**: Returns the number of elements in this collection. - **Return Type**: int #### toArray(java.lang.Class) - **Description**: Returns an array containing all the elements in this collection in proper sequence (from first to last element); the runtime type of the returned array is that specified by the class argument. - **Parameters**: - **componentType** (java.lang.Class) - Required - the runtime type of the desired array - **Return Type**: java.lang.Object[] ``` -------------------------------- ### Maven Plugin Configuration with Post-Analysis Script Source: https://github.com/siom79/japicmp/blob/master/src/site/markdown/MavenPlugin.md Configure the japicmp-maven-plugin in your pom.xml to execute a Groovy script after analysis. Ensure the artifact containing the script is added as a dependency. ```xml com.github.siom79.japicmp japicmp-maven-plugin ${project.version} [...] post-analysis-script.groovy com.github.siom79.japicmp post-analysis-script-artifact ${project.version} ``` -------------------------------- ### com.google.common.io.ByteSource Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for the ByteSource class, including new methods. ```APIDOC ## ByteSource ### Description Documentation for the ByteSource class. ### Methods #### New Methods - **sizeIfKnown()**: public com.google.common.base.Optional sizeIfKnown() ``` -------------------------------- ### com.google.common.collect.ImmutableList Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for ImmutableList, an immutable list implementation. ```APIDOC ## com.google.common.collect.ImmutableList ### Description An immutable list. ### Methods #### toList() - **Description**: Returns an ImmutableList containing the elements of this FluentIterable. - **Return Type**: com.google.common.collect.ImmutableList #### toSortedList(java.util.Comparator) - **Description**: Returns an ImmutableList containing the elements of this FluentIterable, sorted according to the specified comparator. - **Parameters**: - **comparator** (java.util.Comparator) - Required - The comparator to use for sorting. - **Return Type**: com.google.common.collect.ImmutableList ``` -------------------------------- ### SettableFuture Class Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for the SettableFuture class, including its new methods. ```APIDOC ## SettableFuture Class ### Description Represents a `ListenableFuture` whose result can be set asynchronously. ### Methods #### `setFuture(ListenableFuture future)` Sets the result of this `SettableFuture` to be the result of the given `ListenableFuture`. If the given `ListenableFuture` completes with an exception, this `SettableFuture` will complete with the same exception. If this `SettableFuture` has already been set, this method does nothing. ``` -------------------------------- ### com.google.common.io.CharSource Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for the CharSource class, including new methods. ```APIDOC ## CharSource ### Description Documentation for the CharSource class. ### Methods #### New Methods - **length()**: public long length() - **lengthIfKnown()**: public com.google.common.base.Optional lengthIfKnown() ``` -------------------------------- ### Throwable Utility Methods Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Provides static utility methods for working with Throwables, including retrieving causal chains and stack traces. ```APIDOC ## `Throwable` Utility Methods ### Description Static utility methods for handling `Throwable` objects. ### Methods #### `getCausalChain(Throwable)` - **Type**: `List` - **Modifiers**: `static public` - **Description**: Retrieves the causal chain of a `Throwable`. #### `getRootCause(Throwable)` - **Type**: `Throwable` - **Modifiers**: `static public` - **Description**: Retrieves the root cause of a `Throwable`. #### `getStackTraceAsString(Throwable)` - **Type**: `String` - **Modifiers**: `static public` - **Description**: Converts a `Throwable`'s stack trace to a String. #### `lazyStackTrace(Throwable)` - **Type**: `List` - **Modifiers**: `static public` - **Description**: Lazily retrieves the stack trace of a `Throwable`. #### `lazyStackTraceIsLazy()` - **Type**: `boolean` - **Modifiers**: `static public` - **Description**: Checks if the stack trace retrieval is lazy. ``` -------------------------------- ### allAsList (Varargs) Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.md Combines multiple ListenableFutures into a single ListenableFuture that returns a list of all results. This method is unchanged. ```APIDOC ## allAsList ### Description Combines multiple ListenableFutures into a single ListenableFuture that returns a list of all results. ### Method `static public` ### Generics `` ### Type `ListenableFuture>` ### Method Signature `allAsList(ListenableFuture... futures)` ### Annotations `@CheckReturnValue` `@SafeVarargs` ### Compatibility Changes Annotation added ``` -------------------------------- ### com.google.common.base.VerifyException Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for the VerifyException class, noting changes in its serialVersionUID and constructors. ```APIDOC ## MODIFIED (Serializable incompatible(!): default serialVersionUID changed) public class com.google.common.base.VerifyException ### Description An exception thrown when a verification fails. ### Constructors #### public VerifyException(java.lang.String, java.lang.Throwable) ##### Description Constructs a new VerifyException with the specified detail message and cause. ##### Status NEW ##### Modifier public ##### Line Number 57 #### public VerifyException(java.lang.Throwable) ##### Description Constructs a new VerifyException with the specified cause. ##### Status NEW ##### Modifier public ##### Line Number 47 ``` -------------------------------- ### com.google.common.base.Joiner Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html The com.google.common.base.Joiner class is unchanged. ```APIDOC ## UNCHANGED public class com.google.common.base.Joiner ### Methods | Status | Modifier | Type | Method | |-----------|----------|--------|--------| | UNCHANGED | final public | | | ``` -------------------------------- ### com.google.common.net.MediaType Source: https://github.com/siom79/japicmp/blob/master/doc/japicmp_guava.html Documentation for the MediaType class, including new constants. ```APIDOC ## MediaType ### Description Documentation for the MediaType class. ### Fields #### New Fields - **APPLE_PASSBOOK**: public static final MediaType APPLE_PASSBOOK - **DART_UTF_8**: public static final MediaType DART_UTF_8 - **MANIFEST_JSON_UTF_8**: public static final MediaType MANIFEST_JSON_UTF_8 ```