This is an automated email from the ASF dual-hosted git repository.
Fokko pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/main by this push:
new 37921335f5 Bump com.puppycrawl.tools:checkstyle from 13.3.0 to 14.4.0
in /lang/java (#4082)
37921335f5 is described below
commit 37921335f5d2c66f07c2139497700fcd07af5707
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Tue Nov 10 19:07:15 2026 +0100
Bump com.puppycrawl.tools:checkstyle from 13.3.0 to 14.4.0 in /lang/java
(#4082)
* Bump com.puppycrawl.tools:checkstyle from 13.3.0 to 14.4.0 in /lang/java
Bumps
[com.puppycrawl.tools:checkstyle](https://github.com/checkstyle/checkstyle)
from 13.3.0 to 14.4.0.
- [Release notes](https://github.com/checkstyle/checkstyle/releases)
-
[Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-13.3.0...checkstyle-14.4.0)
---
updated-dependencies:
- dependency-name: com.puppycrawl.tools:checkstyle
dependency-version: 14.4.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected]>
* Fix checkstyle
* Fix spotless violation in Decoder javadoc
Wrap the readMapStart example in spotless:off/on toggles so the eclipse
formatter leaves the <pre>{@code} block intact; checkstyle 14.4.0 parses
it fine (same shape as the Encoder example).
---------
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot]
<49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Fokko Driesprong <[email protected]>
---
.../src/main/java/org/apache/avro/Conversion.java | 15 ++-
.../org/apache/avro/FormattedSchemaParser.java | 6 +-
.../java/org/apache/avro/JsonSchemaParser.java | 8 +-
.../main/java/org/apache/avro/ParseContext.java | 12 +--
.../avro/src/main/java/org/apache/avro/Schema.java | 4 +-
.../main/java/org/apache/avro/SchemaBuilder.java | 104 ++++++++++-----------
.../java/org/apache/avro/SchemaCompatibility.java | 12 +--
.../main/java/org/apache/avro/SchemaFormatter.java | 4 +-
.../org/apache/avro/SchemaFormatterFactory.java | 6 +-
.../main/java/org/apache/avro/SchemaParser.java | 12 +--
.../org/apache/avro/SchemaValidationStrategy.java | 2 +-
.../main/java/org/apache/avro/SchemaValidator.java | 4 +-
.../org/apache/avro/SchemaValidatorBuilder.java | 2 +-
.../java/org/apache/avro/SystemLimitException.java | 2 +-
.../src/main/java/org/apache/avro/ValidateAll.java | 4 +-
.../main/java/org/apache/avro/ValidateLatest.java | 4 +-
.../java/org/apache/avro/file/DataFileWriter.java | 2 +-
.../java/org/apache/avro/generic/GenericData.java | 2 +-
.../java/org/apache/avro/io/BinaryDecoder.java | 24 ++---
.../java/org/apache/avro/io/BinaryEncoder.java | 4 +-
.../org/apache/avro/io/BlockingBinaryEncoder.java | 6 +-
.../avro/io/BlockingDirectBinaryEncoder.java | 8 +-
.../org/apache/avro/io/BufferedBinaryEncoder.java | 12 +--
.../src/main/java/org/apache/avro/io/Decoder.java | 26 +++---
.../java/org/apache/avro/io/DecoderFactory.java | 20 ++--
.../org/apache/avro/io/DirectBinaryDecoder.java | 2 +-
.../org/apache/avro/io/DirectBinaryEncoder.java | 6 +-
.../src/main/java/org/apache/avro/io/Encoder.java | 8 +-
.../java/org/apache/avro/io/EncoderFactory.java | 50 +++++-----
.../main/java/org/apache/avro/io/JsonDecoder.java | 12 +--
.../main/java/org/apache/avro/io/JsonEncoder.java | 18 ++--
.../java/org/apache/avro/io/ValidatingDecoder.java | 4 +-
.../java/org/apache/avro/io/ValidatingEncoder.java | 4 +-
.../org/apache/avro/specific/SpecificData.java | 4 +-
.../main/java/org/apache/avro/util/TimePeriod.java | 10 +-
.../java/org/apache/avro/util/UtfTextUtils.java | 6 +-
.../avro/compiler/specific/SpecificCompiler.java | 4 +-
.../avro/hadoop/file/SortedKeyValueFile.java | 14 +--
.../avro/hadoop/io/AvroDatumConverterFactory.java | 2 +-
.../apache/avro/hadoop/io/AvroDeserializer.java | 4 +-
.../apache/avro/hadoop/io/AvroKeyComparator.java | 2 +-
.../apache/avro/hadoop/io/AvroSequenceFile.java | 20 ++--
.../org/apache/avro/hadoop/io/AvroSerializer.java | 4 +-
.../hadoop/util/AvroCharSequenceComparator.java | 4 +-
.../org/apache/avro/mapred/AvroMultipleInputs.java | 10 +-
.../apache/avro/mapred/AvroMultipleOutputs.java | 38 ++++----
.../org/apache/avro/mapred/AvroOutputFormat.java | 2 +-
.../org/apache/avro/mapred/DelegatingMapper.java | 3 +-
.../apache/avro/mapred/tether/TetheredProcess.java | 2 +-
.../java/org/apache/avro/mapreduce/AvroJob.java | 4 +-
.../apache/avro/mapreduce/AvroKeyInputFormat.java | 2 +-
.../apache/avro/mapreduce/AvroKeyOutputFormat.java | 2 +-
.../avro/mapreduce/AvroKeyValueInputFormat.java | 2 +-
.../avro/mapreduce/AvroKeyValueOutputFormat.java | 4 +-
.../avro/mapreduce/AvroKeyValueRecordReader.java | 2 +-
.../avro/mapreduce/AvroKeyValueRecordWriter.java | 2 +-
.../apache/avro/mapreduce/AvroMultipleOutputs.java | 10 +-
.../avro/mapreduce/AvroRecordReaderBase.java | 2 +-
.../mapreduce/AvroSequenceFileInputFormat.java | 2 +-
.../org/apache/avro/mojo/AbstractAvroMojo.java | 2 +-
.../org/apache/avro/protobuf/ProtoConversions.java | 2 +-
.../avro/mapreduce/AvroTrevniKeyInputFormat.java | 2 +-
.../avro/mapreduce/AvroTrevniKeyOutputFormat.java | 2 +-
.../mapreduce/AvroTrevniKeyValueInputFormat.java | 2 +-
.../mapreduce/AvroTrevniKeyValueOutputFormat.java | 4 +-
.../mapreduce/AvroTrevniKeyValueRecordReader.java | 2 +-
.../mapreduce/AvroTrevniKeyValueRecordWriter.java | 2 +-
.../avro/mapreduce/AvroTrevniRecordReaderBase.java | 2 +-
pom.xml | 2 +-
69 files changed, 299 insertions(+), 293 deletions(-)
diff --git a/lang/java/avro/src/main/java/org/apache/avro/Conversion.java
b/lang/java/avro/src/main/java/org/apache/avro/Conversion.java
index 934672e7d3..a257b2f38a 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/Conversion.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/Conversion.java
@@ -21,9 +21,7 @@ package org.apache.avro;
import java.nio.ByteBuffer;
import java.util.Collection;
import java.util.Map;
-import java.util.ServiceLoader;
-import org.apache.avro.generic.GenericData;
import org.apache.avro.generic.GenericEnumSymbol;
import org.apache.avro.generic.GenericFixed;
import org.apache.avro.generic.IndexedRecord;
@@ -33,11 +31,12 @@ import org.apache.avro.generic.IndexedRecord;
* <p>
* Instances of this class can be added to GenericData to convert a logical
type
* to a particular representation. This can be done manually, using
- * {@link GenericData#addLogicalTypeConversion(Conversion)}, or automatically.
- * This last option uses the Java {@link ServiceLoader}, and requires the
- * implementation to be a public class with a public no-arg constructor, be
- * named in a file called {@code
/META-INF/services/org.apache.avro.Conversion},
- * and both must available in the classpath.</li>
+ * {@link
org.apache.avro.generic.GenericData#addLogicalTypeConversion(Conversion)},
+ * or automatically. This last option uses the Java
+ * {@link java.util.ServiceLoader}, and requires the implementation to be a
+ * public class with a public no-arg constructor, be named in a file called
+ * {@code /META-INF/services/org.apache.avro.Conversion}, and both must
+ * available in the classpath.
* <p>
* Implementations must provide:
* <ul>
@@ -55,7 +54,7 @@ import org.apache.avro.generic.IndexedRecord;
* {@code ReflectData} or {@code ProtobufData}, for example.
*
* @param <T> a Java type that can represent the named logical type
- * @see ServiceLoader
+ * @see java.util.ServiceLoader
*/
@SuppressWarnings("unused")
public abstract class Conversion<T> {
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/FormattedSchemaParser.java
b/lang/java/avro/src/main/java/org/apache/avro/FormattedSchemaParser.java
index c37eca15dc..12023ba3b5 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/FormattedSchemaParser.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/FormattedSchemaParser.java
@@ -26,13 +26,13 @@ import java.net.URI;
* <p>
* The {@link SchemaParser} class uses this interface, supporting text based
* schema sources.
- * </p>
+ * <p>
*
* <p>
* Implementations are located using a {@link java.util.ServiceLoader} and must
* therefore be threadsafe. See the {@code ServiceLoader} class for details on
* loading your implementation.
- * </p>
+ * <p>
*
* @see java.util.ServiceLoader
*/
@@ -40,7 +40,7 @@ public interface FormattedSchemaParser {
/**
* <p>
* Parse schema definitions from a text based source.
- * </p>
+ * <p>
*
* <h2>Notes for implementers:</h2>
*
diff --git a/lang/java/avro/src/main/java/org/apache/avro/JsonSchemaParser.java
b/lang/java/avro/src/main/java/org/apache/avro/JsonSchemaParser.java
index 5dd532444a..ff8682d3d8 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/JsonSchemaParser.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/JsonSchemaParser.java
@@ -30,23 +30,23 @@ import java.net.URI;
* {@link java.util.ServiceLoader}, as its use is hardcoded as fallback when no
* service exists. This enables users to reliably override the standard JSON
* parser as well.
- * </p>
+ * <p>
*/
public class JsonSchemaParser implements FormattedSchemaParser {
/**
* <p>
* Parse a schema written in the internal (JSON) format without any
validations.
- * </p>
+ * <p>
*
* <p>
* Using this method is only safe if used to parse a write schema (i.e., a
* schema used to read Avro data). Other usages, for example by generated
Avro
* code, can cause interoperability problems.
- * </p>
+ * <p>
*
* <p>
* Use with care and sufficient testing!
- * </p>
+ * <p>
*
* @param fragments one or more strings making up the schema (some schemata
* exceed the compiler limits)
diff --git a/lang/java/avro/src/main/java/org/apache/avro/ParseContext.java
b/lang/java/avro/src/main/java/org/apache/avro/ParseContext.java
index 1d0873eb8b..dec4f60ac4 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/ParseContext.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/ParseContext.java
@@ -44,12 +44,12 @@ import static java.util.Objects.requireNonNull;
*
* <p>
* This class is NOT thread-safe.
- * </p>
+ * <p>
*
* <p>
* Note: this class has no use for most Avro users, but is a key component when
* implementing a schema parser.
- * </p>
+ * <p>
*
* @see <a href="https://avro.apache.org/docs/current/specification/">JSON
based
* schema definition</a>
@@ -129,11 +129,11 @@ public class ParseContext {
/**
* <p>
* Find a schema by name and namespace.
- * </p>
+ * <p>
*
* <p>
* That is:
- * </p>
+ * <p>
*
* <ol>
* <li>If {@code name} is a primitive name, return a (new) schema for it</li>
@@ -150,7 +150,7 @@ public class ParseContext {
* directly usable. Please {@link #put(Schema)} the schema using it in the
* context. The {@link SchemaParser} and protocol parsers will ensure you'll
* only get a resolved schema that is usable.
- * </p>
+ * <p>
*
* @param name the schema name to find
* @param namespace the namespace to find the schema against
@@ -201,7 +201,7 @@ public class ParseContext {
* Note that although this method works for all types except for arrays, maps
* and unions, all primitive types have already been defined upon
construction.
* This means you cannot redefine a 'long' with a logical timestamp type.
- * </p>
+ * <p>
*
* @param schema the schema to put into the context
*/
diff --git a/lang/java/avro/src/main/java/org/apache/avro/Schema.java
b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
index 87f9d045db..fe6d4ce75a 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/Schema.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
@@ -400,12 +400,12 @@ public abstract class Schema extends JsonProperties
implements Serializable {
/**
* <p>
* Render this as <a href="https://json.org/">JSON</a>.
- * </p>
+ * <p>
*
* <p>
* This method is equivalent to:
* {@code SchemaFormatter.getInstance("json").format(this)}
- * </p>
+ * <p>
*/
@Override
public String toString() {
diff --git a/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
b/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
index 66fa8fbbd3..b8cc801caf 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java
@@ -48,7 +48,7 @@ import com.fasterxml.jackson.databind.node.TextNode;
* is designed to mimic the
* <a href="https://avro.apache.org/docs/current/spec.html#schemas">Avro Schema
* Specification</a>
- * </p>
+ * <p>
* For example, the below JSON schema and the fluent builder code to create it
* are very similar:
*
@@ -72,13 +72,13 @@ import com.fasterxml.jackson.databind.node.TextNode;
*
.name("serverHash").type("MD5").noDefault().name("meta").type().nullable().map().values().bytesType().noDefault()
* .endRecord();
* </pre>
- * <p/>
+ * <p>
*
* <h5>Usage Guide</h5> SchemaBuilder chains together many smaller builders and
* maintains nested context in order to mimic the Avro Schema specification.
* Every Avro type in JSON has required and optional JSON properties, as well
as
* user-defined properties.
- * <p/>
+ * <p>
* <h6>Selecting and Building an Avro Type</h6> The API analogy for the right
* hand side of the Avro Schema JSON
*
@@ -89,7 +89,7 @@ import com.fasterxml.jackson.databind.node.TextNode;
* is a {@link TypeBuilder}, {@link FieldTypeBuilder}, or
* {@link UnionFieldTypeBuilder}, depending on the context. These types all
* share a similar API for selecting and building types.
- * <p/>
+ * <p>
* <h5>Primitive Types</h5> All Avro primitive types are trivial to configure.
A
* primitive type in Avro JSON can be declared two ways, one that supports
* custom properties and one that does not:
@@ -120,7 +120,7 @@ import com.fasterxml.jackson.databind.node.TextNode;
* <li>{@link NamespacedBuilder#namespace(String)}</li>
* <li>{@link NamespacedBuilder#aliases(String...)}</li>
* <li>{@link PropBuilder#prop(String, String)}</li>
- * <p/>
+ * <p>
* Each named type completes configuration of the optional properties with its
* own method:
* <li>{@link FixedBuilder#size(int)}</li>
@@ -161,12 +161,12 @@ import com.fasterxml.jackson.databind.node.TextNode;
* defining aliases, custom properties, and documentation of the field. After
* configuring these optional values for a field, the type is selected or built
* with {@link FieldBuilder#type()}.
- * <p/>
+ * <p>
* Fields have default values that must be specified to complete the field.
* {@link FieldDefault#noDefault()} is available for all field types, and a
* specific method is available for each type to use a default, for example
* {@link IntDefault#intDefault(int)}
- * <p/>
+ * <p>
* There are field shortcut methods on {@link FieldAssembler} for primitive
* types. These shortcuts create required, optional, and nullable fields, but
do
* not support field aliases, doc, or custom properties.
@@ -194,7 +194,7 @@ import com.fasterxml.jackson.databind.node.TextNode;
*
* In a field context, the first type of a union defines what default type is
* allowed.
- * </p>
+ * <p>
* Unions have two shortcuts for common cases. nullable() creates a union of a
* type and null. In a field type context, optional() is available and creates
a
* union of null and a type, with a null default. The below two are equivalent:
@@ -225,7 +225,7 @@ import com.fasterxml.jackson.databind.node.TextNode;
* as a default to child fields, nested types, or later defined types in a
* union. To specify a name that has no namespace and ignore the inherited
* namespace, set the namespace to "".
- * <p/>
+ * <p>
* {@link SchemaBuilder#builder(String)} returns a type builder with a default
* namespace. {@link SchemaBuilder#builder()} returns a type builder with no
* default namespace.
@@ -405,7 +405,7 @@ public class SchemaBuilder {
* An abstract type that provides builder methods for configuring the name,
doc,
* and aliases of all Avro types that have names (fields, Fixed, Record, and
* Enum).
- * <p/>
+ * <p>
* All Avro named types and fields have 'doc', 'aliases', and 'name'
components.
* 'name' is required, and provided to this builder. 'doc' and 'aliases' are
* optional.
@@ -479,7 +479,7 @@ public class SchemaBuilder {
/**
* Set the namespace of this type. To clear the namespace, set empty
string.
- * <p/>
+ * <p>
* When the namespace is null or unset, the namespace of the type defaults
to
* the namespace of the enclosing context.
**/
@@ -724,11 +724,11 @@ public class SchemaBuilder {
/**
* Builds an Avro Fixed type with optional properties, namespace, doc, and
* aliases.
- * <p/>
+ * <p>
* Set properties with {@link #prop(String, String)}, namespace with
* {@link #namespace(String)}, doc with {@link #doc(String)}, and aliases
with
* {@link #aliases(String[])}.
- * <p/>
+ * <p>
* The Fixed schema is finalized when its required size is set via
* {@link #size(int)}.
**/
@@ -757,11 +757,11 @@ public class SchemaBuilder {
/**
* Builds an Avro Enum type with optional properties, namespace, doc, and
* aliases.
- * <p/>
+ * <p>
* Set properties with {@link #prop(String, String)}, namespace with
* {@link #namespace(String)}, doc with {@link #doc(String)}, and aliases
with
* {@link #aliases(String[])}.
- * <p/>
+ * <p>
* The Enum schema is finalized when its required symbols are set via
* {@link #symbols(String[])}.
**/
@@ -800,9 +800,9 @@ public class SchemaBuilder {
/**
* Builds an Avro Map type with optional properties.
- * <p/>
+ * <p>
* Set properties with {@link #prop(String, String)}.
- * <p/>
+ * <p>
* The Map schema's properties are finalized when {@link #values()} or
* {@link #values(Schema)} is called.
**/
@@ -843,9 +843,9 @@ public class SchemaBuilder {
/**
* Builds an Avro Array type with optional properties.
- * <p/>
+ * <p>
* Set properties with {@link #prop(String, String)}.
- * <p/>
+ * <p>
* The Array schema's properties are finalized when {@link #items()} or
* {@link #items(Schema)} is called.
**/
@@ -971,7 +971,7 @@ public class SchemaBuilder {
* A common API for building types within a context. BaseTypeBuilder can
build
* all types other than Unions. {@link TypeBuilder} can additionally build
* Unions.
- * <p/>
+ * <p>
* The builder has two contexts:
* <li>A naming context provides a default namespace and allows for
previously
* defined named types to be referenced from {@link #type(String)}</li>
@@ -997,7 +997,7 @@ public class SchemaBuilder {
/**
* Look up the type by name. This type must be previously defined in the
context
* of this builder.
- * <p/>
+ * <p>
* The name may be fully qualified or a short name. If it is a short name,
the
* default namespace of the current context will additionally be searched.
**/
@@ -1008,7 +1008,7 @@ public class SchemaBuilder {
/**
* Look up the type by name and namespace. This type must be previously
defined
* in the context of this builder.
- * <p/>
+ * <p>
* The name may be fully qualified or a short name. If it is a fully
qualified
* name, the namespace provided is ignored. If it is a short name, the
namespace
* provided is used if not null, else the default namespace of the current
@@ -1278,7 +1278,7 @@ public class SchemaBuilder {
/**
* A shortcut for building a union of a type and null.
- * <p/>
+ * <p>
* For example, the code snippets below are equivalent:
*
* <pre>
@@ -1333,11 +1333,11 @@ public class SchemaBuilder {
* A special Builder for Record fields. The API is very similar to
* {@link BaseTypeBuilder}. However, fields have their own names, properties,
* and default values.
- * <p/>
+ * <p>
* The methods on this class create builder instances that return their
control
* to the {@link FieldAssembler} of the enclosing record context after
* configuring a default for the field.
- * <p/>
+ * <p>
* For example, an int field with default value 1:
*
* <pre>
@@ -1563,7 +1563,7 @@ public class SchemaBuilder {
/**
* A shortcut for building a union of a type and null, with an optional
default
* value of the non-null type.
- * <p/>
+ * <p>
* For example, the two code snippets below are equivalent:
*
* <pre>
@@ -1580,7 +1580,7 @@ public class SchemaBuilder {
/**
* A shortcut for building a union of null and a type, with a null default.
- * <p/>
+ * <p>
* For example, the two code snippets below are equivalent:
*
* <pre>
@@ -1836,7 +1836,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a boolean field with the given name and no
default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1850,7 +1850,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating an optional boolean field: a union of null and
boolean
* with null default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1864,7 +1864,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a nullable boolean field: a union of boolean and
null
* with an boolean default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1877,7 +1877,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating an int field with the given name and no default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1891,7 +1891,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating an optional int field: a union of null and int
with
* null default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1905,7 +1905,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a nullable int field: a union of int and null
with an
* int default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1918,7 +1918,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a long field with the given name and no default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1932,7 +1932,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating an optional long field: a union of null and long
with
* null default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1946,7 +1946,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a nullable long field: a union of long and null
with a
* long default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1959,7 +1959,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a float field with the given name and no default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1973,7 +1973,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating an optional float field: a union of null and
float with
* null default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -1987,7 +1987,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a nullable float field: a union of float and null
with
* a float default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -2000,7 +2000,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a double field with the given name and no default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -2014,7 +2014,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating an optional double field: a union of null and
double
* with null default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -2028,7 +2028,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a nullable double field: a union of double and
null
* with a double default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -2041,7 +2041,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a string field with the given name and no default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -2055,7 +2055,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating an optional string field: a union of null and
string
* with null default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -2069,7 +2069,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a nullable string field: a union of string and
null
* with a string default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -2082,7 +2082,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a bytes field with the given name and no default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -2096,7 +2096,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating an optional bytes field: a union of null and
bytes with
* null default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -2110,7 +2110,7 @@ public class SchemaBuilder {
/**
* Shortcut for creating a nullable bytes field: a union of bytes and null
with
* a bytes default.
- * <p/>
+ * <p>
* This is equivalent to:
*
* <pre>
@@ -2216,12 +2216,12 @@ public class SchemaBuilder {
/**
* Final step in configuring this field, finalizing name, namespace,
alias, and
* order. Sets the field's type to the schema by name reference.
- * <p/>
+ * <p>
* The name must correspond with a named schema that has already been
created in
* the context of this builder. The name may be a fully qualified name, or
a
* short name. If it is a short name, the namespace context of this
builder will
* be used.
- * <p/>
+ * <p>
* The name and namespace context rules are the same as the Avro schema
JSON
* specification.
*/
@@ -2232,13 +2232,13 @@ public class SchemaBuilder {
/**
* Final step in configuring this field, finalizing name, namespace,
alias, and
* order. Sets the field's type to the schema by name reference.
- * <p/>
+ * <p>
* The name must correspond with a named schema that has already been
created in
* the context of this builder. The name may be a fully qualified name, or
a
* short name. If it is a full name, the namespace is ignored. If it is a
short
* name, the namespace provided is used. If the namespace provided is
null, the
* namespace context of this builder will be used.
- * <p/>
+ * <p>
* The name and namespace context rules are the same as the Avro schema
JSON
* specification.
*/
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/SchemaCompatibility.java
b/lang/java/avro/src/main/java/org/apache/avro/SchemaCompatibility.java
index 8b6a2839ad..77a1257c23 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaCompatibility.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaCompatibility.java
@@ -87,7 +87,7 @@ public class SchemaCompatibility {
*
* <p>
* Matching includes reader name aliases.
- * </p>
+ * <p>
*
* @param reader Named reader schema.
* @param writer Named writer schema.
@@ -106,7 +106,7 @@ public class SchemaCompatibility {
*
* <p>
* Matching includes reader name aliases.
- * </p>
+ * <p>
*
* @param writerSchema Schema of the record where to look for the writer
field.
* @param readerField Reader field to identify the corresponding writer
field
@@ -188,7 +188,7 @@ public class SchemaCompatibility {
*
* <p>
* Provides memoization to handle recursive schemas.
- * </p>
+ * <p>
*/
private static final class ReaderWriterCompatibilityChecker {
private static final String ROOT_REFERENCE_TOKEN = "";
@@ -199,7 +199,7 @@ public class SchemaCompatibility {
*
* <p>
* Memoizes the compatibility results.
- * </p>
+ * <p>
*
* @param reader Reader schema to test.
* @param writer Writer schema to test.
@@ -214,7 +214,7 @@ public class SchemaCompatibility {
* Reports the compatibility of a reader/writer schema pair.
* <p>
* Memoizes the compatibility results.
- * </p>
+ * <p>
*
* @param referenceToken The equivalent JSON pointer reference token
* representation of the schema node being visited.
@@ -252,7 +252,7 @@ public class SchemaCompatibility {
* <p>
* Relies on external memoization performed by
* {@link #getCompatibility(Schema, Schema)}.
- * </p>
+ * <p>
*
* @param reader Reader schema to test.
* @param writer Writer schema to test.
diff --git a/lang/java/avro/src/main/java/org/apache/avro/SchemaFormatter.java
b/lang/java/avro/src/main/java/org/apache/avro/SchemaFormatter.java
index dee5382a19..72ffddd0fc 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaFormatter.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaFormatter.java
@@ -26,7 +26,7 @@ import java.util.ServiceLoader;
* <p>
* Schema formats have a name, and optionally a variant (all lowercase). The
* Avro library supports a few formats out of the box:
- * </p>
+ * <p>
*
* <dl>
*
@@ -59,7 +59,7 @@ import java.util.ServiceLoader;
* {@link java.util.ServiceLoader}, which loads them using the context
* ClassLoader when available, or the application ClassLoader when not. See the
* {@code ServiceLoader} class for more detailsĪ.
- * </p>
+ * <p>
*
* @see <a href=
*
"https://avro.apache.org/docs/current/specification/#schema-declaration">Specification:
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/SchemaFormatterFactory.java
b/lang/java/avro/src/main/java/org/apache/avro/SchemaFormatterFactory.java
index be731a86dd..d294fa80e1 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaFormatterFactory.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaFormatterFactory.java
@@ -26,7 +26,7 @@ import java.util.regex.Pattern;
*
* <p>
* Notes to implementers:
- * </p>
+ * <p>
*
* <ul>
*
@@ -57,7 +57,7 @@ public interface SchemaFormatterFactory {
* class if it is named {@code <format>SchemaFormatterFactory}. That is, if
the
* implementing class is named {@code
some.package.JsonSchemaFormatterFactory},
* it returns: {@literal "json"}
- * </p>
+ * <p>
*
* @return the name of the format
*/
@@ -80,7 +80,7 @@ public interface SchemaFormatterFactory {
* Implementations should either return the only formatter for this format,
or
* call {@link #getFormatterForVariant(String)} with the default variant and
* implement that method as well.
- * </p>
+ * <p>
*
* @return the default formatter for this schema format
*/
diff --git a/lang/java/avro/src/main/java/org/apache/avro/SchemaParser.java
b/lang/java/avro/src/main/java/org/apache/avro/SchemaParser.java
index 295cb778e3..1513ee9413 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaParser.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaParser.java
@@ -41,13 +41,13 @@ import java.util.ServiceLoader;
* first result. This means it can transparently handle any schema format. The
* Avro project defines a JSON based format and an IDL format (the latter
* available as a separate dependency), but you can also provide your own.
- * </p>
+ * <p>
*
* <p>
* The parser can handle various text based sources. If the source contains a
* UTF encoded latin text based format it can even detect which UTF encoding
was
* used (UTF-8, UTF16BE, UTF16LE, UTF-32BE or UTF32LE).
- * </p>
+ * <p>
*
* @see FormattedSchemaParser
* @see UtfTextUtils
@@ -59,7 +59,7 @@ public class SchemaParser {
/**
* <p>
* Use a default SchemaParser to parse a single schema. Equivalent to:
- * </p>
+ * <p>
* <code>
* new SchemaParser().parse(schema).mainSchema()
* </code>
@@ -77,7 +77,7 @@ public class SchemaParser {
* <p>
* Use a default SchemaParser to parse a single schema from a file.
Equivalent
* to:
- * </p>
+ * <p>
* <code>
* new SchemaParser().parse(schemaFile).mainSchema()
* </code>
@@ -104,11 +104,11 @@ public class SchemaParser {
* Create a schema parser with the specified name validator.
* <p>
* Initially, the list of known (named) schemata is empty.
- * </p>
+ * <p>
* <p>
* Note: using {@link NameValidator#STRICT_VALIDATOR} to validate names is
* advised for maximum interoperability.
- * </p>
+ * <p>
*
* @param nameValidator the name validator to use
*/
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/SchemaValidationStrategy.java
b/lang/java/avro/src/main/java/org/apache/avro/SchemaValidationStrategy.java
index 881aa36565..b8297b82a9 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaValidationStrategy.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaValidationStrategy.java
@@ -23,7 +23,7 @@ package org.apache.avro;
* another.
* <p>
* What makes one schema compatible with another is not defined by the
contract.
- * <p/>
+ * <p>
*/
public interface SchemaValidationStrategy {
diff --git a/lang/java/avro/src/main/java/org/apache/avro/SchemaValidator.java
b/lang/java/avro/src/main/java/org/apache/avro/SchemaValidator.java
index d1dee747d5..430cc6e608 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaValidator.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaValidator.java
@@ -22,11 +22,11 @@ package org.apache.avro;
* <p>
* A SchemaValidator has one method, which validates that a {@link Schema} is
* <b>compatible<b/> with the other schemas provided.
- * </p>
+ * <p>
* <p>
* What makes one Schema compatible with another is not part of the interface
* contract.
- * </p>
+ * <p>
*/
public interface SchemaValidator {
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/SchemaValidatorBuilder.java
b/lang/java/avro/src/main/java/org/apache/avro/SchemaValidatorBuilder.java
index a10e0408ba..514485d946 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SchemaValidatorBuilder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SchemaValidatorBuilder.java
@@ -21,7 +21,7 @@ package org.apache.avro;
/**
* <p>
* A Builder for creating SchemaValidators.
- * </p>
+ * <p>
*/
public final class SchemaValidatorBuilder {
private SchemaValidationStrategy strategy;
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/SystemLimitException.java
b/lang/java/avro/src/main/java/org/apache/avro/SystemLimitException.java
index 003f2e406f..86faa24c1f 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/SystemLimitException.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/SystemLimitException.java
@@ -24,7 +24,7 @@ import org.slf4j.LoggerFactory;
/**
* Thrown to prevent making large allocations when reading potentially
* pathological input data from an untrusted source.
- * <p/>
+ * <p>
* The following system properties can be set to limit the size of bytes,
* strings and collection types to be allocated:
* <ul>
diff --git a/lang/java/avro/src/main/java/org/apache/avro/ValidateAll.java
b/lang/java/avro/src/main/java/org/apache/avro/ValidateAll.java
index 9692dfe78b..0c5cbcf5dc 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/ValidateAll.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/ValidateAll.java
@@ -22,12 +22,12 @@ package org.apache.avro;
* <p>
* A {@link SchemaValidator} for validating the provided schema against all
* schemas in the Iterable in {@link #validate(Schema, Iterable)}.
- * </p>
+ * <p>
* <p>
* Uses the {@link SchemaValidationStrategy} provided in the constructor to
* validate the {@link Schema} against each Schema in the Iterable, in Iterator
* order, via {@link SchemaValidationStrategy#validate(Schema, Schema)}.
- * </p>
+ * <p>
*/
public final class ValidateAll implements SchemaValidator {
private final SchemaValidationStrategy strategy;
diff --git a/lang/java/avro/src/main/java/org/apache/avro/ValidateLatest.java
b/lang/java/avro/src/main/java/org/apache/avro/ValidateLatest.java
index ef75cd31aa..ecaf8060fb 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/ValidateLatest.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/ValidateLatest.java
@@ -24,12 +24,12 @@ import java.util.Iterator;
* <p>
* A {@link SchemaValidator} for validating the provided schema against the
* first {@link Schema} in the iterable in {@link #validate(Schema, Iterable)}.
- * </p>
+ * <p>
* <p>
* Uses the {@link SchemaValidationStrategy} provided in the constructor to
* validate the schema against the first Schema in the iterable, if it exists,
* via {@link SchemaValidationStrategy#validate(Schema, Schema)}.
- * </p>
+ * <p>
*/
public final class ValidateLatest implements SchemaValidator {
private final SchemaValidationStrategy strategy;
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileWriter.java
b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileWriter.java
index 466fa28135..055353c1f5 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileWriter.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileWriter.java
@@ -380,7 +380,7 @@ public class DataFileWriter<D> implements Closeable,
Flushable {
* files are compatible, data blocks are copied directly without
decompression.
* If the codecs are not compatible, blocks from otherFile are uncompressed
and
* then compressed using this file's codec.
- * <p/>
+ * <p>
* If the recompress flag is set all blocks are decompressed and then
compressed
* using this file's codec. This is useful when the two files have compatible
* compression codecs but different codec options. For example, one might
append
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
index ebbac9a322..9f1837628e 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
@@ -88,7 +88,7 @@ public class GenericData {
/** Used to specify the Java type for a string schema. */
public enum StringType {
CharSequence, String, Utf8
- };
+ }
public static final String STRING_PROP = "avro.java.string";
protected static final String STRING_TYPE_STRING = "String";
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/BinaryDecoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/BinaryDecoder.java
index 3974eb5c62..fbd78f7d90 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/BinaryDecoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/BinaryDecoder.java
@@ -32,14 +32,14 @@ import java.util.Arrays;
/**
* An {@link Decoder} for binary-format data.
- * <p/>
+ * <p>
* Instances are created using {@link DecoderFactory}.
- * <p/>
+ * <p>
* This class may read-ahead and buffer bytes from the source beyond what is
* required to serve its read methods. The number of unused bytes in the buffer
* can be accessed by inputStream().remaining(), if the BinaryDecoder is not
* 'direct'.
- * <p/>
+ * <p>
*
* @see Encoder
* @see SystemLimitException
@@ -120,7 +120,7 @@ public class BinaryDecoder extends Decoder {
* it exists) from this Decoder. The old source's state no longer depends on
* this Decoder and its InputStream interface will continue to drain the
* remaining buffer and source data.
- * <p/>
+ * <p>
* The decoder will read from the new source. The source will generally
replace
* the buffer with its own. If the source allocates a new buffer, it will
create
* it with size bufferSize.
@@ -510,7 +510,7 @@ public class BinaryDecoder extends Decoder {
* Returns true if the current BinaryDecoder is at the end of its source data
* and cannot read any further without throwing an EOFException or other
* IOException.
- * <p/>
+ * <p>
* Not all implementations of BinaryDecoder support isEnd(). Implementations
* that do not support isEnd() will throw a
* {@link java.lang.UnsupportedOperationException}.
@@ -553,12 +553,12 @@ public class BinaryDecoder extends Decoder {
* Ensures that buf[pos + num - 1] is not out of the buffer array bounds.
* However, buf[pos + num -1] may be >= limit if there is not enough data
left
* in the source to fill the array with num bytes.
- * <p/>
+ * <p>
* This method allows readers to read ahead by num bytes safely without
checking
* for EOF at each byte. However, readers must ensure that their reads are
valid
* by checking that their read did not advance past the limit before
adjusting
* pos.
- * <p/>
+ * <p>
* num must be less than the buffer size and greater than 0
*/
private void ensureBounds(int num) throws IOException {
@@ -688,16 +688,16 @@ public class BinaryDecoder extends Decoder {
* InputStream's API is a barrier to performance due to several quirks:
* InputStream does not in general require that as many bytes as possible
have
* been read when filling a buffer.
- * <p/>
+ * <p>
* InputStream's terminating conditions for a read are two-fold: EOFException
* and '-1' on the return from read(). Implementations are supposed to return
* '-1' on EOF but often do not. The extra terminating conditions cause extra
* conditionals on both sides of the API, and slow performance significantly.
- * <p/>
+ * <p>
* ByteSource implementations provide read() and skip() variants that have
* stronger guarantees than InputStream, freeing client code to be simplified
* and faster.
- * <p/>
+ * <p>
* {@link #skipSourceBytes} and {@link #readRaw} are guaranteed to have read
or
* skipped as many bytes as possible, or throw EOFException.
* {@link #trySkipBytes} and {@link #tryReadRaw} are guaranteed to attempt to
@@ -707,7 +707,7 @@ public class BinaryDecoder extends Decoder {
* also be detected by a client if an EOFException is thrown from
* {@link #skipSourceBytes} or {@link #readRaw}, or if {@link #trySkipBytes}
or
* {@link #tryReadRaw} return 0;
- * <p/>
+ * <p>
* A ByteSource also implements the InputStream contract for use by APIs that
* require it. The InputStream interface must take into account buffering in
any
* decoder that this ByteSource is attached to. The other methods do not
account
@@ -779,7 +779,7 @@ public class BinaryDecoder extends Decoder {
* Attempts to copy up to <i>len</i> bytes from the source into data,
starting
* at index <i>off</i>. Returns the actual number of bytes copied which
may be
* between 0 and <i>len</i>.
- * <p/>
+ * <p>
* This method must attempt to read as much as possible from the source.
Returns
* 0 when at the end of stream/channel/file/etc.
*
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/BinaryEncoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/BinaryEncoder.java
index 97d9895c74..60d54718e2 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/BinaryEncoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/BinaryEncoder.java
@@ -25,7 +25,7 @@ import org.apache.avro.util.Utf8;
/**
* An abstract {@link Encoder} for Avro's binary encoding.
- * <p/>
+ * <p>
* To construct and configure instances, use {@link EncoderFactory}
*
* @see EncoderFactory
@@ -167,7 +167,7 @@ public abstract class BinaryEncoder extends Encoder {
/**
* Returns the number of bytes currently buffered by this encoder. If this
* Encoder does not buffer, this will always return zero.
- * <p/>
+ * <p>
* Call {@link #flush()} to empty the buffer to the underlying output.
*/
public abstract int bytesBuffered();
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/io/BlockingBinaryEncoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/BlockingBinaryEncoder.java
index 9a0d9e414b..5501df234e 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/BlockingBinaryEncoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/BlockingBinaryEncoder.java
@@ -31,13 +31,13 @@ import org.apache.avro.Schema;
* arbitrarily long arrays and maps may be written and subsequently read
without
* exhausting memory. Values are buffered until the specified block size would
* be exceeded, minimizing block overhead.
- * <p/>
+ * <p>
* Use {@link EncoderFactory#blockingBinaryEncoder(OutputStream,
BinaryEncoder)}
* to construct and configure.
- * <p/>
+ * <p>
* BlockingBinaryEncoder buffers writes, data may not appear on the output
until
* {@link #flush()} is called.
- * <p/>
+ * <p>
* BlockingBinaryEncoder is not thread-safe
*
* @see BinaryEncoder
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/io/BlockingDirectBinaryEncoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/BlockingDirectBinaryEncoder.java
index 9f391a3192..e668abba0c 100644
---
a/lang/java/avro/src/main/java/org/apache/avro/io/BlockingDirectBinaryEncoder.java
+++
b/lang/java/avro/src/main/java/org/apache/avro/io/BlockingDirectBinaryEncoder.java
@@ -26,19 +26,19 @@ import java.util.ArrayList;
/**
* An {@link Encoder} for Avro's binary encoding that does not buffer output.
- * <p/>
+ * <p>
* This encoder does not buffer writes in contrast to
* {@link BufferedBinaryEncoder}. However, it is lighter-weight and useful
when:
* The buffering in BufferedBinaryEncoder is not desired because you buffer a
* different level or the Encoder is very short-lived.
- * </p>
+ * <p>
* The BlockingDirectBinaryEncoder will encode the number of bytes of the Map
* and Array blocks. This will allow to postpone the decoding, or skip over it
* at all.
- * <p/>
+ * <p>
* To construct, use
* {@link EncoderFactory#blockingDirectBinaryEncoder(OutputStream,
BinaryEncoder)}
- * <p/>
+ * <p>
* {@link BlockingDirectBinaryEncoder} instances returned by this method are
not
* thread-safe
*
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/io/BufferedBinaryEncoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/BufferedBinaryEncoder.java
index b0dfa4faf6..d8379f3f21 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/BufferedBinaryEncoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/BufferedBinaryEncoder.java
@@ -28,17 +28,17 @@ import org.apache.avro.AvroRuntimeException;
/**
* An {@link Encoder} for Avro's binary encoding.
- * <p/>
+ * <p>
* This implementation buffers output to enhance performance. Output may not
* appear on the underlying output until flush() is called.
- * <p/>
+ * <p>
* {@link DirectBinaryEncoder} can be used in place of this implementation if
* the buffering semantics are not desired, and the performance difference is
* acceptable.
- * <p/>
+ * <p>
* To construct or reconfigure, use
* {@link EncoderFactory#binaryEncoder(OutputStream, BinaryEncoder)}.
- * <p/>
+ * <p>
* To change the buffer size, configure the factory instance used to create
* instances with {@link EncoderFactory#configureBufferSize(int)}
*
@@ -190,11 +190,11 @@ public class BufferedBinaryEncoder extends BinaryEncoder {
/**
* ByteSink abstracts the destination of written data from the core workings
of
* BinaryEncoder.
- * <p/>
+ * <p>
* Currently the only destination option is an OutputStream, but we may later
* want to handle other constructs or specialize for certain OutputStream
* Implementations such as ByteBufferOutputStream.
- * <p/>
+ * <p>
*/
private abstract static class ByteSink {
protected ByteSink() {
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/Decoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/Decoder.java
index 80640a61aa..c9ba8ea4a7 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/Decoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/Decoder.java
@@ -24,14 +24,14 @@ import org.apache.avro.util.Utf8;
/**
* Low-level support for de-serializing Avro values.
- * <p/>
+ * <p>
* This class has two types of methods. One type of methods support the reading
* of leaf values (for example, {@link #readLong} and {@link #readString}).
- * <p/>
+ * <p>
* The other type of methods support the reading of maps and arrays. These
* methods are {@link #readArrayStart}, {@link #arrayNext}, and similar methods
* for maps. See {@link #readArrayStart} for details on these methods.
- * <p/>
+ * <p>
* {@link DecoderFactory} contains Decoder construction and configuration
* facilities.
*
@@ -243,18 +243,22 @@ public abstract class Decoder {
* consisting of a Long field and a Boolean field. Your code would look
* something like this:
*
+ * <!-- spotless:off -->
* <pre>
- * Map<String, Record> m = new HashMap<String, Record>();
- * Record reuse = new Record();
- * for (long i = in.readMapStart(); i != 0; i = in.readMapNext()) {
- * for (long j = 0; j < i; j++) {
- * String key = in.readString();
- * reuse.intField = in.readInt();
- * reuse.boolField = in.readBoolean();
- * m.put(key, reuse);
+ * {@code
+ * Map<String, Record> m = new HashMap<String, Record>();
+ * Record reuse = new Record();
+ * for (long i = in.readMapStart(); i != 0; i = in.readMapNext()) {
+ * for (long j = 0; j < i; j++) {
+ * String key = in.readString();
+ * reuse.intField = in.readInt();
+ * reuse.boolField = in.readBoolean();
+ * m.put(key, reuse);
+ * }
* }
* }
* </pre>
+ * <!-- spotless:on -->
*
* @throws AvroTypeException If this is a stateful reader and map is not the
* type of the next value to be read
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/io/DecoderFactory.java
b/lang/java/avro/src/main/java/org/apache/avro/io/DecoderFactory.java
index 1f9e05dad5..fce1ac5b24 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/DecoderFactory.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/DecoderFactory.java
@@ -28,10 +28,10 @@ import org.apache.avro.Schema;
* Factories are thread-safe, and are generally cached by applications for
* performance reasons. Multiple instances are only required if multiple
* concurrent configurations are needed.
- * </p>
+ * <p>
* <p>
* Although Factories are thread-safe the {@link Decoder}s they return are not.
- * </p>
+ * <p>
*
* @see Decoder
*/
@@ -111,13 +111,13 @@ public class DecoderFactory {
* Creates or reinitializes a {@link BinaryDecoder} with the input stream
* provided as the source of data. If <i>reuse</i> is provided, it will be
* reinitialized to the given input stream.
- * <p/>
+ * <p>
* {@link BinaryDecoder} instances returned by this method buffer their
input,
* reading up to {@link #getConfiguredBufferSize()} bytes past the minimum
* required to satisfy read requests in order to achieve better performance.
If
* the buffering is not desired, use
* {@link #directBinaryDecoder(InputStream, BinaryDecoder)}.
- * <p/>
+ * <p>
* {@link BinaryDecoder#inputStream()} provides a view on the data that is
* buffer-aware, for users that need to interleave access to data with the
* Decoder API.
@@ -146,17 +146,17 @@ public class DecoderFactory {
* Creates or reinitializes a {@link BinaryDecoder} with the input stream
* provided as the source of data. If <i>reuse</i> is provided, it will be
* reinitialized to the given input stream.
- * <p/>
+ * <p>
* {@link BinaryDecoder} instances returned by this method do not buffer
their
* input. In most cases a buffering BinaryDecoder is sufficient in
combination
* with {@link BinaryDecoder#inputStream()} which provides a buffer-aware
view
* on the data.
- * <p/>
+ * <p>
* A "direct" BinaryDecoder does not read ahead from an InputStream or other
* data source that cannot be rewound. From the perspective of a client, a
* "direct" decoder must never read beyond the minimum necessary bytes to
* service a {@link BinaryDecoder} API read request.
- * <p/>
+ * <p>
* In the case that the improved performance of a buffering implementation
does
* not outweigh the inconvenience of its buffering semantics, a "direct"
decoder
* can be used.
@@ -199,7 +199,7 @@ public class DecoderFactory {
* as the source of data. If <i>reuse</i> is provided, it will attempt to
* reinitialize <i>reuse</i> to the new byte array. This instance will use
the
* provided byte array as its buffer.
- * <p/>
+ * <p>
* {@link BinaryDecoder#inputStream()} provides a view on the data that is
* buffer-aware and can provide a view of the data not yet read by Decoder
API
* methods.
@@ -245,7 +245,7 @@ public class DecoderFactory {
/**
* Creates a {@link JsonDecoder} using the InputStream provided for reading
data
* that conforms to the Schema provided.
- * <p/>
+ * <p>
*
* @param schema The Schema for data read from this JsonEncoder. Cannot be
null.
* @param input The InputStream to read from. Cannot be null.
@@ -259,7 +259,7 @@ public class DecoderFactory {
/**
* Creates a {@link JsonDecoder} using the String provided for reading data
that
* conforms to the Schema provided.
- * <p/>
+ * <p>
*
* @param schema The Schema for data read from this JsonEncoder. Cannot be
null.
* @param input The String to read from. Cannot be null.
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/io/DirectBinaryDecoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/DirectBinaryDecoder.java
index ac251550da..de4c063811 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/DirectBinaryDecoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/DirectBinaryDecoder.java
@@ -28,7 +28,7 @@ import org.apache.avro.util.ByteBufferInputStream;
/**
* A non-buffering version of {@link BinaryDecoder}.
- * <p/>
+ * <p>
* This implementation will not read-ahead from the provided InputStream beyond
* the minimum required to service the API requests.
*
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/io/DirectBinaryEncoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/DirectBinaryEncoder.java
index df7c118b64..0f22592e43 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/DirectBinaryEncoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/DirectBinaryEncoder.java
@@ -23,15 +23,15 @@ import java.util.Objects;
/**
* An {@link Encoder} for Avro's binary encoding that does not buffer output.
- * <p/>
+ * <p>
* This encoder does not buffer writes, and as a result is slower than
* {@link BufferedBinaryEncoder}. However, it is lighter-weight and useful when
* the buffering in BufferedBinaryEncoder is not desired and/or the Encoder is
* very short-lived.
- * <p/>
+ * <p>
* To construct, use
* {@link EncoderFactory#directBinaryEncoder(OutputStream, BinaryEncoder)}
- * <p/>
+ * <p>
* DirectBinaryEncoder is not thread-safe
*
* @see BinaryEncoder
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/Encoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/Encoder.java
index 85d5c421fb..5c04676e1e 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/Encoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/Encoder.java
@@ -25,18 +25,18 @@ import org.apache.avro.util.Utf8;
/**
* Low-level support for serializing Avro values.
- * <p/>
+ * <p>
* This class has two types of methods. One type of methods support the writing
* of leaf values (for example, {@link #writeLong} and {@link #writeString}).
* These methods have analogs in {@link Decoder}.
- * <p/>
+ * <p>
* The other type of methods support the writing of maps and arrays. These
* methods are {@link #writeArrayStart}, {@link #startItem}, and
* {@link #writeArrayEnd} (and similar methods for maps). Some implementations
* of {@link Encoder} handle the buffering required to break large maps and
* arrays into blocks, which is necessary for applications that want to do
* streaming. (See {@link #writeArrayStart} for details on these methods.)
- * <p/>
+ * <p>
* {@link EncoderFactory} contains Encoder construction and configuration
* facilities.
*
@@ -272,6 +272,7 @@ public abstract class Encoder implements Flushable {
* something like this:
*
* <pre>
+ * {@code
* out.writeMapStart();
* out.setItemCount(list.size());
* for (Map.Entry<String, Record> entry : map.entrySet()) {
@@ -281,6 +282,7 @@ public abstract class Encoder implements Flushable {
* out.writeBoolean(entry.getValue().boolField);
* }
* out.writeMapEnd();
+ * }
* </pre>
*
* @throws AvroTypeException If this is a stateful writer and a map is not
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/io/EncoderFactory.java
b/lang/java/avro/src/main/java/org/apache/avro/io/EncoderFactory.java
index eaa83ba8ba..368c02c5ac 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/EncoderFactory.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/EncoderFactory.java
@@ -27,7 +27,7 @@ import com.fasterxml.jackson.core.JsonGenerator;
/**
* A factory for creating and configuring {@link Encoder} instances.
- * <p/>
+ * <p>
* Factory methods that create Encoder instances are thread-safe. Multiple
* instances with different configurations can be cached by an application.
*
@@ -131,7 +131,7 @@ public class EncoderFactory {
* {@link BinaryEncoder} instances created with
* #blockingBinaryEncoder(OutputStream, BinaryEncoder) will have block
buffers
* of this size.
- * <p/>
+ * <p>
*
* @see #configureBlockSize(int)
* @see #blockingBinaryEncoder(OutputStream, BinaryEncoder)
@@ -146,15 +146,15 @@ public class EncoderFactory {
* provided as the destination for written data. If <i>reuse</i> is
provided, an
* attempt will be made to reconfigure <i>reuse</i> rather than construct a
new
* instance, but this is not guaranteed, a new instance may be returned.
- * <p/>
+ * <p>
* The {@link BinaryEncoder} implementation returned may buffer its output.
Data
* may not appear on the underlying OutputStream until {@link
Encoder#flush()}
* is called. The buffer size is configured with
* {@link #configureBufferSize(int)}.
- * </p>
+ * <p>
* If buffering is not desired, and lower performance is acceptable, use
* {@link #directBinaryEncoder(OutputStream, BinaryEncoder)}
- * <p/>
+ * <p>
* {@link BinaryEncoder} instances returned by this method are not
thread-safe
*
* @param out The OutputStream to write to. Cannot be null.
@@ -182,18 +182,18 @@ public class EncoderFactory {
* provided as the destination for written data. If <i>reuse</i> is
provided, an
* attempt will be made to reconfigure <i>reuse</i> rather than construct a
new
* instance, but this is not guaranteed, a new instance may be returned.
- * <p/>
+ * <p>
* The {@link BinaryEncoder} implementation returned does not buffer its
output,
* calling {@link Encoder#flush()} will simply cause the wrapped
OutputStream to
* be flushed.
- * <p/>
+ * <p>
* Performance of unbuffered writes can be significantly slower than buffered
* writes. {@link #binaryEncoder(OutputStream, BinaryEncoder)} returns
* BinaryEncoder instances that are tuned for performance but may buffer
output.
* The unbuffered, 'direct' encoder may be desired when buffering semantics
are
* problematic, or if the lifetime of the encoder is so short that the buffer
* would not be useful.
- * <p/>
+ * <p>
* {@link BinaryEncoder} instances returned by this method are not
thread-safe.
*
* @param out The OutputStream to initialize to. Cannot be null.
@@ -222,21 +222,21 @@ public class EncoderFactory {
* provided, an attempt will be made to reconfigure <i>reuse</i> rather than
* construct a new instance, but this is not guaranteed, a new instance may
be
* returned.
- * <p/>
+ * <p>
* The {@link BinaryEncoder} implementation returned does not buffer its
output,
* calling {@link Encoder#flush()} will simply cause the wrapped
OutputStream to
* be flushed.
- * <p/>
+ * <p>
* The {@link BlockingDirectBinaryEncoder} will write the block sizes for the
* arrays and maps so efficient skipping can be done.
- * <p/>
+ * <p>
* Performance of unbuffered writes can be significantly slower than buffered
* writes. {@link #binaryEncoder(OutputStream, BinaryEncoder)} returns
* BinaryEncoder instances that are tuned for performance but may buffer
output.
* The unbuffered, 'direct' encoder may be desired when buffering semantics
are
* problematic, or if the lifetime of the encoder is so short that the buffer
* would not be useful.
- * <p/>
+ * <p>
* {@link BinaryEncoder} instances returned by this method are not
thread-safe.
*
* @param out The OutputStream to initialize to. Cannot be null.
@@ -264,17 +264,17 @@ public class EncoderFactory {
* provided as the destination for written data. If <i>reuse</i> is
provided, an
* attempt will be made to reconfigure <i>reuse</i> rather than construct a
new
* instance, but this is not guaranteed, a new instance may be returned.
- * <p/>
+ * <p>
* The {@link BinaryEncoder} implementation returned buffers its output,
calling
* {@link Encoder#flush()} is required for output to appear on the underlying
* OutputStream.
- * <p/>
+ * <p>
* The returned BinaryEncoder implements the Avro binary encoding using
blocks
* delimited with byte sizes for Arrays and Maps. This allows for some
decoders
* to skip over large Arrays or Maps without decoding the contents, but adds
* some overhead. The default block size is configured with
* {@link #configureBlockSize(int)}
- * <p/>
+ * <p>
* {@link BinaryEncoder} instances returned by this method are not
thread-safe.
*
* @param out The OutputStream to initialize to. Cannot be null.
@@ -302,10 +302,10 @@ public class EncoderFactory {
/**
* Creates a {@link JsonEncoder} using the OutputStream provided for writing
* data conforming to the Schema provided.
- * <p/>
+ * <p>
* {@link JsonEncoder} buffers its output. Data may not appear on the
underlying
* OutputStream until {@link Encoder#flush()} is called.
- * <p/>
+ * <p>
* {@link JsonEncoder} is not thread-safe.
*
* @param schema The Schema for data written to this JsonEncoder. Cannot be
@@ -321,10 +321,10 @@ public class EncoderFactory {
/**
* Creates a {@link JsonEncoder} using the OutputStream provided for writing
* data conforming to the Schema provided with optional pretty printing.
- * <p/>
+ * <p>
* {@link JsonEncoder} buffers its output. Data may not appear on the
underlying
* OutputStream until {@link Encoder#flush()} is called.
- * <p/>
+ * <p>
* {@link JsonEncoder} is not thread-safe.
*
* @param schema The Schema for data written to this JsonEncoder. Cannot be
@@ -342,10 +342,10 @@ public class EncoderFactory {
/**
* Creates a {@link JsonEncoder} using the OutputStream provided for writing
* data conforming to the Schema provided with optional pretty printing.
- * <p/>
+ * <p>
* {@link JsonEncoder} buffers its output. Data may not appear on the
underlying
* OutputStream until {@link Encoder#flush()} is called.
- * <p/>
+ * <p>
* {@link JsonEncoder} is not thread-safe.
*
* @param schema The Schema for data written to this JsonEncoder. Cannot
be
@@ -374,10 +374,10 @@ public class EncoderFactory {
/**
* Creates a {@link JsonEncoder} using the {@link JsonGenerator} provided for
* output of data conforming to the Schema provided.
- * <p/>
+ * <p>
* {@link JsonEncoder} buffers its output. Data may not appear on the
underlying
* output until {@link Encoder#flush()} is called.
- * <p/>
+ * <p>
* {@link JsonEncoder} is not thread-safe.
*
* @param schema The Schema for data written to this JsonEncoder. Cannot be
@@ -394,10 +394,10 @@ public class EncoderFactory {
* Creates a {@link ValidatingEncoder} that wraps the Encoder provided. This
* ValidatingEncoder will ensure that operations against it conform to the
* schema provided.
- * <p/>
+ * <p>
* Many {@link Encoder}s buffer their output. Data may not appear on the
* underlying output until {@link Encoder#flush()} is called.
- * <p/>
+ * <p>
* {@link ValidatingEncoder} is not thread-safe.
*
* @param schema The Schema to validate operations against. Cannot be null.
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
index 1876f87aaa..b921031f8e 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/JsonDecoder.java
@@ -40,9 +40,9 @@ import com.fasterxml.jackson.databind.util.TokenBuffer;
/**
* A {@link Decoder} for Avro's JSON data encoding.
- * </p>
+ * <p>
* Construct using {@link DecoderFactory}.
- * </p>
+ * <p>
* JsonDecoder is not thread-safe.
*/
public class JsonDecoder extends ParsingDecoder implements
Parser.ActionHandler {
@@ -81,9 +81,9 @@ public class JsonDecoder extends ParsingDecoder implements
Parser.ActionHandler
/**
* Reconfigures this JsonDecoder to use the InputStream provided.
- * <p/>
+ * <p>
* If the InputStream provided is null, a NullPointerException is thrown.
- * <p/>
+ * <p>
* Otherwise, this JsonDecoder will reset its state and then reconfigure its
* input.
*
@@ -104,9 +104,9 @@ public class JsonDecoder extends ParsingDecoder implements
Parser.ActionHandler
/**
* Reconfigures this JsonDecoder to use the String provided for input.
- * <p/>
+ * <p>
* If the String provided is null, a NullPointerException is thrown.
- * <p/>
+ * <p>
* Otherwise, this JsonDecoder will reset its state and then reconfigure its
* input.
*
diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/JsonEncoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/JsonEncoder.java
index 4613f403d0..8b72d4b799 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/JsonEncoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/JsonEncoder.java
@@ -41,12 +41,12 @@ import com.fasterxml.jackson.core.util.MinimalPrettyPrinter;
/**
* An {@link Encoder} for Avro's JSON data encoding.
- * </p>
+ * <p>
* Construct using {@link EncoderFactory}.
- * </p>
+ * <p>
* JsonEncoder buffers output, and data may not appear on the output until
* {@link Encoder#flush()} is called.
- * </p>
+ * <p>
* JsonEncoder is not thread-safe.
*/
public class JsonEncoder extends ParsingEncoder implements
Parser.ActionHandler {
@@ -120,9 +120,9 @@ public class JsonEncoder extends ParsingEncoder implements
Parser.ActionHandler
/**
* Reconfigures this JsonEncoder to use the output stream provided.
- * <p/>
+ * <p>
* If the OutputStream provided is null, a NullPointerException is thrown.
- * <p/>
+ * <p>
* Otherwise, this JsonEncoder will flush its current output and then
* reconfigure its output to use a default UTF8 JsonGenerator that writes to
the
* provided OutputStream.
@@ -138,9 +138,9 @@ public class JsonEncoder extends ParsingEncoder implements
Parser.ActionHandler
/**
* Reconfigures this JsonEncoder to use the output stream provided.
- * <p/>
+ * <p>
* If the OutputStream provided is null, a NullPointerException is thrown.
- * <p/>
+ * <p>
* Otherwise, this JsonEncoder will flush its current output and then
* reconfigure its output to use a default UTF8 JsonGenerator that writes to
the
* provided OutputStream.
@@ -161,9 +161,9 @@ public class JsonEncoder extends ParsingEncoder implements
Parser.ActionHandler
/**
* Reconfigures this JsonEncoder to output to the JsonGenerator provided.
- * <p/>
+ * <p>
* If the JsonGenerator provided is null, a NullPointerException is thrown.
- * <p/>
+ * <p>
* Otherwise, this JsonEncoder will flush its current output and then
* reconfigure its output to use the provided JsonGenerator.
*
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/io/ValidatingDecoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/ValidatingDecoder.java
index 3c5e084218..6a84885e51 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/ValidatingDecoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/ValidatingDecoder.java
@@ -31,10 +31,10 @@ import org.apache.avro.util.Utf8;
/**
* An implementation of {@link Decoder} that ensures that the sequence of
* operations conforms to a schema.
- * <p/>
+ * <p>
* Use {@link DecoderFactory#validatingDecoder(Schema, Decoder)} to construct
* and configure.
- * <p/>
+ * <p>
* ValidatingDecoder is not thread-safe.
*
* @see Decoder
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/io/ValidatingEncoder.java
b/lang/java/avro/src/main/java/org/apache/avro/io/ValidatingEncoder.java
index d61967751a..a64e295d16 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/io/ValidatingEncoder.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/io/ValidatingEncoder.java
@@ -31,10 +31,10 @@ import org.apache.avro.util.Utf8;
/**
* An implementation of {@link Encoder} that wraps another Encoder and ensures
* that the sequence of operations conforms to the provided schema.
- * <p/>
+ * <p>
* Use {@link EncoderFactory#validatingEncoder(Schema, Encoder)} to construct
* and configure.
- * <p/>
+ * <p>
* ValidatingEncoder is not thread-safe.
*
* @see Encoder
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java
b/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java
index dbed69d79b..29345c56f7 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java
@@ -246,8 +246,8 @@ public class SpecificData extends GenericData {
* Retrieve the current value of the custom-coders feature flag. Defaults to
* <code>false</code>, but this default can be overridden using the system
* property <code>org.apache.avro.specific.use_custom_coders</code>, and can
be
- * set dynamically by {@link SpecificData#useCustomCoders()}. See <a
- *
href="https://avro.apache.org/docs/current/gettingstartedjava.html#Beta+feature:+Generating+faster+code"Getting
+ * set dynamically by {@link SpecificData#useCustomCoders()}. See <a href=
+ *
"https://avro.apache.org/docs/current/gettingstartedjava.html#Beta+feature:+Generating+faster+code">Getting
* started with Java</a> for more about this feature flag.
*/
public boolean useCustomCoders() {
diff --git a/lang/java/avro/src/main/java/org/apache/avro/util/TimePeriod.java
b/lang/java/avro/src/main/java/org/apache/avro/util/TimePeriod.java
index 89496744f3..2e6922d0da 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/util/TimePeriod.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/util/TimePeriod.java
@@ -42,18 +42,18 @@ import static java.util.Objects.requireNonNull;
* <p>
* A temporal amount to model an {@link org.apache.avro.LogicalTypes.Duration
* Avro duration} (the logical type).
- * </p>
+ * <p>
*
* <p>
* It consists of a number of months, days and milliseconds, all modelled as an
* unsigned integer.
- * </p>
+ * <p>
*
* <p>
* Compared to {@link Period java.time.Period}, this class has a smaller range
* ('only' supporting a little less than 358 million years), and cannot support
* negative periods.
- * </p>
+ * <p>
*
* <p>
* Compared to {@link Duration java.time.Duration}, this class has less
@@ -61,11 +61,11 @@ import static java.util.Objects.requireNonNull;
* durations, and has a much smaller range. Where {@code java.time.Duration}
* supports fixed ranges up to about 68 years, {@code TimePeriod} can only
* handle about 49 days.
- * </p>
+ * <p>
*
* <p>
* Comparison with the regular {@code java.time} classes:
- * </p>
+ * <p>
*
* <table>
* <tr>
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/util/UtfTextUtils.java
b/lang/java/avro/src/main/java/org/apache/avro/util/UtfTextUtils.java
index 967a48bf36..bb534dd1b4 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/util/UtfTextUtils.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/util/UtfTextUtils.java
@@ -35,7 +35,7 @@ import java.nio.charset.StandardCharsets;
* is in the range U+0000-U+00FF. This heuristic works for all latin text based
* formats, which includes Avro IDL, JSON, XML, etc. If the heuristic fails,
* UTF-8 is assumed.
- * </p>
+ * <p>
*
* @see <a href="https://www.w3.org/TR/xml/#sec-guessing">XML specification,
* appendix F: Autodetection of Character Encodings (Non-Normative)</a>
@@ -141,14 +141,14 @@ public class UtfTextUtils {
* To ensure the most accurate detection, the algorithm requires at least 4
* bytes. One should only provide less than 4 bytes of data if that is all
there
* is.
- * </p>
+ * <p>
*
* <p>
* Detection is certain when a byte order mark (BOM) is used. Otherwise a
* heuristic is used, which works when the first character is from the first
256
* characters from the BMP (U+0000-U+00FF). This works for all latin-based
* textual formats, like Avro IDL, JSON, YAML, XML, etc.
- * </p>
+ * <p>
*
* @param firstFewBytes the first few bytes of the text to detect the
character
* set of
diff --git
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
index 32a7d97cca..4d5403390c 100644
---
a/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
+++
b/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
@@ -249,8 +249,8 @@ public class SpecificCompiler {
* Set to true to add @Nullable and @NotNull annotations. By default,
JetBrains
* annotations are used (org.jetbrains.annotations.Nullable and
* org.jetbrains.annotations.NotNull) but this can be overridden using
- * {@link #setNullSafeAnnotationNullable)} and
- * {@link #setNullSafeAnnotationNotNull)}.
+ * {@link #setNullSafeAnnotationNullable} and
+ * {@link #setNullSafeAnnotationNotNull}.
*/
public void setCreateNullSafeAnnotations(boolean createNullSafeAnnotations) {
this.createNullSafeAnnotations = createNullSafeAnnotations;
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/file/SortedKeyValueFile.java
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/file/SortedKeyValueFile.java
index 247f0434e6..b8bd929b87 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/file/SortedKeyValueFile.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/file/SortedKeyValueFile.java
@@ -56,11 +56,11 @@ import org.slf4j.LoggerFactory;
* keys in the 'data' file to their byte positions. The index file is intended
* to fit in memory, so it should remain small. There is one entry in the index
* file for each data block in the Avro container file.
- * </p>
+ * <p>
*
* <p>
* SortedKeyValueFile is to Avro container file as MapFile is to SequenceFile.
- * </p>
+ * <p>
*/
public class SortedKeyValueFile {
private static final Logger LOG =
LoggerFactory.getLogger(SortedKeyValueFile.class);
@@ -79,7 +79,7 @@ public class SortedKeyValueFile {
* using the key index. It performs a single disk seek to the block and loads
* the entire block into memory. The block is scanned until the key is found
or
* is determined not to exist.
- * </p>
+ * <p>
*
* @param <K> The key type.
* @param <V> The value type.
@@ -237,7 +237,7 @@ public class SortedKeyValueFile {
* <p>
* This method will move the current position in the file to the record
* immediately following the requested key.
- * </p>
+ * <p>
*
* @param key The key to look up.
* @return The value associated with the key, or null if not found.
@@ -281,12 +281,12 @@ public class SortedKeyValueFile {
*
* <p>
* Use the get() method to move the current position.
- * </p>
+ * <p>
*
* <p>
* Note that this iterator is shared with other clients of the file; it
does not
* contain a separate pointer into the file.
- * </p>
+ * <p>
*
* @return An iterator.
*/
@@ -488,7 +488,7 @@ public class SortedKeyValueFile {
* <p>
* If the index inverval is N, then every N records will be indexed into
the
* index file.
- * </p>
+ * <p>
*
* @param indexInterval The index interval.
* @return This options instance.
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroDatumConverterFactory.java
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroDatumConverterFactory.java
index a9984e08e5..da55b857f0 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroDatumConverterFactory.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroDatumConverterFactory.java
@@ -59,7 +59,7 @@ import org.apache.hadoop.mapred.JobConf;
* <li>NullWritable</li>
* <li>Text</li>
* </ul>
- * </p>
+ * <p>
*/
public class AvroDatumConverterFactory extends Configured {
/**
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroDeserializer.java
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroDeserializer.java
index 053c77a919..2c35dec41c 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroDeserializer.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroDeserializer.java
@@ -38,13 +38,13 @@ import org.apache.hadoop.io.serializer.Deserializer;
* of the WritableSerialization model, so they are wrapper in
* {@link org.apache.avro.mapred.AvroWrapper} objects and deserialization is
* handled by this class.
- * </p>
+ * <p>
*
* <p>
* MapReduce jobs that use AvroWrapper objects as keys or values need to be
* configured with {@link AvroSerialization}. Use
* {@link org.apache.avro.mapreduce.AvroJob} to help with Job configuration.
- * </p>
+ * <p>
*
* @param <T> The type of Avro wrapper.
* @param <D> The Java type of the Avro data being wrapped.
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroKeyComparator.java
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroKeyComparator.java
index ca5e7c4b07..53496dc55e 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroKeyComparator.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroKeyComparator.java
@@ -33,7 +33,7 @@ import org.apache.hadoop.io.RawComparator;
*
* <p>
* Compares AvroKeys output from the map phase for sorting.
- * </p>
+ * <p>
*/
public class AvroKeyComparator<T> extends Configured implements
RawComparator<AvroKey<T>> {
/** The schema of the Avro data in the key to compare. */
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroSequenceFile.java
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroSequenceFile.java
index 4a2207b978..7bfcf9e06d 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroSequenceFile.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroSequenceFile.java
@@ -47,7 +47,7 @@ import static
org.apache.hadoop.fs.CommonConfigurationKeysPublic.IO_FILE_BUFFER_
* The vanilla Hadoop <code>SequenceFile</code> contains a <i>header</i>
* followed by a sequence of <i>records</i>. A <i>record</i> consists of a
* <i>key</i> and a <i>value</i>. The <i>key</i> and <i>value</i> must either:
- * </p>
+ * <p>
*
* <ul>
* <li>implement the <code>Writable</code> interface, or</li>
@@ -62,11 +62,11 @@ import static
org.apache.hadoop.fs.CommonConfigurationKeysPublic.IO_FILE_BUFFER_
* implementation cannot determine whether an object instance of type
* <code>CharSequence</code> that also implements <code>Writable</code> should
* be serialized using Avro or WritableSerialization.
- * </p>
+ * <p>
*
* <p>
* The solution implemented in <code>AvroSequenceFile</code> is to:
- * </p>
+ * <p>
*
* <ul>
* <li>wrap Avro key data in an <code>AvroKey</code> object,</li>
@@ -98,7 +98,7 @@ public class AvroSequenceFile {
* Since there are different implementations of <code>Writer</code>
depending on
* the compression type, this method constructs the appropriate subclass
* depending on the compression type given in the <code>options</code>.
- * </p>
+ * <p>
*
* @param options The options for the writer.
* @return A new writer instance.
@@ -202,7 +202,7 @@ public class AvroSequenceFile {
* {@link #withKeySchema(org.apache.avro.Schema)} to specify the writer
schema.
* The key class will be automatically set to
* {@link org.apache.avro.mapred.AvroKey}.
- * </p>
+ * <p>
*
* @param keyClass The key class.
* @return This options instance.
@@ -222,7 +222,7 @@ public class AvroSequenceFile {
* The key class will automatically be set to
* {@link org.apache.avro.mapred.AvroKey}, so there is no need to call
* {@link #withKeyClass(Class)} when using this method.
- * </p>
+ * <p>
*
* @param keyWriterSchema The writer schema for the keys.
* @return This options instance.
@@ -244,7 +244,7 @@ public class AvroSequenceFile {
* {@link #withValueSchema(org.apache.avro.Schema)} to specify the writer
* schema. The value class will be automatically set to
* {@link org.apache.avro.mapred.AvroValue}.
- * </p>
+ * <p>
*
* @param valueClass The value class.
* @return This options instance.
@@ -264,7 +264,7 @@ public class AvroSequenceFile {
* The value class will automatically be set to
* {@link org.apache.avro.mapred.AvroValue}, so there is no need to call
* {@link #withValueClass(Class)} when using this method.
- * </p>
+ * <p>
*
* @param valueWriterSchema The writer schema for the values.
* @return This options instance.
@@ -614,7 +614,7 @@ public class AvroSequenceFile {
*
* <p>
* If not set, the writer schema will be used as the reader schema.
- * </p>
+ * <p>
*
* @param keyReaderSchema The reader schema for the keys.
* @return This options instance.
@@ -629,7 +629,7 @@ public class AvroSequenceFile {
*
* <p>
* If not set, the writer schema will be used as the reader schema.
- * </p>
+ * <p>
*
* @param valueReaderSchema The reader schema for the values.
* @return This options instance.
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroSerializer.java
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroSerializer.java
index f30626c91c..9e938445e9 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroSerializer.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroSerializer.java
@@ -37,13 +37,13 @@ import org.apache.hadoop.io.serializer.Serializer;
* of the WritableSerialization model, so they are wrapped in
* {@link org.apache.avro.mapred.AvroWrapper} objects and serialization is
* handled by this class.
- * </p>
+ * <p>
*
* <p>
* MapReduce jobs that use AvroWrapper objects as keys or values need to be
* configured with {@link AvroSerialization}. Use
* {@link org.apache.avro.mapreduce.AvroJob} to help with Job configuration.
- * </p>
+ * <p>
*
* @param <T> The Java type of the Avro data.
*/
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/util/AvroCharSequenceComparator.java
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/util/AvroCharSequenceComparator.java
index 2c97334d09..ce5fca3615 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/util/AvroCharSequenceComparator.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/util/AvroCharSequenceComparator.java
@@ -28,12 +28,12 @@ import java.util.Comparator;
* order is when the schema is <i>"string"</i>. The Avro string schema maps to
* the Java <code>CharSequence</code> interface, which does not define
* <code>equals</code>, <code>hashCode</code>, or <code>compareTo</code>.
- * </p>
+ * <p>
*
* <p>
* Using this comparator enables comparisons between <code>String</code> and
* <code>Utf8</code> objects that are both valid when working with Avro
strings.
- * </p>
+ * <p>
*
* @param <T> The type of object to compare.
*/
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroMultipleInputs.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroMultipleInputs.java
index 5d6884413a..59e53f8772 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroMultipleInputs.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroMultipleInputs.java
@@ -38,10 +38,10 @@ import org.slf4j.LoggerFactory;
*
* <p>
* Usage:
- * </p>
+ * <p>
* <p>
* <strong>Case 1: (ReflectData based inputs)</strong>
- * </p>
+ * <p>
*
* <pre>
* // Enable ReflectData usage across job.
@@ -70,7 +70,7 @@ import org.slf4j.LoggerFactory;
*
* <p>
* <strong>Case 2: (SpecificData based inputs)</strong>
- * </p>
+ * <p>
*
* <pre>
* Schema type1Schema = Type1Record.SCHEMA$;
@@ -97,14 +97,14 @@ import org.slf4j.LoggerFactory;
* <p>
* <strong>Note on InputFormat:</strong> The InputFormat used will always be
* {@link AvroInputFormat} when using this class.
- * </p>
+ * <p>
* <p>
* <strong>Note on collector outputs:</strong> When using this class, you will
* need to ensure that the mapper implementations involved must all emit the
* same Key type and Value record types, as set by
* {@link AvroJob#setOutputSchema(JobConf, Schema)} or
* {@link AvroJob#setMapOutputSchema(JobConf, Schema)}.
- * </p>
+ * <p>
*/
public class AvroMultipleInputs {
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroMultipleOutputs.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroMultipleOutputs.java
index 20bd29c216..5735a66320 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroMultipleOutputs.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroMultipleOutputs.java
@@ -50,10 +50,10 @@ import org.apache.hadoop.io.NullWritable;
* <code>Schema</code> and <code>OutputFormat</code>. A named output can be a
* single file or a multi file. The later is refered as a multi named output
* which is an unbound set of files all sharing the same <code>Schema</code>.
- * </p>
+ * <p>
* <p>
* Case two: to write data to different files provided by user
- * </p>
+ * <p>
*
* <p>
* AvroMultipleOutputs supports counters, by default they are disabled. The
@@ -62,7 +62,7 @@ import org.apache.hadoop.io.NullWritable;
* records written to each output name. For multi named outputs the name of the
* counter is the concatenation of the named output, and underscore '_' and the
* multiname.
- * </p>
+ * <p>
*
* Usage pattern for job submission:
*
@@ -246,7 +246,7 @@ public class AvroMultipleOutputs {
/**
* Adds a named output for the job.
- * <p/>
+ * <p>
*
* @param conf job conf to add the named output
* @param namedOutput named output name, it has to be a word, letters
and
@@ -262,7 +262,7 @@ public class AvroMultipleOutputs {
/**
* Adds a multi named output for the job.
- * <p/>
+ * <p>
*
* @param conf job conf to add the named output
* @param namedOutput named output name, it has to be a word, letters
and
@@ -278,7 +278,7 @@ public class AvroMultipleOutputs {
/**
* Adds a named output for the job.
- * <p/>
+ * <p>
*
* @param conf job conf to add the named output
* @param namedOutput named output name, it has to be a word, letters
and
@@ -301,12 +301,12 @@ public class AvroMultipleOutputs {
/**
* Enables or disables counters for the named outputs.
- * <p/>
+ * <p>
* By default these counters are disabled.
- * <p/>
+ * <p>
* MultipleOutputs supports counters, by default the are disabled. The
counters
* group is the {@link AvroMultipleOutputs} class name.
- * </p>
+ * <p>
* The names of the counters are the same as the named outputs. For multi
named
* outputs the name of the counter is the concatenation of the named output,
and
* underscore '_' and the multiname.
@@ -320,12 +320,12 @@ public class AvroMultipleOutputs {
/**
* Returns if the counters for the named outputs are enabled or not.
- * <p/>
+ * <p>
* By default these counters are disabled.
- * <p/>
+ * <p>
* MultipleOutputs supports counters, by default the are disabled. The
counters
* group is the {@link AvroMultipleOutputs} class name.
- * </p>
+ * <p>
* The names of the counters are the same as the named outputs. For multi
named
* outputs the name of the counter is the concatenation of the named output,
and
* underscore '_' and the multiname.
@@ -422,7 +422,7 @@ public class AvroMultipleOutputs {
/**
* Output Collector for the default schema.
- * <p/>
+ * <p>
*
* @param namedOutput the named output name
* @param reporter the reporter
@@ -435,7 +435,7 @@ public class AvroMultipleOutputs {
/**
* OutputCollector with custom schema.
- * <p/>
+ * <p>
*
* @param namedOutput the named output name (this will the output file name)
* @param reporter the reporter
@@ -449,7 +449,7 @@ public class AvroMultipleOutputs {
/**
* OutputCollector with custom schema and file name.
- * <p/>
+ * <p>
*
* @param namedOutput the named output name
* @param reporter the reporter
@@ -465,7 +465,7 @@ public class AvroMultipleOutputs {
/**
* Gets the output collector for a named output.
- * <p/>
+ * <p>
*
* @param namedOutput the named output name
* @param reporter the reporter
@@ -485,7 +485,7 @@ public class AvroMultipleOutputs {
/**
* Gets the output collector for a named output.
- * <p/>
+ * <p>
*
* @param namedOutput the named output name
* @param reporter the reporter
@@ -500,7 +500,7 @@ public class AvroMultipleOutputs {
/**
* Gets the output collector for a multi named output.
- * <p/>
+ * <p>
*
* @param namedOutput the named output name
* @param multiName the multi name part
@@ -543,7 +543,7 @@ public class AvroMultipleOutputs {
/**
* Closes all the opened named outputs.
- * <p/>
+ * <p>
* If overriden subclasses must invoke <code>super.close()</code> at the end
of
* their <code>close()</code>
*
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroOutputFormat.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroOutputFormat.java
index 88ac1cd73f..abefef9ecc 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroOutputFormat.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapred/AvroOutputFormat.java
@@ -50,7 +50,7 @@ import static
org.apache.avro.file.CodecFactory.DEFAULT_ZSTANDARD_BUFFERPOOL;
/**
* An {@link org.apache.hadoop.mapred.OutputFormat} for Avro data files.
- * <p/>
+ * <p>
* You can specify various options using Job Configuration properties. Look at
* the fields in {@link AvroJob} as well as this class to get an overview of
the
* supported options.
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapred/DelegatingMapper.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapred/DelegatingMapper.java
index 47abf38c9c..b1bcac1c96 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapred/DelegatingMapper.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapred/DelegatingMapper.java
@@ -34,7 +34,8 @@ import org.apache.hadoop.util.ReflectionUtils;
* map() call instead of during configure(), as we rely on the split object to
* provide us that information.
*
- * @see {@link AvroMultipleInputs#addInputPath(JobConf, Path, Class, Schema)}
+ * @see AvroMultipleInputs#addInputPath(org.apache.hadoop.mapred.JobConf,
+ * org.apache.hadoop.fs.Path, Class, org.apache.avro.Schema)
*/
class DelegatingMapper<IN, OUT, K, V, KO, VO> extends MapReduceBase
implements Mapper<AvroWrapper<IN>, NullWritable, KO, VO> {
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapred/tether/TetheredProcess.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapred/tether/TetheredProcess.java
index cce9bfab95..5907dcd9c5 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapred/tether/TetheredProcess.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapred/tether/TetheredProcess.java
@@ -68,7 +68,7 @@ class TetheredProcess {
*/
public enum Protocol {
HTTP, SASL, NONE
- };
+ }
// which protocol we are using
Protocol proto;
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroJob.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroJob.java
index 03429d9c75..ac6c5271b3 100644
--- a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroJob.java
+++ b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroJob.java
@@ -35,7 +35,7 @@ import org.apache.hadoop.mapreduce.Job;
* When using Avro data as MapReduce keys and values, data must be wrapped in a
* suitable AvroWrapper implementation. MapReduce keys must be wrapped in an
* AvroKey object, and MapReduce values must be wrapped in an AvroValue object.
- * </p>
+ * <p>
*
* <p>
* Suppose you would like to write a line count mapper that reads from a text
@@ -46,7 +46,7 @@ import org.apache.hadoop.mapreduce.Job;
* the <code>setMapOutputKeySchema()</code> and
* <code>setMapOutputValueSchema()</code> methods to set writer schemas for the
* records you will generate.
- * </p>
+ * <p>
*/
public final class AvroJob {
/** Disable the constructor for this utility class. */
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyInputFormat.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyInputFormat.java
index 5323361d75..4f901bbdf8 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyInputFormat.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyInputFormat.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
* Keys are AvroKey wrapper objects that contain the Avro data. Since Avro
* container files store only records (not key/value pairs), the value from
this
* InputFormat is a NullWritable.
- * </p>
+ * <p>
*/
public class AvroKeyInputFormat<T> extends FileInputFormat<AvroKey<T>,
NullWritable> {
private static final Logger LOG =
LoggerFactory.getLogger(AvroKeyInputFormat.class);
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyOutputFormat.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyOutputFormat.java
index 0bb2b1d678..dd3fd039a9 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyOutputFormat.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyOutputFormat.java
@@ -37,7 +37,7 @@ import org.apache.hadoop.mapreduce.TaskAttemptContext;
* <p>
* Since Avro container files only contain records (not key/value pairs), this
* output format ignores the value.
- * </p>
+ * <p>
*
* @param <T> The (java) type of the Avro data to write.
*/
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueInputFormat.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueInputFormat.java
index 1f2129576a..7ef91753e9 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueInputFormat.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueInputFormat.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
* and 'value' are expected. The contents of the 'key' field will be used as
the
* job input key, and the contents of the 'value' field will be used as the job
* output value.
- * </p>
+ * <p>
*
* @param <K> The type of the Avro key to read.
* @param <V> The type of the Avro value to read.
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueOutputFormat.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueOutputFormat.java
index 5c0894c5df..cf4bdcfe52 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueOutputFormat.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueOutputFormat.java
@@ -36,14 +36,14 @@ import org.apache.hadoop.mapreduce.TaskAttemptContext;
* Since Avro container files can only contain records (not key/value pairs),
* this output format puts the key and value into an Avro generic record with
* two fields, named 'key' and 'value'.
- * </p>
+ * <p>
*
* <p>
* The keys and values given to this output format may be Avro objects wrapped
* in <code>AvroKey</code> or <code>AvroValue</code> objects. The basic
Writable
* types are also supported (e.g., IntWritable, Text); they will be converted
to
* their corresponding Avro types.
- * </p>
+ * <p>
*
* @param <K> The type of key. If an Avro type, it must be wrapped in an
* <code>AvroKey</code>.
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueRecordReader.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueRecordReader.java
index a6b7f7aaa3..785e1e4ac9 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueRecordReader.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueRecordReader.java
@@ -33,7 +33,7 @@ import org.apache.avro.mapred.AvroValue;
* <p>
* The contents of the 'key' field will be parsed into an AvroKey object. The
* contents of the 'value' field will be parsed into an AvroValue object.
- * </p>
+ * <p>
*
* @param <K> The type of the Avro key to read.
* @param <V> The type of the Avro value to read.
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueRecordWriter.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueRecordWriter.java
index 8fa3ed78cd..ebd6b78703 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueRecordWriter.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyValueRecordWriter.java
@@ -41,7 +41,7 @@ import org.apache.hadoop.mapreduce.TaskAttemptContext;
* objects like Text or IntWritable, or they may be AvroWrapper subclasses
* (AvroKey or AvroValue). Writable objects will be converted to their
* corresponding Avro types when written to the generic record key/value pair.
- * </p>
+ * <p>
*
* @param <K> The type of key to write.
* @param <V> The type of value to write.
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroMultipleOutputs.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroMultipleOutputs.java
index 68d44149ba..39d3762b15 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroMultipleOutputs.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroMultipleOutputs.java
@@ -49,17 +49,17 @@ import org.apache.hadoop.util.ReflectionUtils;
*
* Each additional output, or named output, may be configured with its own
* <code>Schema</code> and <code>OutputFormat</code>.
- * </p>
+ * <p>
* <p>
* Case two: to write data to different files provided by user
- * </p>
+ * <p>
*
* <p>
* AvroMultipleOutputs supports counters, by default they are disabled. The
* counters group is the {@link AvroMultipleOutputs} class name. The names of
* the counters are the same as the output name. These count the number of
* records written to each output name.
- * </p>
+ * <p>
*
* Usage pattern for job submission:
*
@@ -216,7 +216,7 @@ public class AvroMultipleOutputs {
/**
* Adds a named output for the job.
- * <p/>
+ * <p>
*
* @param job job to add the named output
* @param namedOutput named output name, it has to be a word, letters
and
@@ -233,7 +233,7 @@ public class AvroMultipleOutputs {
/**
* Adds a named output for the job.
- * <p/>
+ * <p>
*
* @param job job to add the named output
* @param namedOutput named output name, it has to be a word, letters
and
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroRecordReaderBase.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroRecordReaderBase.java
index 551216d50c..6941444740 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroRecordReaderBase.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroRecordReaderBase.java
@@ -161,7 +161,7 @@ public abstract class AvroRecordReaderBase<K, V, T> extends
RecordReader<K, V> {
*
* <p>
* Calling <code>nextKeyValue()</code> moves this to the next record.
- * </p>
+ * <p>
*
* @return The current Avro record (may be null if no record has been read).
*/
diff --git
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroSequenceFileInputFormat.java
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroSequenceFileInputFormat.java
index c10487ff9e..cabee8d7de 100644
---
a/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroSequenceFileInputFormat.java
+++
b/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroSequenceFileInputFormat.java
@@ -52,7 +52,7 @@ public class AvroSequenceFileInputFormat<K, V> extends
SequenceFileInputFormat<K
* <p>
* This class is based on Hadoop's SequenceFileRecordReader, modified to
* construct an AvroSequenceFile.Reader instead of a SequenceFile.Reader.
- * </p>
+ * <p>
*/
protected class AvroSequenceFileRecordReader extends RecordReader<K, V> {
private SequenceFile.Reader mReader;
diff --git
a/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/AbstractAvroMojo.java
b/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/AbstractAvroMojo.java
index 5615df36e3..93a3b69269 100644
---
a/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/AbstractAvroMojo.java
+++
b/lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/AbstractAvroMojo.java
@@ -410,7 +410,7 @@ public abstract class AbstractAvroMojo extends AbstractMojo
{
protected void doCompile(String filename, File sourceDirectory, File
outputDirectory) throws IOException {
throw new UnsupportedOperationException(
"Programmer error: AbstractAvroMojo.doCompile(String, java.io.File,
java.io.File) called directly");
- };
+ }
protected void doCompile(File sourceFileForModificationDetection,
Collection<Schema> schemas, File outputDirectory)
throws IOException {
diff --git
a/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtoConversions.java
b/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtoConversions.java
index c65d0eb573..84f2dc7331 100644
---
a/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtoConversions.java
+++
b/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtoConversions.java
@@ -41,7 +41,7 @@ public class ProtoConversions {
// timestamp precise of conversion from long
private enum TimestampPrecise {
Millis, Micros, Nanos
- };
+ }
public static class TimestampMillisConversion extends Conversion<Timestamp> {
@Override
diff --git
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyInputFormat.java
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyInputFormat.java
index 086187bef3..4f9cc204ea 100644
---
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyInputFormat.java
+++
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyInputFormat.java
@@ -40,7 +40,7 @@ import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
* Keys are AvroKey wrapper objects that contain the Trevni data. Since Trevni
* container files store only records (not key/value pairs), the value from
this
* InputFormat is a NullWritable.
- * </p>
+ * <p>
*
* <p>
* A subset schema to be read may be specified with
diff --git
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyOutputFormat.java
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyOutputFormat.java
index 8079b80109..15c2d24a7a 100644
---
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyOutputFormat.java
+++
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyOutputFormat.java
@@ -39,7 +39,7 @@ import
org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
* <p>
* Since Trevni container files only contain records (not key/value pairs),
this
* output format ignores the value.
- * </p>
+ * <p>
*
* @param <T> The (java) type of the Trevni data to write.
*
diff --git
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueInputFormat.java
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueInputFormat.java
index 33329cc526..f66d3f9819 100644
---
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueInputFormat.java
+++
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueInputFormat.java
@@ -42,7 +42,7 @@ import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
* 'key' and 'value' are expected. The contents of the 'key' field will be used
* as the job input key, and the contents of the 'value' field will be used as
* the job output value.
- * </p>
+ * <p>
*
* @param <K> The type of the Trevni key to read.
* @param <V> The type of the Trevni value to read.
diff --git
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueOutputFormat.java
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueOutputFormat.java
index a56400b2b3..fe3e45b8d0 100644
---
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueOutputFormat.java
+++
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueOutputFormat.java
@@ -40,14 +40,14 @@ import
org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
* Since Trevni container files can only contain records (not key/value pairs),
* this output format puts the key and value into an Avro generic record with
* two fields, named 'key' and 'value'.
- * </p>
+ * <p>
*
* <p>
* The keys and values given to this output format may be Avro objects wrapped
* in <code>AvroKey</code> or <code>AvroValue</code> objects. The basic
Writable
* types are also supported (e.g., IntWritable, Text); they will be converted
to
* their corresponding Avro types.
- * </p>
+ * <p>
*
* @param <K> The type of key. If an Avro type, it must be wrapped in an
* <code>AvroKey</code>.
diff --git
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueRecordReader.java
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueRecordReader.java
index 128fa3370d..8f8f7af158 100644
---
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueRecordReader.java
+++
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueRecordReader.java
@@ -32,7 +32,7 @@ import org.apache.avro.mapred.AvroValue;
* <p>
* The contents of the 'key' field will be parsed into an AvroKey object. The
* contents of the 'value' field will be parsed into an AvroValue object.
- * </p>
+ * <p>
*
* @param <K> The type of the Avro key to read.
* @param <V> The type of the Avro value to read.
diff --git
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueRecordWriter.java
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueRecordWriter.java
index 34d23a3c67..96f456b850 100644
---
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueRecordWriter.java
+++
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniKeyValueRecordWriter.java
@@ -39,7 +39,7 @@ import org.apache.hadoop.mapreduce.TaskAttemptContext;
* objects like Text or IntWritable, or they may be AvroWrapper subclasses
* (AvroKey or AvroValue). Writable objects will be converted to their
* corresponding Avro types when written to the generic record key/value pair.
- * </p>
+ * <p>
*
* @param <K> The type of key to write.
* @param <V> The type of value to write.
diff --git
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniRecordReaderBase.java
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniRecordReaderBase.java
index 3e862c67f4..316ccaeaf6 100644
---
a/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniRecordReaderBase.java
+++
b/lang/java/trevni/avro/src/main/java/org/apache/trevni/avro/mapreduce/AvroTrevniRecordReaderBase.java
@@ -85,7 +85,7 @@ public abstract class AvroTrevniRecordReaderBase<K, V, T>
extends RecordReader<K
*
* <p>
* Calling <code>nextKeyValue()</code> moves this to the next record.
- * </p>
+ * <p>
*
* @return The current Trevni record (may be null if no record has been
read).
*/
diff --git a/pom.xml b/pom.xml
index 6693fc4cdf..14ea4497ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,7 +49,7 @@
<!-- plugin versions -->
<apache-rat-plugin.version>0.18</apache-rat-plugin.version>
<checkstyle-plugin.version>3.6.0</checkstyle-plugin.version>
- <checkstyle.version>13.3.0</checkstyle.version>
+ <checkstyle.version>14.4.0</checkstyle.version>
<enforcer-plugin.version>3.7.0</enforcer-plugin.version>
<extra-enforcer-rules.version>1.12.1</extra-enforcer-rules.version>
<maven-antrun-plugin.version>3.2.0</maven-antrun-plugin.version>