From 3072ff864429b745661bd78e81d37f0076d7dc90 Mon Sep 17 00:00:00 2001 From: cpovirk Date: Tue, 28 Jul 2026 14:04:15 -0700 Subject: [PATCH] For user-defined headings in Javadoc, start at `

` (at class level) or `

` (at method level). This became [the proper policy](https://bugs.openjdk.org/browse/JDK-8220379) in [JDK 13](https://bugs.openjdk.org/browse/JDK-8219801): At that point, `javadoc` started generating the top-level heading as (appropriately enough!) `

` instead of the old `

`. The switch lets our class-level subheadings show up in the outline on the left side of the rendered documentation, and it prevents our method-level subheadings from showing up in that outline _nested under the wrong methods_. (They disappear entirely, and that seems fine.) We may have noticed at least the `

` part of this at some point, as evidenced by the `

` usages in classes like https://guava.dev/CacheBuilder and in [some](https://guava.dev/releases/snapshot-jre/api/docs/com/google/common/base/package-summary.html) `package-info` files. Or maybe we just misremembered the rule :) RELNOTES=n/a PiperOrigin-RevId: 955458218 --- .../src/com/google/common/base/Converter.java | 8 ++++---- .../com/google/common/base/Preconditions.java | 12 ++++++------ .../src/com/google/common/base/Verify.java | 8 ++++---- .../src/com/google/common/collect/BiMap.java | 2 +- .../common/collect/ClassToInstanceMap.java | 2 +- .../com/google/common/collect/Comparators.java | 2 +- .../google/common/collect/FluentIterable.java | 4 ++-- .../common/collect/ImmutableCollection.java | 16 ++++++++-------- .../com/google/common/collect/Multimap.java | 12 ++++++------ .../com/google/common/collect/Multiset.java | 2 +- .../com/google/common/collect/Ordering.java | 16 ++++++++-------- .../src/com/google/common/collect/Range.java | 8 ++++---- .../src/com/google/common/collect/Table.java | 2 +- .../com/google/common/graph/ElementOrder.java | 2 +- .../src/com/google/common/graph/Graph.java | 6 +++--- .../src/com/google/common/graph/Network.java | 6 +++--- .../common/graph/PredecessorsFunction.java | 4 ++-- .../common/graph/SuccessorsFunction.java | 4 ++-- .../com/google/common/graph/ValueGraph.java | 6 +++--- .../com/google/common/hash/HashFunction.java | 8 ++++---- .../com/google/common/math/PairedStats.java | 8 ++++---- .../common/math/PairedStatsAccumulator.java | 8 ++++---- .../src/com/google/common/math/Quantiles.java | 8 ++++---- .../src/com/google/common/math/Stats.java | 16 ++++++++-------- .../google/common/math/StatsAccumulator.java | 16 ++++++++-------- .../concurrent/AbstractScheduledService.java | 2 +- .../common/util/concurrent/ClosingFuture.java | 18 +++++++++--------- .../common/util/concurrent/FluentFuture.java | 10 +++++----- .../concurrent/ForwardingFluentFuture.java | 2 +- .../util/concurrent/ListenableFuture.java | 4 ++-- .../util/concurrent/ListenableFuture.java | 4 ++-- .../src/com/google/common/base/Converter.java | 8 ++++---- .../com/google/common/base/Preconditions.java | 12 ++++++------ guava/src/com/google/common/base/Verify.java | 8 ++++---- guava/src/com/google/common/collect/BiMap.java | 2 +- .../common/collect/ClassToInstanceMap.java | 2 +- .../com/google/common/collect/Comparators.java | 2 +- .../google/common/collect/FluentIterable.java | 4 ++-- .../common/collect/ImmutableCollection.java | 16 ++++++++-------- .../com/google/common/collect/Multimap.java | 12 ++++++------ .../com/google/common/collect/Multiset.java | 2 +- .../com/google/common/collect/Ordering.java | 16 ++++++++-------- guava/src/com/google/common/collect/Range.java | 8 ++++---- guava/src/com/google/common/collect/Table.java | 2 +- .../com/google/common/graph/ElementOrder.java | 2 +- guava/src/com/google/common/graph/Graph.java | 6 +++--- guava/src/com/google/common/graph/Network.java | 6 +++--- .../common/graph/PredecessorsFunction.java | 4 ++-- .../common/graph/SuccessorsFunction.java | 4 ++-- .../com/google/common/graph/ValueGraph.java | 6 +++--- .../com/google/common/hash/HashFunction.java | 8 ++++---- .../com/google/common/math/PairedStats.java | 8 ++++---- .../common/math/PairedStatsAccumulator.java | 8 ++++---- .../src/com/google/common/math/Quantiles.java | 8 ++++---- guava/src/com/google/common/math/Stats.java | 16 ++++++++-------- .../google/common/math/StatsAccumulator.java | 16 ++++++++-------- .../concurrent/AbstractScheduledService.java | 2 +- .../common/util/concurrent/ClosingFuture.java | 18 +++++++++--------- .../common/util/concurrent/FluentFuture.java | 10 +++++----- .../concurrent/ForwardingFluentFuture.java | 2 +- .../util/concurrent/ListenableFuture.java | 4 ++-- 61 files changed, 224 insertions(+), 224 deletions(-) diff --git a/android/guava/src/com/google/common/base/Converter.java b/android/guava/src/com/google/common/base/Converter.java index a95d34b8136b..27b34b605e2c 100644 --- a/android/guava/src/com/google/common/base/Converter.java +++ b/android/guava/src/com/google/common/base/Converter.java @@ -34,7 +34,7 @@ * to {@code A}; used for converting back and forth between different representations of the same * information. * - *

Invertibility

+ *

Invertibility

* *

The reverse operation may be a strict inverse (meaning that {@code * converter.reverse().convert(converter.convert(a)).equals(a)} is always true). However, it is very @@ -50,7 +50,7 @@ *

Note that it should still be the case that the round-tripped and original objects are * similar. * - *

Nullability

+ *

Nullability

* *

A converter always converts {@code null} to {@code null} and non-null references to non-null * references. It would not make sense to consider {@code null} and a non-null reference to be @@ -59,7 +59,7 @@ * behavior for all converters; implementations of {@link #doForward} and {@link #doBackward} are * guaranteed to never be passed {@code null}, and must never return {@code null}. * - *

Common ways to use

+ *

Common ways to use

* *

Getting a converter: * @@ -89,7 +89,7 @@ * be overridden. * * - *

Example

+ *

Example

* * {@snippet : * return Converter.from( diff --git a/android/guava/src/com/google/common/base/Preconditions.java b/android/guava/src/com/google/common/base/Preconditions.java index 1f3a2ae80bd1..47b7cc692ff1 100644 --- a/android/guava/src/com/google/common/base/Preconditions.java +++ b/android/guava/src/com/google/common/base/Preconditions.java @@ -57,7 +57,7 @@ * *

would be flagged as having called {@code sqrt()} with an illegal argument. * - *

Performance

+ *

Performance

* *

Avoid passing message arguments that are expensive to compute; your code will always compute * them, even though they usually won't be needed. If you have such arguments, use the conventional @@ -73,13 +73,13 @@ *

As with any performance concerns, you should consider profiling your code (in a production * environment if possible) before spending a lot of effort on tweaking a particular element. * - *

Other types of preconditions

+ *

Other types of preconditions

* *

Not every type of precondition failure is supported by these methods. Continue to throw * standard JDK exceptions such as {@link java.util.NoSuchElementException} or {@link * UnsupportedOperationException} in the situations they are intended for. * - *

Non-preconditions

+ *

Non-preconditions

* *

It is of course possible to use the methods of this class to check for invalid conditions * which are not the caller's fault. Doing so is not recommended because it is @@ -88,14 +88,14 @@ * explained in the Guava User Guide for more advice. Notably, {@link Verify} offers assertions * similar to those in this class for non-precondition checks. * - *

{@code java.util.Objects.requireNonNull()}

+ *

{@code java.util.Objects.requireNonNull()}

* *

Projects which use {@code com.google.common} should generally avoid the use of {@link * Objects#requireNonNull(Object)}. Instead, use whichever of {@link #checkNotNull(Object)} or * {@link Verify#verifyNotNull(Object)} is appropriate to the situation. (The same goes for the * message-accepting overloads.) * - *

Only {@code %s} is supported

+ *

Only {@code %s} is supported

* *

{@code Preconditions} uses {@link Strings#lenientFormat} to format error message template * strings. This only supports the {@code "%s"} specifier, not the full range of {@link @@ -104,7 +104,7 @@ * behave as expected, and will still include all argument values in the error message; the message * will simply not be formatted exactly as intended. * - *

More information

+ *

More information

* *

See the Guava User Guide on using {@code diff --git a/android/guava/src/com/google/common/base/Verify.java b/android/guava/src/com/google/common/base/Verify.java index 8450ce1ea0b0..246eb2d264a4 100644 --- a/android/guava/src/com/google/common/base/Verify.java +++ b/android/guava/src/com/google/common/base/Verify.java @@ -34,7 +34,7 @@ * "Unexpected bill status: %s", bill.status()); * } * - *

Comparison to alternatives

+ *

Comparison to alternatives

* *

Note: In some cases the differences explained below can be subtle. When it's unclear * which approach to use, don't worry too much about it; just pick something that seems @@ -56,7 +56,7 @@ * same function with more clarity. * * - *

Warning about performance

+ *

Warning about performance

* *

Remember that parameter values for message construction must all be computed eagerly, and * autoboxing and varargs array creation may happen as well, even when the verification succeeds and @@ -70,7 +70,7 @@ * } * } * - *

Only {@code %s} is supported

+ *

Only {@code %s} is supported

* *

As with {@link Preconditions}, {@code Verify} uses {@link Strings#lenientFormat} to format * error message template strings. This only supports the {@code "%s"} specifier, not the full range @@ -79,7 +79,7 @@ * behave as expected, and will still include all argument values in the error message; the message * will simply not be formatted exactly as intended. * - *

More information

+ *

More information

* * See
Conditional * failures explained in the Guava User Guide for advice on when this class should be used. diff --git a/android/guava/src/com/google/common/collect/BiMap.java b/android/guava/src/com/google/common/collect/BiMap.java index 3b312f460031..884caa2f4f8e 100644 --- a/android/guava/src/com/google/common/collect/BiMap.java +++ b/android/guava/src/com/google/common/collect/BiMap.java @@ -27,7 +27,7 @@ * that of its keys. This constraint enables bimaps to support an "inverse view", which is another * bimap containing the same entries as this bimap but with reversed keys and values. * - *

Implementations

+ *

Implementations

* * * - *

"Interfaces", not implementations

+ *

"Interfaces", not implementations

* *

These are classes instead of interfaces to prevent external subtyping, but should be thought * of as interfaces in every important sense. Each public class such as {@link ImmutableSet} is a @@ -98,7 +98,7 @@ * {@link Collections#singleton(Object)} and {@link Set##unmodifiable Set.of}, we recommend using * these classes instead for this reason (as well as for consistency). * - *

Creation

+ *

Creation

* *

Except for logically "abstract" types like {@code ImmutableCollection} itself, each {@code * Immutable} type provides the static operations you need to obtain instances of that type. These @@ -112,7 +112,7 @@ * instance. * * - *

Warnings

+ *

Warnings

* * * - *

Performance notes

+ *

Performance notes

* * * - *

Example usage

+ *

Example usage

* * {@snippet : * class Foo { @@ -158,7 +158,7 @@ * } * } * - *

See also

+ *

See also

* *

See the Guava User Guide article on immutable collections. diff --git a/android/guava/src/com/google/common/collect/Multimap.java b/android/guava/src/com/google/common/collect/Multimap.java index 870c3182721e..877b9919c9a7 100644 --- a/android/guava/src/com/google/common/collect/Multimap.java +++ b/android/guava/src/com/google/common/collect/Multimap.java @@ -52,7 +52,7 @@ * times when the first style is more useful, use the multimap's {@link #asMap} view (or create a * {@code Map>} in the first place). * - *

Example

+ *

Example

* *

The following code: * @@ -77,7 +77,7 @@ * ... * } * - *

Views

+ *

Views

* *

Much of the power of the multimap API comes from the view collections it provides. * These always reflect the latest state of the multimap itself. When they support modification, the @@ -96,7 +96,7 @@ * removeAll} methods, which contain values that have just been removed from the multimap, are * naturally not views. * - *

Subinterfaces

+ *

Subinterfaces

* *

Instead of using the {@code Multimap} interface directly, prefer the subinterfaces {@link * ListMultimap} and {@link SetMultimap}. These take their names from the fact that the collections @@ -112,7 +112,7 @@ * may not be equal and may or may not have the same {@code hashCode}. The recommended subinterfaces * provide much stronger guarantees. * - *

Comparison to a map of collections

+ *

Comparison to a map of collections

* *

Multimaps are commonly used in places where a {@code Map>} would otherwise * have appeared. The differences include: @@ -129,7 +129,7 @@ * Collections.min(multimap.values())} finds the smallest value across all keys. * * - *

Implementations

+ *

Implementations

* * * - *

Using

+ *

Using

* *

Finally, use the resulting {@code Ordering} anywhere a {@link Comparator} is required, or use * any of its special operations, such as: @@ -95,7 +95,7 @@ *

  • {@link #min} / {@link #max} * * - *

    Understanding complex orderings

    + *

    Understanding complex orderings

    * *

    Complex chained orderings like the following example can be challenging to understand. * @@ -125,14 +125,14 @@ * encounter a call to {@code reverse}, continue working backwards until a result is determined, and * then reverse that result. * - *

    Additional notes

    + *

    Additional notes

    * *

    Except as noted, the orderings returned by the factory methods of this class are serializable * if and only if the provided instances that back them are. For example, if {@code ordering} and * {@code function} can themselves be serialized, then {@code ordering.onResultOf(function)} can as * well. * - *

    Java 8+ users

    + *

    Java 8+ users

    * *

    If you are using Java 8+, this class is now obsolete. Most of its functionality is now * provided by {@link java.util.stream.Stream Stream} and by {@link Comparator} itself, and the rest @@ -145,7 +145,7 @@ * code verbose. Whenever following this advice, you should check whether {@code Stream} could be * adopted more comprehensively in your code; the end result may be quite a bit simpler. * - *

    See also

    + *

    See also

    * *

    See the Guava User Guide article on {@code Ordering}. diff --git a/android/guava/src/com/google/common/collect/Range.java b/android/guava/src/com/google/common/collect/Range.java index 2cda2e6d81da..367076f10292 100644 --- a/android/guava/src/com/google/common/collect/Range.java +++ b/android/guava/src/com/google/common/collect/Range.java @@ -39,7 +39,7 @@ * possible to iterate over these contained values. To do so, pass this range instance and an * appropriate {@link DiscreteDomain} to {@link ContiguousSet#create}. * - *

    Types of ranges

    + *

    Types of ranges

    * *

    Each end of the range may be bounded or unbounded. If bounded, there is an associated * endpoint value, and the range is considered to be either open (does not include the @@ -76,7 +76,7 @@ *

  • {@code (a..a)} : invalid; an exception will be thrown * * - *

    Warnings

    + *

    Warnings

    * * * - *

    Other notes

    + *

    Other notes

    * *
      *
    • All ranges are shallow-immutable. @@ -111,7 +111,7 @@ *
    • A {@code Range} is serializable if it has no bounds, or if each bound is serializable. *
    * - *

    Further reading

    + *

    Further reading

    * *

    See the Guava User Guide article on {@code Range}. diff --git a/android/guava/src/com/google/common/collect/Table.java b/android/guava/src/com/google/common/collect/Table.java index 83047c192bd8..f78f57296cfd 100644 --- a/android/guava/src/com/google/common/collect/Table.java +++ b/android/guava/src/com/google/common/collect/Table.java @@ -44,7 +44,7 @@ * not be modifiable. When modification isn't supported, those methods will throw an {@link * UnsupportedOperationException}. * - *

    Implementations

    + *

    Implementations

    * * * - *

    Building a {@code Network}

    + *

    Building a {@code Network}

    * *

    The implementation classes that {@code common.graph} provides are not public, by design. To * create an instance of one of the built-in implementations of {@code Network}, use the {@link @@ -80,7 +80,7 @@ * href="https://github.com/google/guava/wiki/GraphsExplained#building-graph-instances">more * information on (and examples of) building graphs. * - *

    Additional documentation

    + *

    Additional documentation

    * *

    See the Guava User Guide for the {@code common.graph} package ("Graphs Explained") for diff --git a/android/guava/src/com/google/common/graph/PredecessorsFunction.java b/android/guava/src/com/google/common/graph/PredecessorsFunction.java index 2dcc0369432d..392aaf35a63b 100644 --- a/android/guava/src/com/google/common/graph/PredecessorsFunction.java +++ b/android/guava/src/com/google/common/graph/PredecessorsFunction.java @@ -25,7 +25,7 @@ *

    This interface is meant to be used as the type of a parameter to graph algorithms (such as * topological sort) that only need a way of accessing the predecessors of a node in a graph. * - *

    Usage

    + *

    Usage

    * * Given an algorithm, for example: * @@ -64,7 +64,7 @@ * successors, iterating over the edges, etc.) should declare their input to be of a type that * provides those capabilities, such as {@link Graph}, {@link ValueGraph}, or {@link Network}. * - *

    Additional documentation

    + *

    Additional documentation

    * *

    See the Guava User Guide for the {@code common.graph} package ("Graphs Explained") for diff --git a/android/guava/src/com/google/common/graph/SuccessorsFunction.java b/android/guava/src/com/google/common/graph/SuccessorsFunction.java index 536b31bfad14..29b41432bc9f 100644 --- a/android/guava/src/com/google/common/graph/SuccessorsFunction.java +++ b/android/guava/src/com/google/common/graph/SuccessorsFunction.java @@ -25,7 +25,7 @@ *

    This interface is meant to be used as the type of a parameter to graph algorithms (such as * breadth first traversal) that only need a way of accessing the successors of a node in a graph. * - *

    Usage

    + *

    Usage

    * * Given an algorithm, for example: * @@ -64,7 +64,7 @@ * successors, iterating over the edges, etc.) should declare their input to be of a type that * provides those capabilities, such as {@link Graph}, {@link ValueGraph}, or {@link Network}. * - *

    Additional documentation

    + *

    Additional documentation

    * *

    See the Guava User Guide for the {@code common.graph} package ("Graphs Explained") for diff --git a/android/guava/src/com/google/common/graph/ValueGraph.java b/android/guava/src/com/google/common/graph/ValueGraph.java index fd13a020de5c..6b2de233132a 100644 --- a/android/guava/src/com/google/common/graph/ValueGraph.java +++ b/android/guava/src/com/google/common/graph/ValueGraph.java @@ -33,7 +33,7 @@ * href="https://github.com/google/guava/wiki/GraphsExplained#choosing-the-right-graph-type"> * "Choosing the right graph type" section of the Guava User Guide for more details. * - *

    Capabilities

    + *

    Capabilities

    * *

    {@code ValueGraph} supports the following use cases (definitions of @@ -53,7 +53,7 @@ * edge multiplicity, but the {@code *degree()} and mutation methods will not reflect your * interpretation of the edge value as its multiplicity.) * - *

    Building a {@code ValueGraph}

    + *

    Building a {@code ValueGraph}

    * *

    The implementation classes that {@code common.graph} provides are not public, by design. To * create an instance of one of the built-in implementations of {@code ValueGraph}, use the {@link @@ -83,7 +83,7 @@ * href="https://github.com/google/guava/wiki/GraphsExplained#building-graph-instances">more * information on (and examples of) building graphs. * - *

    Additional documentation

    + *

    Additional documentation

    * *

    See the Guava User Guide for the {@code common.graph} package ("Graphs Explained") for diff --git a/android/guava/src/com/google/common/hash/HashFunction.java b/android/guava/src/com/google/common/hash/HashFunction.java index 34d64b395d8e..a6f0ec68a236 100644 --- a/android/guava/src/com/google/common/hash/HashFunction.java +++ b/android/guava/src/com/google/common/hash/HashFunction.java @@ -24,7 +24,7 @@ * A hash function is a collision-averse pure function that maps an arbitrary block of data to a * number called a hash code. * - *

    Definition

    + *

    Definition

    * *

    Unpacking this definition: * @@ -50,7 +50,7 @@ *

    Summarizing the last two points: "equal yield equal always; unequal yield unequal * often." This is the most important characteristic of all hash functions. * - *

    Desirable properties

    + *

    Desirable properties

    * *

    A high-quality hash function strives for some subset of the following virtues: * @@ -77,7 +77,7 @@ *

  • fast: perhaps self-explanatory, but often the most important consideration. * * - *

    Providing input to a hash function

    + *

    Providing input to a hash function

    * *

    The primary way to provide the data that your hash function should act on is via a {@link * Hasher}. Obtain a new hasher from the hash function using {@link #newHasher}, "push" the relevant @@ -97,7 +97,7 @@ * equivalent to hashing the {@code int} value {@code 0x04030201}. If this isn't what you need, * methods such as {@link Integer#reverseBytes} and {@link Ints#toByteArray} will help. * - *

    Relationship to {@link Object#hashCode}

    + *

    Relationship to {@link Object#hashCode}

    * *

    Java's baked-in concept of hash codes is constrained to 32 bits, and provides no separation * between hash algorithms and the data they act on, so alternate hash algorithms can't be easily diff --git a/android/guava/src/com/google/common/math/PairedStats.java b/android/guava/src/com/google/common/math/PairedStats.java index 2798a62ed664..c545097fa6da 100644 --- a/android/guava/src/com/google/common/math/PairedStats.java +++ b/android/guava/src/com/google/common/math/PairedStats.java @@ -85,7 +85,7 @@ public Stats yStats() { * is not guaranteed to return zero when the dataset consists of the same pair of values multiple * times, due to numerical errors. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -103,7 +103,7 @@ public double populationCovariance() { *

    This is not guaranteed to return zero when the dataset consists of the same pair of values * multiple times, due to numerical errors. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -123,7 +123,7 @@ public double sampleCovariance() { * guaranteed to be exactly +/-1 even when the data are perfectly (anti-)correlated, due to * numerical errors. However, it is guaranteed to be in the inclusive range [-1, +1]. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -169,7 +169,7 @@ public double pearsonsCorrelationCoefficient() { * does not normally minimize that error: to do that, you should swap the roles of {@code x} and * {@code y}. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link diff --git a/android/guava/src/com/google/common/math/PairedStatsAccumulator.java b/android/guava/src/com/google/common/math/PairedStatsAccumulator.java index 3b0a09b9f752..0cd588d67593 100644 --- a/android/guava/src/com/google/common/math/PairedStatsAccumulator.java +++ b/android/guava/src/com/google/common/math/PairedStatsAccumulator.java @@ -118,7 +118,7 @@ public Stats yStats() { * is not guaranteed to return zero when the dataset consists of the same pair of values multiple * times, due to numerical errors. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -136,7 +136,7 @@ public double populationCovariance() { *

    This is not guaranteed to return zero when the dataset consists of the same pair of values * multiple times, due to numerical errors. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -156,7 +156,7 @@ public double sampleCovariance() { * guaranteed to be exactly +/-1 even when the data are perfectly (anti-)correlated, due to * numerical errors. However, it is guaranteed to be in the inclusive range [-1, +1]. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -202,7 +202,7 @@ public double pearsonsCorrelationCoefficient() { * does not normally minimize that error: to do that, you should swap the roles of {@code x} and * {@code y}. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link diff --git a/android/guava/src/com/google/common/math/Quantiles.java b/android/guava/src/com/google/common/math/Quantiles.java index 988ce39b5447..c13c0b96e1ee 100644 --- a/android/guava/src/com/google/common/math/Quantiles.java +++ b/android/guava/src/com/google/common/math/Quantiles.java @@ -34,7 +34,7 @@ * Provides a fluent API for calculating quantiles. * - *

    Examples

    + *

    Examples

    * *

    To compute the median: * @@ -68,7 +68,7 @@ * it being arbitrarily reordered, and you want to avoid that copy, you can use {@code * computeInPlace} instead of {@code compute}. * - *

    Definition and notes on interpolation

    + *

    Definition and notes on interpolation

    * *

    The definition of the kth q-quantile of N values is as follows: define x = k * (N - 1) / q; if * x is an integer, the result is the value which would appear at index x in the sorted dataset @@ -82,7 +82,7 @@ * wikipedia as providing "Linear interpolation of the modes for the order statistics for the * uniform distribution on [0,1]." * - *

    Handling of non-finite values

    + *

    Handling of non-finite values

    * *

    If any values in the input are {@link Double#NaN NaN} then all values returned are {@link * Double#NaN NaN}. (This is the one occasion when the behaviour is not the same as you'd get from @@ -102,7 +102,7 @@ * POSITIVE_INFINITY}, {@link Double#NaN NaN} is returned (note that this will only happen if the * dataset contains no finite values). * - *

    Performance

    + *

    Performance

    * *

    The average time complexity of the computation is O(N) in the size of the dataset. There is a * worst case time complexity of O(N^2). You are extremely unlikely to hit this quadratic case on diff --git a/android/guava/src/com/google/common/math/Stats.java b/android/guava/src/com/google/common/math/Stats.java index 084f222e83e3..83761bc4255e 100644 --- a/android/guava/src/com/google/common/math/Stats.java +++ b/android/guava/src/com/google/common/math/Stats.java @@ -241,7 +241,7 @@ public long count() { *

    If these values are a sample drawn from a population, this is also an unbiased estimator of * the arithmetic mean of the population. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains both {@link Double#POSITIVE_INFINITY} and {@link Double#NEGATIVE_INFINITY} then the @@ -263,7 +263,7 @@ public double mean() { /** * Returns the sum of the values. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains both {@link Double#POSITIVE_INFINITY} and {@link Double#NEGATIVE_INFINITY} then the @@ -284,7 +284,7 @@ public double sum() { * is not guaranteed to return zero when the dataset consists of the same value multiple times, * due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -311,7 +311,7 @@ public double populationVariance() { * is not guaranteed to return zero when the dataset consists of the same value multiple times, * due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -331,7 +331,7 @@ public double populationStandardDeviation() { *

    This is not guaranteed to return zero when the dataset consists of the same value multiple * times, due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -357,7 +357,7 @@ public double sampleVariance() { *

    This is not guaranteed to return zero when the dataset consists of the same value multiple * times, due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -371,7 +371,7 @@ public double sampleStandardDeviation() { /** * Returns the lowest value in the dataset. The count must be non-zero. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains {@link Double#NEGATIVE_INFINITY} and not {@link Double#NaN} then the result is {@link @@ -389,7 +389,7 @@ public double min() { /** * Returns the highest value in the dataset. The count must be non-zero. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains {@link Double#POSITIVE_INFINITY} and not {@link Double#NaN} then the result is {@link diff --git a/android/guava/src/com/google/common/math/StatsAccumulator.java b/android/guava/src/com/google/common/math/StatsAccumulator.java index 0ef7451ffda5..91aae29c42fa 100644 --- a/android/guava/src/com/google/common/math/StatsAccumulator.java +++ b/android/guava/src/com/google/common/math/StatsAccumulator.java @@ -236,7 +236,7 @@ public long count() { *

    If these values are a sample drawn from a population, this is also an unbiased estimator of * the arithmetic mean of the population. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains both {@link Double#POSITIVE_INFINITY} and {@link Double#NEGATIVE_INFINITY} then the @@ -255,7 +255,7 @@ public double mean() { /** * Returns the sum of the values. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains both {@link Double#POSITIVE_INFINITY} and {@link Double#NEGATIVE_INFINITY} then the @@ -276,7 +276,7 @@ public double sum() { * is not guaranteed to return zero when the dataset consists of the same value multiple times, * due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -303,7 +303,7 @@ public double populationVariance() { * is not guaranteed to return zero when the dataset consists of the same value multiple times, * due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -323,7 +323,7 @@ public double populationStandardDeviation() { *

    This is not guaranteed to return zero when the dataset consists of the same value multiple * times, due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -349,7 +349,7 @@ public double sampleVariance() { *

    This is not guaranteed to return zero when the dataset consists of the same value multiple * times, due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -363,7 +363,7 @@ public double sampleStandardDeviation() { /** * Returns the lowest value in the dataset. The count must be non-zero. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains {@link Double#NEGATIVE_INFINITY} and not {@link Double#NaN} then the result is {@link @@ -381,7 +381,7 @@ public double min() { /** * Returns the highest value in the dataset. The count must be non-zero. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains {@link Double#POSITIVE_INFINITY} and not {@link Double#NaN} then the result is {@link diff --git a/android/guava/src/com/google/common/util/concurrent/AbstractScheduledService.java b/android/guava/src/com/google/common/util/concurrent/AbstractScheduledService.java index 1b1f3fdb495c..28381372b79f 100644 --- a/android/guava/src/com/google/common/util/concurrent/AbstractScheduledService.java +++ b/android/guava/src/com/google/common/util/concurrent/AbstractScheduledService.java @@ -62,7 +62,7 @@ * shared state without additional synchronization necessary for visibility to later executions of * the life cycle methods. * - *

    Usage Example

    + *

    Usage Example

    * *

    Here is a sketch of a service which crawls a website and uses the scheduling capabilities to * rate limit itself. diff --git a/android/guava/src/com/google/common/util/concurrent/ClosingFuture.java b/android/guava/src/com/google/common/util/concurrent/ClosingFuture.java index 3fecf521f023..23df5be9612a 100644 --- a/android/guava/src/com/google/common/util/concurrent/ClosingFuture.java +++ b/android/guava/src/com/google/common/util/concurrent/ClosingFuture.java @@ -88,14 +88,14 @@ * captured by any of the steps in the pipeline are closed. * * - *

    Starting a pipeline

    + *

    Starting a pipeline

    * * Start a {@code ClosingFuture} pipeline {@linkplain #submit(ClosingCallable, Executor) from a * callable block} that may capture objects for later closing. To start a pipeline from a {@link * ListenableFuture} that doesn't create resources that should be closed later, you can use {@link * #from(ListenableFuture)} instead. * - *

    Derived steps

    + *

    Derived steps

    * * A {@code ClosingFuture} step can be derived from one or more input {@code ClosingFuture} steps in * ways similar to {@link FluentFuture}s: @@ -112,35 +112,35 @@ * exception, or combine it with others, you cannot do anything else with it, including declare it * to be the last step of the pipeline. * - *

    Transforming

    + *

    Transforming

    * * To derive the next step by asynchronously applying a function to an input step's value, call * {@link #transform(ClosingFunction, Executor)} or {@link #transformAsync(AsyncClosingFunction, * Executor)} on the input step. * - *

    Catching

    + *

    Catching

    * * To derive the next step from a failed input step, call {@link #catching(Class, ClosingFunction, * Executor)} or {@link #catchingAsync(Class, AsyncClosingFunction, Executor)} on the input step. * - *

    Combining

    + *

    Combining

    * * To derive a {@code ClosingFuture} from two or more input steps, pass the input steps to {@link * #whenAllComplete(Iterable)} or {@link #whenAllSucceed(Iterable)} or its overloads. * - *

    Cancelling

    + *

    Cancelling

    * * Any step in a pipeline can be {@linkplain #cancel(boolean) cancelled}, even after another step * has been derived, with the same semantics as cancelling a {@link Future}. In addition, a * successfully cancelled step will immediately start closing all objects captured for later closing * by it and by its input steps. * - *

    Ending a pipeline

    + *

    Ending a pipeline

    * * Each {@code ClosingFuture} pipeline must be ended. To end a pipeline, decide whether you want to * close the captured objects automatically or manually. * - *

    Automatically closing

    + *

    Automatically closing

    * * You can extract a {@link Future} that represents the result of the last step in the pipeline by * calling {@link #finishToFuture()}. All objects the pipeline has captured for closing will begin @@ -161,7 +161,7 @@ * In this example, when the {@code userName} {@link Future} is done, the transaction and the query * result cursor will both be closed, even if the operation is cancelled or fails. * - *

    Manually closing

    + *

    Manually closing

    * * If you want to close the captured objects manually, after you've used the final result, call * {@link #finishToValueAndCloser(ValueAndCloserConsumer, Executor)} to get an object that holds the diff --git a/android/guava/src/com/google/common/util/concurrent/FluentFuture.java b/android/guava/src/com/google/common/util/concurrent/FluentFuture.java index 2eed6913d450..ae1574314314 100644 --- a/android/guava/src/com/google/common/util/concurrent/FluentFuture.java +++ b/android/guava/src/com/google/common/util/concurrent/FluentFuture.java @@ -44,9 +44,9 @@ * .catching(RpcException.class, e -> false, directExecutor()); * } * - *

    Alternatives

    + *

    Alternatives

    * - *

    Frameworks

    + *

    Frameworks

    * *

    When chaining together a graph of asynchronous operations, you will often find it easier to * use a framework. Frameworks automate the process, often adding features like monitoring, @@ -56,8 +56,8 @@ *

  • Dagger Producers * * - *

    {@link java.util.concurrent.CompletableFuture} / {@link java.util.concurrent.CompletionStage} - *

    + *

    {@link java.util.concurrent.CompletableFuture} / {@link java.util.concurrent.CompletionStage} + *

    * *

    Users of {@code CompletableFuture} will likely want to continue using {@code * CompletableFuture}. {@code FluentFuture} is targeted at people who use {@code ListenableFuture}, @@ -65,7 +65,7 @@ * need to adapt between {@code CompletableFuture} and {@code ListenableFuture}, consider Future Converter.) * - *

    Extension

    + *

    Extension

    * * If you want a class like {@code FluentFuture} but with extra methods, we recommend declaring your * own subclass of {@link ListenableFuture}, complete with a method like {@link #from} to adapt an diff --git a/android/guava/src/com/google/common/util/concurrent/ForwardingFluentFuture.java b/android/guava/src/com/google/common/util/concurrent/ForwardingFluentFuture.java index 0fa7005ee8fd..c4686e14754e 100644 --- a/android/guava/src/com/google/common/util/concurrent/ForwardingFluentFuture.java +++ b/android/guava/src/com/google/common/util/concurrent/ForwardingFluentFuture.java @@ -35,7 +35,7 @@ * default} methods. Instead, it inherits their default implementations. When those implementations * invoke methods, they invoke methods on the {@code ForwardingFluentFuture}. * - *

    Extension

    + *

    Extension

    * * This class is package-private. If you want a class like {@code FluentFuture} but with extra * methods, we recommend declaring your own subclass of {@link ListenableFuture}, complete with a diff --git a/android/guava/src/com/google/common/util/concurrent/ListenableFuture.java b/android/guava/src/com/google/common/util/concurrent/ListenableFuture.java index 179c7e0776b4..f64ae8956cab 100644 --- a/android/guava/src/com/google/common/util/concurrent/ListenableFuture.java +++ b/android/guava/src/com/google/common/util/concurrent/ListenableFuture.java @@ -33,7 +33,7 @@ * *

    This class is GWT-compatible. * - *

    Purpose

    + *

    Purpose

    * *

    The main purpose of {@code ListenableFuture} is to help you chain together a graph of * asynchronous operations. You can chain them together manually with calls to methods like {@link @@ -66,7 +66,7 @@ * }, executor); * } * - *

    How to get an instance

    + *

    How to get an instance

    * *

    We encourage you to return {@code ListenableFuture} from your methods so that your users can * take advantage of the {@linkplain Futures utilities built atop the class}. The way that you will diff --git a/futures/listenablefuture1/src/com/google/common/util/concurrent/ListenableFuture.java b/futures/listenablefuture1/src/com/google/common/util/concurrent/ListenableFuture.java index 179c7e0776b4..f64ae8956cab 100644 --- a/futures/listenablefuture1/src/com/google/common/util/concurrent/ListenableFuture.java +++ b/futures/listenablefuture1/src/com/google/common/util/concurrent/ListenableFuture.java @@ -33,7 +33,7 @@ * *

    This class is GWT-compatible. * - *

    Purpose

    + *

    Purpose

    * *

    The main purpose of {@code ListenableFuture} is to help you chain together a graph of * asynchronous operations. You can chain them together manually with calls to methods like {@link @@ -66,7 +66,7 @@ * }, executor); * } * - *

    How to get an instance

    + *

    How to get an instance

    * *

    We encourage you to return {@code ListenableFuture} from your methods so that your users can * take advantage of the {@linkplain Futures utilities built atop the class}. The way that you will diff --git a/guava/src/com/google/common/base/Converter.java b/guava/src/com/google/common/base/Converter.java index a95d34b8136b..27b34b605e2c 100644 --- a/guava/src/com/google/common/base/Converter.java +++ b/guava/src/com/google/common/base/Converter.java @@ -34,7 +34,7 @@ * to {@code A}; used for converting back and forth between different representations of the same * information. * - *

    Invertibility

    + *

    Invertibility

    * *

    The reverse operation may be a strict inverse (meaning that {@code * converter.reverse().convert(converter.convert(a)).equals(a)} is always true). However, it is very @@ -50,7 +50,7 @@ *

    Note that it should still be the case that the round-tripped and original objects are * similar. * - *

    Nullability

    + *

    Nullability

    * *

    A converter always converts {@code null} to {@code null} and non-null references to non-null * references. It would not make sense to consider {@code null} and a non-null reference to be @@ -59,7 +59,7 @@ * behavior for all converters; implementations of {@link #doForward} and {@link #doBackward} are * guaranteed to never be passed {@code null}, and must never return {@code null}. * - *

    Common ways to use

    + *

    Common ways to use

    * *

    Getting a converter: * @@ -89,7 +89,7 @@ * be overridden. * * - *

    Example

    + *

    Example

    * * {@snippet : * return Converter.from( diff --git a/guava/src/com/google/common/base/Preconditions.java b/guava/src/com/google/common/base/Preconditions.java index 1f3a2ae80bd1..47b7cc692ff1 100644 --- a/guava/src/com/google/common/base/Preconditions.java +++ b/guava/src/com/google/common/base/Preconditions.java @@ -57,7 +57,7 @@ * *

    would be flagged as having called {@code sqrt()} with an illegal argument. * - *

    Performance

    + *

    Performance

    * *

    Avoid passing message arguments that are expensive to compute; your code will always compute * them, even though they usually won't be needed. If you have such arguments, use the conventional @@ -73,13 +73,13 @@ *

    As with any performance concerns, you should consider profiling your code (in a production * environment if possible) before spending a lot of effort on tweaking a particular element. * - *

    Other types of preconditions

    + *

    Other types of preconditions

    * *

    Not every type of precondition failure is supported by these methods. Continue to throw * standard JDK exceptions such as {@link java.util.NoSuchElementException} or {@link * UnsupportedOperationException} in the situations they are intended for. * - *

    Non-preconditions

    + *

    Non-preconditions

    * *

    It is of course possible to use the methods of this class to check for invalid conditions * which are not the caller's fault. Doing so is not recommended because it is @@ -88,14 +88,14 @@ * explained in the Guava User Guide for more advice. Notably, {@link Verify} offers assertions * similar to those in this class for non-precondition checks. * - *

    {@code java.util.Objects.requireNonNull()}

    + *

    {@code java.util.Objects.requireNonNull()}

    * *

    Projects which use {@code com.google.common} should generally avoid the use of {@link * Objects#requireNonNull(Object)}. Instead, use whichever of {@link #checkNotNull(Object)} or * {@link Verify#verifyNotNull(Object)} is appropriate to the situation. (The same goes for the * message-accepting overloads.) * - *

    Only {@code %s} is supported

    + *

    Only {@code %s} is supported

    * *

    {@code Preconditions} uses {@link Strings#lenientFormat} to format error message template * strings. This only supports the {@code "%s"} specifier, not the full range of {@link @@ -104,7 +104,7 @@ * behave as expected, and will still include all argument values in the error message; the message * will simply not be formatted exactly as intended. * - *

    More information

    + *

    More information

    * *

    See the Guava User Guide on using {@code diff --git a/guava/src/com/google/common/base/Verify.java b/guava/src/com/google/common/base/Verify.java index 8450ce1ea0b0..246eb2d264a4 100644 --- a/guava/src/com/google/common/base/Verify.java +++ b/guava/src/com/google/common/base/Verify.java @@ -34,7 +34,7 @@ * "Unexpected bill status: %s", bill.status()); * } * - *

    Comparison to alternatives

    + *

    Comparison to alternatives

    * *

    Note: In some cases the differences explained below can be subtle. When it's unclear * which approach to use, don't worry too much about it; just pick something that seems @@ -56,7 +56,7 @@ * same function with more clarity. * * - *

    Warning about performance

    + *

    Warning about performance

    * *

    Remember that parameter values for message construction must all be computed eagerly, and * autoboxing and varargs array creation may happen as well, even when the verification succeeds and @@ -70,7 +70,7 @@ * } * } * - *

    Only {@code %s} is supported

    + *

    Only {@code %s} is supported

    * *

    As with {@link Preconditions}, {@code Verify} uses {@link Strings#lenientFormat} to format * error message template strings. This only supports the {@code "%s"} specifier, not the full range @@ -79,7 +79,7 @@ * behave as expected, and will still include all argument values in the error message; the message * will simply not be formatted exactly as intended. * - *

    More information

    + *

    More information

    * * See
    Conditional * failures explained in the Guava User Guide for advice on when this class should be used. diff --git a/guava/src/com/google/common/collect/BiMap.java b/guava/src/com/google/common/collect/BiMap.java index 3b312f460031..884caa2f4f8e 100644 --- a/guava/src/com/google/common/collect/BiMap.java +++ b/guava/src/com/google/common/collect/BiMap.java @@ -27,7 +27,7 @@ * that of its keys. This constraint enables bimaps to support an "inverse view", which is another * bimap containing the same entries as this bimap but with reversed keys and values. * - *

    Implementations

    + *

    Implementations

    * *
      *
    • {@link ImmutableBiMap} diff --git a/guava/src/com/google/common/collect/ClassToInstanceMap.java b/guava/src/com/google/common/collect/ClassToInstanceMap.java index 12c8ee32a346..4554be17ca26 100644 --- a/guava/src/com/google/common/collect/ClassToInstanceMap.java +++ b/guava/src/com/google/common/collect/ClassToInstanceMap.java @@ -31,7 +31,7 @@ *

      Like any other {@code Map}, this map may contain entries for primitive types, * and a primitive type and its corresponding wrapper type may map to different values. * - *

      Implementations

      + *

      Implementations

      * *
        *
      • {@link ImmutableClassToInstanceMap} diff --git a/guava/src/com/google/common/collect/Comparators.java b/guava/src/com/google/common/collect/Comparators.java index 44c412aa35b5..cd7c853bcfe9 100644 --- a/guava/src/com/google/common/collect/Comparators.java +++ b/guava/src/com/google/common/collect/Comparators.java @@ -32,7 +32,7 @@ * comparator utilities, see either {@code Comparator} itself (for Java 8+), or {@code * com.google.common.collect.Ordering} (otherwise). * - *

        Relationship to {@code Ordering}

        + *

        Relationship to {@code Ordering}

        * *

        In light of the significant enhancements to {@code Comparator} in Java 8, the overwhelming * majority of usages of {@code Ordering} can be written using only built-in JDK APIs. This class is diff --git a/guava/src/com/google/common/collect/FluentIterable.java b/guava/src/com/google/common/collect/FluentIterable.java index e78c2d3250d5..45a36f3399a6 100644 --- a/guava/src/com/google/common/collect/FluentIterable.java +++ b/guava/src/com/google/common/collect/FluentIterable.java @@ -60,7 +60,7 @@ * *

        * - *

        Comparison to streams

        + *

        Comparison to streams

        * *

        {@link Stream} is similar to this class, but generally more powerful, and certainly more * standard. Key differences include: @@ -81,7 +81,7 @@ *

      • Streams are standard Java, not requiring a third-party dependency. *
      * - *

      Example

      + *

      Example

      * *

      Here is an example that accepts a list from a database call, filters it based on a predicate, * transforms it by invoking {@code toString()} on each element, and returns the first 10 elements diff --git a/guava/src/com/google/common/collect/ImmutableCollection.java b/guava/src/com/google/common/collect/ImmutableCollection.java index b16a33a494ef..95c1b1b50af6 100644 --- a/guava/src/com/google/common/collect/ImmutableCollection.java +++ b/guava/src/com/google/common/collect/ImmutableCollection.java @@ -48,12 +48,12 @@ * ImmutableList}, which have well-defined {@link #equals} semantics, thus avoiding a common source * of bugs and confusion. * - *

      About all {@code Immutable-} collections

      + *

      About all {@code Immutable-} collections

      * *

      The remainder of this documentation applies to every public {@code Immutable-} type in this * package, whether it is a subtype of {@code ImmutableCollection} or not. * - *

      Guarantees

      + *

      Guarantees

      * *

      Each makes the following guarantees: * @@ -74,7 +74,7 @@ * these guarantees to be violated). *

    * - *

    "Interfaces", not implementations

    + *

    "Interfaces", not implementations

    * *

    These are classes instead of interfaces to prevent external subtyping, but should be thought * of as interfaces in every important sense. Each public class such as {@link ImmutableSet} is a @@ -96,7 +96,7 @@ * {@link Collections#singleton(Object)} and {@link Set##unmodifiable Set.of}, we recommend using * these classes instead for this reason (as well as for consistency). * - *

    Creation

    + *

    Creation

    * *

    Except for logically "abstract" types like {@code ImmutableCollection} itself, each {@code * Immutable} type provides the static operations you need to obtain instances of that type. These @@ -110,7 +110,7 @@ * instance. * * - *

    Warnings

    + *

    Warnings

    * *
      *
    • Warning: as with any collection, it is almost always a bad idea to modify an element @@ -120,7 +120,7 @@ * deeply immutable. *
    * - *

    Performance notes

    + *

    Performance notes

    * *
      *
    • Implementations can be generally assumed to prioritize memory efficiency, then speed of @@ -140,7 +140,7 @@ * {@code hashCode} implementation, it should cache it itself. *
    * - *

    Example usage

    + *

    Example usage

    * * {@snippet : * class Foo { @@ -156,7 +156,7 @@ * } * } * - *

    See also

    + *

    See also

    * *

    See the Guava User Guide article on immutable collections. diff --git a/guava/src/com/google/common/collect/Multimap.java b/guava/src/com/google/common/collect/Multimap.java index 87fcc98d8950..e6f10600301b 100644 --- a/guava/src/com/google/common/collect/Multimap.java +++ b/guava/src/com/google/common/collect/Multimap.java @@ -55,7 +55,7 @@ * times when the first style is more useful, use the multimap's {@link #asMap} view (or create a * {@code Map>} in the first place). * - *

    Example

    + *

    Example

    * *

    The following code: * @@ -80,7 +80,7 @@ * ... * } * - *

    Views

    + *

    Views

    * *

    Much of the power of the multimap API comes from the view collections it provides. * These always reflect the latest state of the multimap itself. When they support modification, the @@ -99,7 +99,7 @@ * removeAll} methods, which contain values that have just been removed from the multimap, are * naturally not views. * - *

    Subinterfaces

    + *

    Subinterfaces

    * *

    Instead of using the {@code Multimap} interface directly, prefer the subinterfaces {@link * ListMultimap} and {@link SetMultimap}. These take their names from the fact that the collections @@ -115,7 +115,7 @@ * may not be equal and may or may not have the same {@code hashCode}. The recommended subinterfaces * provide much stronger guarantees. * - *

    Comparison to a map of collections

    + *

    Comparison to a map of collections

    * *

    Multimaps are commonly used in places where a {@code Map>} would otherwise * have appeared. The differences include: @@ -132,7 +132,7 @@ * Collections.min(multimap.values())} finds the smallest value across all keys. * * - *

    Implementations

    + *

    Implementations

    * *
      *
    • {@link ImmutableListMultimap} @@ -145,7 +145,7 @@ * new code, we recommend using {@link MultimapBuilder} instead: It provides better control of how * keys and values are stored. * - *

      Other Notes

      + *

      Other Notes

      * *

      As with {@code Map}, the behavior of a {@code Multimap} is not specified if key objects * already present in the multimap change in a manner that affects {@code equals} comparisons. Use diff --git a/guava/src/com/google/common/collect/Multiset.java b/guava/src/com/google/common/collect/Multiset.java index 9ec30f390d40..c649b24ec6eb 100644 --- a/guava/src/com/google/common/collect/Multiset.java +++ b/guava/src/com/google/common/collect/Multiset.java @@ -69,7 +69,7 @@ * element (in a way that affects its {@link Object#equals} behavior) while it is contained in a * multiset. Undefined behavior and bugs will result. * - *

      Implementations

      + *

      Implementations

      * *
        *
      • {@link ImmutableMultiset} diff --git a/guava/src/com/google/common/collect/Ordering.java b/guava/src/com/google/common/collect/Ordering.java index 1cea59c60448..d3359a0f86a7 100644 --- a/guava/src/com/google/common/collect/Ordering.java +++ b/guava/src/com/google/common/collect/Ordering.java @@ -56,12 +56,12 @@ * of {@code Comparator} for pre-Java-8 users, in the same sense that {@link FluentIterable} is an * enriched {@link Iterable} for pre-Java-8 users. * - *

        Three types of methods

        + *

        Three types of methods

        * * Like other fluent types, there are three types of methods present: methods for acquiring, * chaining, and using. * - *

        Acquiring

        + *

        Acquiring

        * *

        The common ways to get an instance of {@code Ordering} are: * @@ -72,7 +72,7 @@ *

      • Use the natural ordering, {@link Ordering#natural} *
      * - *

      Chaining

      + *

      Chaining

      * *

      Then you can use the chaining methods to get an altered version of that {@code * Ordering}, including: @@ -84,7 +84,7 @@ *

    • {@link #nullsFirst} / {@link #nullsLast} *
    * - *

    Using

    + *

    Using

    * *

    Finally, use the resulting {@code Ordering} anywhere a {@link Comparator} is required, or use * any of its special operations, such as: @@ -95,7 +95,7 @@ *

  • {@link #min} / {@link #max} * * - *

    Understanding complex orderings

    + *

    Understanding complex orderings

    * *

    Complex chained orderings like the following example can be challenging to understand. * @@ -125,14 +125,14 @@ * encounter a call to {@code reverse}, continue working backwards until a result is determined, and * then reverse that result. * - *

    Additional notes

    + *

    Additional notes

    * *

    Except as noted, the orderings returned by the factory methods of this class are serializable * if and only if the provided instances that back them are. For example, if {@code ordering} and * {@code function} can themselves be serialized, then {@code ordering.onResultOf(function)} can as * well. * - *

    Java 8+ users

    + *

    Java 8+ users

    * *

    If you are using Java 8+, this class is now obsolete. Most of its functionality is now * provided by {@link java.util.stream.Stream Stream} and by {@link Comparator} itself, and the rest @@ -145,7 +145,7 @@ * code verbose. Whenever following this advice, you should check whether {@code Stream} could be * adopted more comprehensively in your code; the end result may be quite a bit simpler. * - *

    See also

    + *

    See also

    * *

    See the Guava User Guide article on {@code Ordering}. diff --git a/guava/src/com/google/common/collect/Range.java b/guava/src/com/google/common/collect/Range.java index 866f2430269a..232ef8b159b3 100644 --- a/guava/src/com/google/common/collect/Range.java +++ b/guava/src/com/google/common/collect/Range.java @@ -39,7 +39,7 @@ * possible to iterate over these contained values. To do so, pass this range instance and an * appropriate {@link DiscreteDomain} to {@link ContiguousSet#create}. * - *

    Types of ranges

    + *

    Types of ranges

    * *

    Each end of the range may be bounded or unbounded. If bounded, there is an associated * endpoint value, and the range is considered to be either open (does not include the @@ -76,7 +76,7 @@ *

  • {@code (a..a)} : invalid; an exception will be thrown * * - *

    Warnings

    + *

    Warnings

    * *
      *
    • Use immutable value types only, if at all possible. If you must use a mutable type, do @@ -92,7 +92,7 @@ * This may change in the future. *
    * - *

    Other notes

    + *

    Other notes

    * *
      *
    • All ranges are shallow-immutable. @@ -111,7 +111,7 @@ *
    • A {@code Range} is serializable if it has no bounds, or if each bound is serializable. *
    * - *

    Further reading

    + *

    Further reading

    * *

    See the Guava User Guide article on {@code Range}. diff --git a/guava/src/com/google/common/collect/Table.java b/guava/src/com/google/common/collect/Table.java index 83047c192bd8..f78f57296cfd 100644 --- a/guava/src/com/google/common/collect/Table.java +++ b/guava/src/com/google/common/collect/Table.java @@ -44,7 +44,7 @@ * not be modifiable. When modification isn't supported, those methods will throw an {@link * UnsupportedOperationException}. * - *

    Implementations

    + *

    Implementations

    * * * - *

    Building a {@code Network}

    + *

    Building a {@code Network}

    * *

    The implementation classes that {@code common.graph} provides are not public, by design. To * create an instance of one of the built-in implementations of {@code Network}, use the {@link @@ -81,7 +81,7 @@ * href="https://github.com/google/guava/wiki/GraphsExplained#building-graph-instances">more * information on (and examples of) building graphs. * - *

    Additional documentation

    + *

    Additional documentation

    * *

    See the Guava User Guide for the {@code common.graph} package ("Graphs Explained") for diff --git a/guava/src/com/google/common/graph/PredecessorsFunction.java b/guava/src/com/google/common/graph/PredecessorsFunction.java index 2dcc0369432d..392aaf35a63b 100644 --- a/guava/src/com/google/common/graph/PredecessorsFunction.java +++ b/guava/src/com/google/common/graph/PredecessorsFunction.java @@ -25,7 +25,7 @@ *

    This interface is meant to be used as the type of a parameter to graph algorithms (such as * topological sort) that only need a way of accessing the predecessors of a node in a graph. * - *

    Usage

    + *

    Usage

    * * Given an algorithm, for example: * @@ -64,7 +64,7 @@ * successors, iterating over the edges, etc.) should declare their input to be of a type that * provides those capabilities, such as {@link Graph}, {@link ValueGraph}, or {@link Network}. * - *

    Additional documentation

    + *

    Additional documentation

    * *

    See the Guava User Guide for the {@code common.graph} package ("Graphs Explained") for diff --git a/guava/src/com/google/common/graph/SuccessorsFunction.java b/guava/src/com/google/common/graph/SuccessorsFunction.java index 536b31bfad14..29b41432bc9f 100644 --- a/guava/src/com/google/common/graph/SuccessorsFunction.java +++ b/guava/src/com/google/common/graph/SuccessorsFunction.java @@ -25,7 +25,7 @@ *

    This interface is meant to be used as the type of a parameter to graph algorithms (such as * breadth first traversal) that only need a way of accessing the successors of a node in a graph. * - *

    Usage

    + *

    Usage

    * * Given an algorithm, for example: * @@ -64,7 +64,7 @@ * successors, iterating over the edges, etc.) should declare their input to be of a type that * provides those capabilities, such as {@link Graph}, {@link ValueGraph}, or {@link Network}. * - *

    Additional documentation

    + *

    Additional documentation

    * *

    See the Guava User Guide for the {@code common.graph} package ("Graphs Explained") for diff --git a/guava/src/com/google/common/graph/ValueGraph.java b/guava/src/com/google/common/graph/ValueGraph.java index 94392d0d3be0..18d8a5a1e8a6 100644 --- a/guava/src/com/google/common/graph/ValueGraph.java +++ b/guava/src/com/google/common/graph/ValueGraph.java @@ -34,7 +34,7 @@ * href="https://github.com/google/guava/wiki/GraphsExplained#choosing-the-right-graph-type"> * "Choosing the right graph type" section of the Guava User Guide for more details. * - *

    Capabilities

    + *

    Capabilities

    * *

    {@code ValueGraph} supports the following use cases (definitions of @@ -54,7 +54,7 @@ * edge multiplicity, but the {@code *degree()} and mutation methods will not reflect your * interpretation of the edge value as its multiplicity.) * - *

    Building a {@code ValueGraph}

    + *

    Building a {@code ValueGraph}

    * *

    The implementation classes that {@code common.graph} provides are not public, by design. To * create an instance of one of the built-in implementations of {@code ValueGraph}, use the {@link @@ -84,7 +84,7 @@ * href="https://github.com/google/guava/wiki/GraphsExplained#building-graph-instances">more * information on (and examples of) building graphs. * - *

    Additional documentation

    + *

    Additional documentation

    * *

    See the Guava User Guide for the {@code common.graph} package ("Graphs Explained") for diff --git a/guava/src/com/google/common/hash/HashFunction.java b/guava/src/com/google/common/hash/HashFunction.java index 34d64b395d8e..a6f0ec68a236 100644 --- a/guava/src/com/google/common/hash/HashFunction.java +++ b/guava/src/com/google/common/hash/HashFunction.java @@ -24,7 +24,7 @@ * A hash function is a collision-averse pure function that maps an arbitrary block of data to a * number called a hash code. * - *

    Definition

    + *

    Definition

    * *

    Unpacking this definition: * @@ -50,7 +50,7 @@ *

    Summarizing the last two points: "equal yield equal always; unequal yield unequal * often." This is the most important characteristic of all hash functions. * - *

    Desirable properties

    + *

    Desirable properties

    * *

    A high-quality hash function strives for some subset of the following virtues: * @@ -77,7 +77,7 @@ *

  • fast: perhaps self-explanatory, but often the most important consideration. * * - *

    Providing input to a hash function

    + *

    Providing input to a hash function

    * *

    The primary way to provide the data that your hash function should act on is via a {@link * Hasher}. Obtain a new hasher from the hash function using {@link #newHasher}, "push" the relevant @@ -97,7 +97,7 @@ * equivalent to hashing the {@code int} value {@code 0x04030201}. If this isn't what you need, * methods such as {@link Integer#reverseBytes} and {@link Ints#toByteArray} will help. * - *

    Relationship to {@link Object#hashCode}

    + *

    Relationship to {@link Object#hashCode}

    * *

    Java's baked-in concept of hash codes is constrained to 32 bits, and provides no separation * between hash algorithms and the data they act on, so alternate hash algorithms can't be easily diff --git a/guava/src/com/google/common/math/PairedStats.java b/guava/src/com/google/common/math/PairedStats.java index 2798a62ed664..c545097fa6da 100644 --- a/guava/src/com/google/common/math/PairedStats.java +++ b/guava/src/com/google/common/math/PairedStats.java @@ -85,7 +85,7 @@ public Stats yStats() { * is not guaranteed to return zero when the dataset consists of the same pair of values multiple * times, due to numerical errors. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -103,7 +103,7 @@ public double populationCovariance() { *

    This is not guaranteed to return zero when the dataset consists of the same pair of values * multiple times, due to numerical errors. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -123,7 +123,7 @@ public double sampleCovariance() { * guaranteed to be exactly +/-1 even when the data are perfectly (anti-)correlated, due to * numerical errors. However, it is guaranteed to be in the inclusive range [-1, +1]. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -169,7 +169,7 @@ public double pearsonsCorrelationCoefficient() { * does not normally minimize that error: to do that, you should swap the roles of {@code x} and * {@code y}. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link diff --git a/guava/src/com/google/common/math/PairedStatsAccumulator.java b/guava/src/com/google/common/math/PairedStatsAccumulator.java index 3b0a09b9f752..0cd588d67593 100644 --- a/guava/src/com/google/common/math/PairedStatsAccumulator.java +++ b/guava/src/com/google/common/math/PairedStatsAccumulator.java @@ -118,7 +118,7 @@ public Stats yStats() { * is not guaranteed to return zero when the dataset consists of the same pair of values multiple * times, due to numerical errors. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -136,7 +136,7 @@ public double populationCovariance() { *

    This is not guaranteed to return zero when the dataset consists of the same pair of values * multiple times, due to numerical errors. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -156,7 +156,7 @@ public double sampleCovariance() { * guaranteed to be exactly +/-1 even when the data are perfectly (anti-)correlated, due to * numerical errors. However, it is guaranteed to be in the inclusive range [-1, +1]. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -202,7 +202,7 @@ public double pearsonsCorrelationCoefficient() { * does not normally minimize that error: to do that, you should swap the roles of {@code x} and * {@code y}. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link diff --git a/guava/src/com/google/common/math/Quantiles.java b/guava/src/com/google/common/math/Quantiles.java index 988ce39b5447..c13c0b96e1ee 100644 --- a/guava/src/com/google/common/math/Quantiles.java +++ b/guava/src/com/google/common/math/Quantiles.java @@ -34,7 +34,7 @@ * Provides a fluent API for calculating quantiles. * - *

    Examples

    + *

    Examples

    * *

    To compute the median: * @@ -68,7 +68,7 @@ * it being arbitrarily reordered, and you want to avoid that copy, you can use {@code * computeInPlace} instead of {@code compute}. * - *

    Definition and notes on interpolation

    + *

    Definition and notes on interpolation

    * *

    The definition of the kth q-quantile of N values is as follows: define x = k * (N - 1) / q; if * x is an integer, the result is the value which would appear at index x in the sorted dataset @@ -82,7 +82,7 @@ * wikipedia as providing "Linear interpolation of the modes for the order statistics for the * uniform distribution on [0,1]." * - *

    Handling of non-finite values

    + *

    Handling of non-finite values

    * *

    If any values in the input are {@link Double#NaN NaN} then all values returned are {@link * Double#NaN NaN}. (This is the one occasion when the behaviour is not the same as you'd get from @@ -102,7 +102,7 @@ * POSITIVE_INFINITY}, {@link Double#NaN NaN} is returned (note that this will only happen if the * dataset contains no finite values). * - *

    Performance

    + *

    Performance

    * *

    The average time complexity of the computation is O(N) in the size of the dataset. There is a * worst case time complexity of O(N^2). You are extremely unlikely to hit this quadratic case on diff --git a/guava/src/com/google/common/math/Stats.java b/guava/src/com/google/common/math/Stats.java index 1cf5b296e999..870d89e63ff0 100644 --- a/guava/src/com/google/common/math/Stats.java +++ b/guava/src/com/google/common/math/Stats.java @@ -237,7 +237,7 @@ public long count() { *

    If these values are a sample drawn from a population, this is also an unbiased estimator of * the arithmetic mean of the population. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains both {@link Double#POSITIVE_INFINITY} and {@link Double#NEGATIVE_INFINITY} then the @@ -259,7 +259,7 @@ public double mean() { /** * Returns the sum of the values. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains both {@link Double#POSITIVE_INFINITY} and {@link Double#NEGATIVE_INFINITY} then the @@ -280,7 +280,7 @@ public double sum() { * is not guaranteed to return zero when the dataset consists of the same value multiple times, * due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -307,7 +307,7 @@ public double populationVariance() { * is not guaranteed to return zero when the dataset consists of the same value multiple times, * due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -327,7 +327,7 @@ public double populationStandardDeviation() { *

    This is not guaranteed to return zero when the dataset consists of the same value multiple * times, due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -353,7 +353,7 @@ public double sampleVariance() { *

    This is not guaranteed to return zero when the dataset consists of the same value multiple * times, due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -367,7 +367,7 @@ public double sampleStandardDeviation() { /** * Returns the lowest value in the dataset. The count must be non-zero. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains {@link Double#NEGATIVE_INFINITY} and not {@link Double#NaN} then the result is {@link @@ -385,7 +385,7 @@ public double min() { /** * Returns the highest value in the dataset. The count must be non-zero. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains {@link Double#POSITIVE_INFINITY} and not {@link Double#NaN} then the result is {@link diff --git a/guava/src/com/google/common/math/StatsAccumulator.java b/guava/src/com/google/common/math/StatsAccumulator.java index 9878af5d314f..5eb7917fc9c6 100644 --- a/guava/src/com/google/common/math/StatsAccumulator.java +++ b/guava/src/com/google/common/math/StatsAccumulator.java @@ -233,7 +233,7 @@ public long count() { *

    If these values are a sample drawn from a population, this is also an unbiased estimator of * the arithmetic mean of the population. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains both {@link Double#POSITIVE_INFINITY} and {@link Double#NEGATIVE_INFINITY} then the @@ -252,7 +252,7 @@ public double mean() { /** * Returns the sum of the values. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains both {@link Double#POSITIVE_INFINITY} and {@link Double#NEGATIVE_INFINITY} then the @@ -273,7 +273,7 @@ public double sum() { * is not guaranteed to return zero when the dataset consists of the same value multiple times, * due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -300,7 +300,7 @@ public double populationVariance() { * is not guaranteed to return zero when the dataset consists of the same value multiple times, * due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -320,7 +320,7 @@ public double populationStandardDeviation() { *

    This is not guaranteed to return zero when the dataset consists of the same value multiple * times, due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -346,7 +346,7 @@ public double sampleVariance() { *

    This is not guaranteed to return zero when the dataset consists of the same value multiple * times, due to numerical errors. However, it is guaranteed never to return a negative result. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains any non-finite values ({@link Double#POSITIVE_INFINITY}, {@link * Double#NEGATIVE_INFINITY}, or {@link Double#NaN}) then the result is {@link Double#NaN}. @@ -360,7 +360,7 @@ public double sampleStandardDeviation() { /** * Returns the lowest value in the dataset. The count must be non-zero. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains {@link Double#NEGATIVE_INFINITY} and not {@link Double#NaN} then the result is {@link @@ -378,7 +378,7 @@ public double min() { /** * Returns the highest value in the dataset. The count must be non-zero. * - *

    Non-finite values

    + *

    Non-finite values

    * *

    If the dataset contains {@link Double#NaN} then the result is {@link Double#NaN}. If it * contains {@link Double#POSITIVE_INFINITY} and not {@link Double#NaN} then the result is {@link diff --git a/guava/src/com/google/common/util/concurrent/AbstractScheduledService.java b/guava/src/com/google/common/util/concurrent/AbstractScheduledService.java index 718e04f367dd..f5ed94a69602 100644 --- a/guava/src/com/google/common/util/concurrent/AbstractScheduledService.java +++ b/guava/src/com/google/common/util/concurrent/AbstractScheduledService.java @@ -62,7 +62,7 @@ * shared state without additional synchronization necessary for visibility to later executions of * the life cycle methods. * - *

    Usage Example

    + *

    Usage Example

    * *

    Here is a sketch of a service which crawls a website and uses the scheduling capabilities to * rate limit itself. diff --git a/guava/src/com/google/common/util/concurrent/ClosingFuture.java b/guava/src/com/google/common/util/concurrent/ClosingFuture.java index 623f837de0e1..75dfa8fe5736 100644 --- a/guava/src/com/google/common/util/concurrent/ClosingFuture.java +++ b/guava/src/com/google/common/util/concurrent/ClosingFuture.java @@ -88,14 +88,14 @@ * captured by any of the steps in the pipeline are closed. * * - *

    Starting a pipeline

    + *

    Starting a pipeline

    * * Start a {@code ClosingFuture} pipeline {@linkplain #submit(ClosingCallable, Executor) from a * callable block} that may capture objects for later closing. To start a pipeline from a {@link * ListenableFuture} that doesn't create resources that should be closed later, you can use {@link * #from(ListenableFuture)} instead. * - *

    Derived steps

    + *

    Derived steps

    * * A {@code ClosingFuture} step can be derived from one or more input {@code ClosingFuture} steps in * ways similar to {@link FluentFuture}s: @@ -112,35 +112,35 @@ * exception, or combine it with others, you cannot do anything else with it, including declare it * to be the last step of the pipeline. * - *

    Transforming

    + *

    Transforming

    * * To derive the next step by asynchronously applying a function to an input step's value, call * {@link #transform(ClosingFunction, Executor)} or {@link #transformAsync(AsyncClosingFunction, * Executor)} on the input step. * - *

    Catching

    + *

    Catching

    * * To derive the next step from a failed input step, call {@link #catching(Class, ClosingFunction, * Executor)} or {@link #catchingAsync(Class, AsyncClosingFunction, Executor)} on the input step. * - *

    Combining

    + *

    Combining

    * * To derive a {@code ClosingFuture} from two or more input steps, pass the input steps to {@link * #whenAllComplete(Iterable)} or {@link #whenAllSucceed(Iterable)} or its overloads. * - *

    Cancelling

    + *

    Cancelling

    * * Any step in a pipeline can be {@linkplain #cancel(boolean) cancelled}, even after another step * has been derived, with the same semantics as cancelling a {@link Future}. In addition, a * successfully cancelled step will immediately start closing all objects captured for later closing * by it and by its input steps. * - *

    Ending a pipeline

    + *

    Ending a pipeline

    * * Each {@code ClosingFuture} pipeline must be ended. To end a pipeline, decide whether you want to * close the captured objects automatically or manually. * - *

    Automatically closing

    + *

    Automatically closing

    * * You can extract a {@link Future} that represents the result of the last step in the pipeline by * calling {@link #finishToFuture()}. All objects the pipeline has captured for closing will begin @@ -161,7 +161,7 @@ * In this example, when the {@code userName} {@link Future} is done, the transaction and the query * result cursor will both be closed, even if the operation is cancelled or fails. * - *

    Manually closing

    + *

    Manually closing

    * * If you want to close the captured objects manually, after you've used the final result, call * {@link #finishToValueAndCloser(ValueAndCloserConsumer, Executor)} to get an object that holds the diff --git a/guava/src/com/google/common/util/concurrent/FluentFuture.java b/guava/src/com/google/common/util/concurrent/FluentFuture.java index 919d8bd8b689..c3a57a4bbc46 100644 --- a/guava/src/com/google/common/util/concurrent/FluentFuture.java +++ b/guava/src/com/google/common/util/concurrent/FluentFuture.java @@ -44,9 +44,9 @@ * .catching(RpcException.class, e -> false, directExecutor()); * } * - *

    Alternatives

    + *

    Alternatives

    * - *

    Frameworks

    + *

    Frameworks

    * *

    When chaining together a graph of asynchronous operations, you will often find it easier to * use a framework. Frameworks automate the process, often adding features like monitoring, @@ -56,8 +56,8 @@ *

  • Dagger Producers * * - *

    {@link java.util.concurrent.CompletableFuture} / {@link java.util.concurrent.CompletionStage} - *

    + *

    {@link java.util.concurrent.CompletableFuture} / {@link java.util.concurrent.CompletionStage} + *

    * *

    Users of {@code CompletableFuture} will likely want to continue using {@code * CompletableFuture}. {@code FluentFuture} is targeted at people who use {@code ListenableFuture}, @@ -65,7 +65,7 @@ * need to adapt between {@code CompletableFuture} and {@code ListenableFuture}, consider Future Converter.) * - *

    Extension

    + *

    Extension

    * * If you want a class like {@code FluentFuture} but with extra methods, we recommend declaring your * own subclass of {@link ListenableFuture}, complete with a method like {@link #from} to adapt an diff --git a/guava/src/com/google/common/util/concurrent/ForwardingFluentFuture.java b/guava/src/com/google/common/util/concurrent/ForwardingFluentFuture.java index 0fa7005ee8fd..c4686e14754e 100644 --- a/guava/src/com/google/common/util/concurrent/ForwardingFluentFuture.java +++ b/guava/src/com/google/common/util/concurrent/ForwardingFluentFuture.java @@ -35,7 +35,7 @@ * default} methods. Instead, it inherits their default implementations. When those implementations * invoke methods, they invoke methods on the {@code ForwardingFluentFuture}. * - *

    Extension

    + *

    Extension

    * * This class is package-private. If you want a class like {@code FluentFuture} but with extra * methods, we recommend declaring your own subclass of {@link ListenableFuture}, complete with a diff --git a/guava/src/com/google/common/util/concurrent/ListenableFuture.java b/guava/src/com/google/common/util/concurrent/ListenableFuture.java index 179c7e0776b4..f64ae8956cab 100644 --- a/guava/src/com/google/common/util/concurrent/ListenableFuture.java +++ b/guava/src/com/google/common/util/concurrent/ListenableFuture.java @@ -33,7 +33,7 @@ * *

    This class is GWT-compatible. * - *

    Purpose

    + *

    Purpose

    * *

    The main purpose of {@code ListenableFuture} is to help you chain together a graph of * asynchronous operations. You can chain them together manually with calls to methods like {@link @@ -66,7 +66,7 @@ * }, executor); * } * - *

    How to get an instance

    + *

    How to get an instance

    * *

    We encourage you to return {@code ListenableFuture} from your methods so that your users can * take advantage of the {@linkplain Futures utilities built atop the class}. The way that you will