This is an automated email from the ASF dual-hosted git repository.

chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fory.git


The following commit(s) were added to refs/heads/main by this push:
     new fc0274ff3 chore(java): Clean up Javadoc warnings, and fail the build 
if any new ones are introduced (#3477)
fc0274ff3 is described below

commit fc0274ff3431eb68e6b0e61316f95d3b90a6e03d
Author: Steven Schlansker <[email protected]>
AuthorDate: Sun Mar 15 20:44:08 2026 -0700

    chore(java): Clean up Javadoc warnings, and fail the build if any new ones 
are introduced (#3477)
    
    ## Why?
    
    Javadoc build currently emits many warnings, which are lost in build
    output and ignored.
    
    ## What does this PR do?
    
    Fix the ones that are there, and turn on fail mode, so future warnings
    cannot be introduced.
---
 .../java/org/apache/fory/annotation/ForyField.java    |  4 ++--
 .../java/org/apache/fory/annotation/Int32Type.java    |  4 ++--
 .../java/org/apache/fory/annotation/Int64Type.java    |  6 +++---
 .../org/apache/fory/annotation/Int8ArrayType.java     |  2 +-
 .../org/apache/fory/annotation/Uint16ArrayType.java   |  2 +-
 .../java/org/apache/fory/annotation/Uint16Type.java   |  2 +-
 .../org/apache/fory/annotation/Uint32ArrayType.java   |  2 +-
 .../java/org/apache/fory/annotation/Uint32Type.java   |  4 ++--
 .../org/apache/fory/annotation/Uint64ArrayType.java   |  2 +-
 .../java/org/apache/fory/annotation/Uint64Type.java   |  6 +++---
 .../org/apache/fory/annotation/Uint8ArrayType.java    |  2 +-
 .../java/org/apache/fory/annotation/Uint8Type.java    |  2 +-
 .../main/java/org/apache/fory/codegen/Expression.java |  5 +++--
 .../org/apache/fory/collection/ForyObjectMap.java     |  7 ++++++-
 .../main/java/org/apache/fory/collection/LongMap.java |  5 ++++-
 .../java/org/apache/fory/collection/ObjectArray.java  |  2 +-
 .../java/org/apache/fory/config/LongEncoding.java     | 10 +++++-----
 .../main/java/org/apache/fory/memory/BitUtils.java    |  6 +++---
 .../java/org/apache/fory/memory/MemoryBuffer.java     |  8 ++++----
 .../main/java/org/apache/fory/resolver/RefMode.java   |  2 +-
 .../java/org/apache/fory/resolver/RefResolver.java    |  5 +++--
 .../java/org/apache/fory/resolver/TypeResolver.java   |  6 +++---
 .../serializer/MetaSharedLayerSerializerBase.java     |  2 +-
 .../src/main/java/org/apache/fory/type/Types.java     |  2 +-
 .../main/java/org/apache/fory/util/MurmurHash3.java   |  2 +-
 .../org/apache/fory/util/StringEncodingUtils.java     |  4 ++--
 .../fory/format/encoder/BaseBinaryEncoderBuilder.java |  6 ++++--
 .../apache/fory/format/row/binary/BinaryArray.java    |  5 +++--
 java/fory-simd/pom.xml                                |  3 ++-
 java/pom.xml                                          | 19 ++++++++++++-------
 30 files changed, 78 insertions(+), 59 deletions(-)

diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/ForyField.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/ForyField.java
index a43ad2db9..809daea78 100644
--- a/java/fory-core/src/main/java/org/apache/fory/annotation/ForyField.java
+++ b/java/fory-core/src/main/java/org/apache/fory/annotation/ForyField.java
@@ -52,8 +52,8 @@ public @interface ForyField {
    * Field tag ID for schema evolution mode.
    *
    * <ul>
-   *   <li>When >= 0: Uses this numeric ID instead of field name string for 
compact encoding
-   *   <li>When -1 (default): Uses field name with meta string encoding
+   *   <li>When {@code >= 0}: Uses this numeric ID instead of field name 
string for compact encoding
+   *   <li>When {@code -1} (default): Uses field name with meta string encoding
    * </ul>
    *
    * <p>Must be unique within the class (except -1) and stable across versions.
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Int32Type.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Int32Type.java
index 7d8048feb..b98748914 100644
--- a/java/fory-core/src/main/java/org/apache/fory/annotation/Int32Type.java
+++ b/java/fory-core/src/main/java/org/apache/fory/annotation/Int32Type.java
@@ -41,10 +41,10 @@ import java.lang.annotation.Target;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Int32Type(compress = true)  // Uses varint encoding (default)
+ *   {@literal @}Int32Type(compress = true)  // Uses varint encoding (default)
  *   int compactId;
  *
- *   @Int32Type(compress = false) // Uses fixed 4-byte encoding
+ *   {@literal @}Int32Type(compress = false) // Uses fixed 4-byte encoding
  *   int fixedId;
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Int64Type.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Int64Type.java
index e03c266cd..06360e7ae 100644
--- a/java/fory-core/src/main/java/org/apache/fory/annotation/Int64Type.java
+++ b/java/fory-core/src/main/java/org/apache/fory/annotation/Int64Type.java
@@ -43,13 +43,13 @@ import org.apache.fory.config.LongEncoding;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Int64Type(encoding = LongEncoding.VARINT64)  // Variable-length (default)
+ *   {@literal @}Int64Type(encoding = LongEncoding.VARINT64)  // 
Variable-length (default)
  *   long compactId;
  *
- *   @Int64Type(encoding = LongEncoding.FIXED_INT64)     // Fixed 8-byte
+ *   {@literal @}Int64Type(encoding = LongEncoding.FIXED_INT64)     // Fixed 
8-byte
  *   long fixedTimestamp;
  *
- *   @Int64Type(encoding = LongEncoding.TAGGED_INT64) // Tagged encoding
+ *   {@literal @}Int64Type(encoding = LongEncoding.TAGGED_INT64) // Tagged 
encoding
  *   long taggedValue;
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Int8ArrayType.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Int8ArrayType.java
index afb52c381..8457f0c9a 100644
--- a/java/fory-core/src/main/java/org/apache/fory/annotation/Int8ArrayType.java
+++ b/java/fory-core/src/main/java/org/apache/fory/annotation/Int8ArrayType.java
@@ -37,7 +37,7 @@ import java.lang.annotation.Target;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Int8ArrayType
+ *   {@literal @}Int8ArrayType
  *   byte[] data;  // Will be serialized as signed 8-bit array
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint16ArrayType.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint16ArrayType.java
index 710273bd4..b3ebcecda 100644
--- 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint16ArrayType.java
+++ 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint16ArrayType.java
@@ -38,7 +38,7 @@ import java.lang.annotation.Target;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Uint16ArrayType
+ *   {@literal @}Uint16ArrayType
  *   short[] ports;  // Will be serialized as unsigned 16-bit array
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint16Type.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint16Type.java
index f93d89d66..0b15ddc02 100644
--- a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint16Type.java
+++ b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint16Type.java
@@ -38,7 +38,7 @@ import java.lang.annotation.Target;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Uint16Type
+ *   {@literal @}Uint16Type
  *   int port;  // Will be serialized as unsigned 16-bit [0, 65535]
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint32ArrayType.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint32ArrayType.java
index a513782a1..a09c20e66 100644
--- 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint32ArrayType.java
+++ 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint32ArrayType.java
@@ -38,7 +38,7 @@ import java.lang.annotation.Target;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Uint32ArrayType
+ *   {@literal @}Uint32ArrayType
  *   int[] counts;  // Will be serialized as unsigned 32-bit array
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint32Type.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint32Type.java
index 2470567e3..bf7b1f7bd 100644
--- a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint32Type.java
+++ b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint32Type.java
@@ -50,10 +50,10 @@ import java.lang.annotation.Target;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Uint32Type(compress = true)  // Uses varuint encoding (default)
+ *   {@literal @}Uint32Type(compress = true)  // Uses varuint encoding 
(default)
  *   long compactCount;
  *
- *   @Uint32Type(compress = false) // Uses fixed 4-byte encoding
+ *   {@literal @}Uint32Type(compress = false) // Uses fixed 4-byte encoding
  *   long fixedCount;
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint64ArrayType.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint64ArrayType.java
index 7ac834ebb..b1f4630bd 100644
--- 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint64ArrayType.java
+++ 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint64ArrayType.java
@@ -38,7 +38,7 @@ import java.lang.annotation.Target;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Uint64ArrayType
+ *   {@literal @}Uint64ArrayType
  *   long[] timestamps;  // Will be serialized as unsigned 64-bit array
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint64Type.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint64Type.java
index 9f550d5c4..638756eeb 100644
--- a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint64Type.java
+++ b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint64Type.java
@@ -55,13 +55,13 @@ import org.apache.fory.config.LongEncoding;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Uint64Type(encoding = LongEncoding.VARINT64)  // Variable-length 
(default)
+ *   {@literal @}Uint64Type(encoding = LongEncoding.VARINT64)  // 
Variable-length (default)
  *   long compactId;
  *
- *   @Uint64Type(encoding = LongEncoding.FIXED_INT64)     // Fixed 8-byte
+ *   {@literal @}Uint64Type(encoding = LongEncoding.FIXED_INT64)     // Fixed 
8-byte
  *   long fixedTimestamp;
  *
- *   @Uint64Type(encoding = LongEncoding.TAGGED_INT64) // Tagged encoding
+ *   {@literal @}Uint64Type(encoding = LongEncoding.TAGGED_INT64) // Tagged 
encoding
  *   long taggedValue;
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint8ArrayType.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint8ArrayType.java
index 4ccb12985..932df3017 100644
--- 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint8ArrayType.java
+++ 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint8ArrayType.java
@@ -38,7 +38,7 @@ import java.lang.annotation.Target;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Uint8ArrayType
+ *   {@literal @}Uint8ArrayType
  *   byte[] data;  // Will be serialized as unsigned 8-bit array
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint8Type.java 
b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint8Type.java
index 2393278a2..90fa33977 100644
--- a/java/fory-core/src/main/java/org/apache/fory/annotation/Uint8Type.java
+++ b/java/fory-core/src/main/java/org/apache/fory/annotation/Uint8Type.java
@@ -38,7 +38,7 @@ import java.lang.annotation.Target;
  *
  * <pre>{@code
  * public class MyStruct {
- *   @Uint8Type
+ *   {@literal @}Uint8Type
  *   short flags;  // Will be serialized as unsigned 8-bit [0, 255]
  * }
  * }</pre>
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/codegen/Expression.java 
b/java/fory-core/src/main/java/org/apache/fory/codegen/Expression.java
index 5f5dc3b02..7bd76da38 100644
--- a/java/fory-core/src/main/java/org/apache/fory/codegen/Expression.java
+++ b/java/fory-core/src/main/java/org/apache/fory/codegen/Expression.java
@@ -85,8 +85,8 @@ import org.apache.fory.util.function.SerializableTriFunction;
 public interface Expression {
 
   /**
-   * Returns the Class<?> of the result of evaluating this expression. It is 
invalid to query the
-   * type of unresolved expression (i.e., when `resolved` == false).
+   * Returns the type of the result of evaluating this expression. It is 
invalid to query the type
+   * of unresolved expression (i.e., when `resolved` == false).
    */
   TypeRef<?> type();
 
@@ -845,6 +845,7 @@ public interface Expression {
       return new ExprCode(codeBuilder.toString(), null, null);
     }
 
+    @Override
     public String toString() {
       return String.format("SetField(%s, %s, %s)", targetObject, fieldName, 
fieldValue);
     }
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/collection/ForyObjectMap.java 
b/java/fory-core/src/main/java/org/apache/fory/collection/ForyObjectMap.java
index 742e7f57f..c47f9ade3 100644
--- a/java/fory-core/src/main/java/org/apache/fory/collection/ForyObjectMap.java
+++ b/java/fory-core/src/main/java/org/apache/fory/collection/ForyObjectMap.java
@@ -118,7 +118,7 @@ public class ForyObjectMap<K, V> {
   }
 
   /**
-   * Returns an index >= 0 and <= {@link #mask} for the specified {@code item}.
+   * Returns an {@code index >= 0 and <= mask} for the specified {@code item}.
    *
    * <p>The default implementation uses Fibonacci hashing on the item's {@link 
Object#hashCode()}:
    * the hashcode is multiplied by a long constant (2 to the 64th, divided by 
the golden ratio) then
@@ -134,6 +134,8 @@ public class ForyObjectMap<K, V> {
    * event that most hashcodes are Fibonacci numbers, if keys provide poor or 
incorrect hashcodes,
    * or to simplify hashing if keys provide high quality hashcodes and don't 
need Fibonacci hashing:
    * {@code return item.hashCode() & mask;}
+   *
+   * @see #mask
    */
   protected int place(K item) {
     return (int) (item.hashCode() * MASK_NUMBER >>> shift);
@@ -351,6 +353,7 @@ public class ForyObjectMap<K, V> {
     }
   }
 
+  @Override
   public int hashCode() {
     int h = size;
     K[] keyTable = this.keyTable;
@@ -368,6 +371,7 @@ public class ForyObjectMap<K, V> {
     return h;
   }
 
+  @Override
   public boolean equals(Object obj) {
     if (obj == this) {
       return true;
@@ -403,6 +407,7 @@ public class ForyObjectMap<K, V> {
     return toString(separator, false);
   }
 
+  @Override
   public String toString() {
     return toString(", ", true);
   }
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/collection/LongMap.java 
b/java/fory-core/src/main/java/org/apache/fory/collection/LongMap.java
index ff8820074..fb3f4b5e6 100644
--- a/java/fory-core/src/main/java/org/apache/fory/collection/LongMap.java
+++ b/java/fory-core/src/main/java/org/apache/fory/collection/LongMap.java
@@ -125,7 +125,7 @@ public class LongMap<V> {
   }
 
   /**
-   * Returns an index >= 0 and <= {@link #mask} for the specified {@code item}.
+   * Returns an {@code index >= 0 and <= mask} for the specified {@code item}.
    *
    * <p>The default implementation uses Fibonacci hashing on the item's {@link 
Object#hashCode()}:
    * the hashcode is multiplied by a long constant (2 to the 64th, divided by 
the golden ratio) then
@@ -141,6 +141,8 @@ public class LongMap<V> {
    * event that most hashcodes are Fibonacci numbers, if keys provide poor or 
incorrect hashcodes,
    * or to simplify hashing if keys provide high quality hashcodes and don't 
need Fibonacci hashing:
    * {@code return item.hashCode() & mask;}
+   *
+   * @see #mask
    */
   protected int place(long item) {
     return (int) (item * MASK_NUMBER >>> shift);
@@ -344,6 +346,7 @@ public class LongMap<V> {
     }
   }
 
+  @Override
   public String toString() {
     if (size == 0) {
       return "[]";
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/collection/ObjectArray.java 
b/java/fory-core/src/main/java/org/apache/fory/collection/ObjectArray.java
index 98d8b3ed6..2ebf3db05 100644
--- a/java/fory-core/src/main/java/org/apache/fory/collection/ObjectArray.java
+++ b/java/fory-core/src/main/java/org/apache/fory/collection/ObjectArray.java
@@ -96,7 +96,7 @@ public final class ObjectArray<T> {
 
   /**
    * Set all object array elements to null. This method is faster than {@link 
Arrays#fill} for large
-   * arrays (> 128).
+   * arrays ({@code > 128}).
    */
   public static void clearObjectArray(Object[] objects, int start, int size) {
     if (size < COPY_THRESHOLD) {
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/config/LongEncoding.java 
b/java/fory-core/src/main/java/org/apache/fory/config/LongEncoding.java
index f6c598e98..b7acee1b6 100644
--- a/java/fory-core/src/main/java/org/apache/fory/config/LongEncoding.java
+++ b/java/fory-core/src/main/java/org/apache/fory/config/LongEncoding.java
@@ -26,9 +26,9 @@ package org.apache.fory.config;
 public enum LongEncoding {
   /**
    * Fory Tagged int64 Encoding:
-   * <li>If long is in [0xc0000000, 0x3fffffff], encode as 4 bytes int: `| 
little-endian: ((int)
-   *     value) << 1 |`
-   * <li>Otherwise write as 9 bytes: `| 0b1 | little-endian 8bytes long |`.
+   * <li>If long is in [0xc0000000, 0x3fffffff], encode as 4 bytes int: {@code 
| little-endian:
+   *     ((int) value) << 1 |}
+   * <li>Otherwise write as 9 bytes: {@code | 0b1 | little-endian 8bytes long 
|}.
    *
    *     <p>Faster than {@link #VARINT}, but compression is not good as {@link 
#VARINT} such as for
    *     ints in short range.
@@ -38,8 +38,8 @@ public enum LongEncoding {
    * Fory Progressive Variable-length Long Encoding:
    * <li>positive long format: first bit in every byte indicate whether has 
next byte, then next
    *     byte should be read util first bit is unset.
-   * <li>Negative number will be converted to positive number by ` (v << 1) ^ 
(v >> 63)` to reduce
-   *     cost of small negative numbers.
+   * <li>Negative number will be converted to positive number by {@code (v << 
1) ^ (v >> 63)} to
+   *     reduce cost of small negative numbers.
    */
   VARINT,
   /** Write long as little endian 8bytes, no compression. */
diff --git a/java/fory-core/src/main/java/org/apache/fory/memory/BitUtils.java 
b/java/fory-core/src/main/java/org/apache/fory/memory/BitUtils.java
index b74c30273..1d981a703 100644
--- a/java/fory-core/src/main/java/org/apache/fory/memory/BitUtils.java
+++ b/java/fory-core/src/main/java/org/apache/fory/memory/BitUtils.java
@@ -30,8 +30,8 @@ public class BitUtils {
   /**
    * Sets the bit at the specified index to {@code true}.
    *
-   * <p>Every byte is set form right to left(the least significant -> the most 
significant): 1L <<
-   * bitIndex
+   * <p>Every byte is set from right to left(the least significant → the most 
significant): {@code
+   * 1L << bitIndex}.
    */
   public static void set(MemoryBuffer bitmapBuffer, int baseOffset, int index) 
{
     final int byteIndex = baseOffset + (index >> 3);
@@ -140,7 +140,7 @@ public class BitUtils {
   /**
    * Given a bitmap buffer, count the number of bits that are not set.
    *
-   * <p>Every byte is set form right to left: 0xFF << remainder
+   * <p>Every byte is set from right to left: {@code 0xFF << remainder}
    *
    * @return number of bits not set.
    */
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/memory/MemoryBuffer.java 
b/java/fory-core/src/main/java/org/apache/fory/memory/MemoryBuffer.java
index 3f03b0895..fd1ef155b 100644
--- a/java/fory-core/src/main/java/org/apache/fory/memory/MemoryBuffer.java
+++ b/java/fory-core/src/main/java/org/apache/fory/memory/MemoryBuffer.java
@@ -1209,8 +1209,8 @@ public final class MemoryBuffer {
 
   /**
    * Write signed long using fory Tagged(Small long as int) encoding. If long 
is in [0xc0000000,
-   * 0x3fffffff], encode as 4 bytes int: | little-endian: ((int) value) << 1 
|; Otherwise write as 9
-   * bytes: | 0b1 | little-endian 8bytes long |
+   * 0x3fffffff], encode as 4 bytes int: {@code | little-endian: ((int) value) 
<< 1 |}; Otherwise
+   * write as 9 bytes: {@code | 0b1 | little-endian 8bytes long |}.
    */
   public int writeTaggedInt64(long value) {
     ensure(writerIndex + 9);
@@ -1219,8 +1219,8 @@ public final class MemoryBuffer {
 
   /**
    * Write unsigned long using fory Tagged(Small long as int) encoding. If 
long is in [0,
-   * 0x7fffffff], encode as 4 bytes int: | little-endian: ((int) value) << 1 
|; Otherwise write as 9
-   * bytes: | 0b1 | little-endian 8bytes long |
+   * 0x7fffffff], encode as 4 bytes int: {@code | little-endian: ((int) value) 
<< 1 |}; Otherwise
+   * write as 9 bytes: {@code | 0b1 | little-endian 8bytes long |}.
    */
   public int writeTaggedUint64(long value) {
     ensure(writerIndex + 9);
diff --git a/java/fory-core/src/main/java/org/apache/fory/resolver/RefMode.java 
b/java/fory-core/src/main/java/org/apache/fory/resolver/RefMode.java
index 1bd014012..3309655ff 100644
--- a/java/fory-core/src/main/java/org/apache/fory/resolver/RefMode.java
+++ b/java/fory-core/src/main/java/org/apache/fory/resolver/RefMode.java
@@ -30,7 +30,7 @@ import org.apache.fory.annotation.CodegenInvoke;
  *   <li>{@link #NULL_ONLY} - Field is nullable but no ref tracking. Write 
null flag (-3) for null,
  *       or not-null flag (-1) then data.
  *   <li>{@link #TRACKING} - Ref tracking enabled (implies nullable). Write 
ref flag: -3 for null,
- *       -1 for first occurrence (then data), or ref id (>=0) for subsequent 
references.
+ *       -1 for first occurrence (then data), or ref id (&gt;=0) for 
subsequent references.
  * </ul>
  */
 public enum RefMode {
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/resolver/RefResolver.java 
b/java/fory-core/src/main/java/org/apache/fory/resolver/RefResolver.java
index 0271aa64d..d40f3e9d3 100644
--- a/java/fory-core/src/main/java/org/apache/fory/resolver/RefResolver.java
+++ b/java/fory-core/src/main/java/org/apache/fory/resolver/RefResolver.java
@@ -80,8 +80,9 @@ public interface RefResolver {
   int preserveRefId(int refId);
 
   /**
-   * Preserve and return a `refId` which is `>=` {@link 
Fory#NOT_NULL_VALUE_FLAG} if the value is
-   * not null. If the value is referencable value, the `refId` will be {@link 
#preserveRefId}.
+   * Preserve and return a {@code refId} which is {@code >=} {@link 
Fory#NOT_NULL_VALUE_FLAG} if the
+   * value is not null. If the value is referencable value, the {@code refId} 
will be {@link
+   * #preserveRefId}.
    */
   int tryPreserveRefId(MemoryBuffer buffer);
 
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/resolver/TypeResolver.java 
b/java/fory-core/src/main/java/org/apache/fory/resolver/TypeResolver.java
index 1d367c2cf..14c213799 100644
--- a/java/fory-core/src/main/java/org/apache/fory/resolver/TypeResolver.java
+++ b/java/fory-core/src/main/java/org/apache/fory/resolver/TypeResolver.java
@@ -383,8 +383,8 @@ public abstract class TypeResolver {
 
   /**
    * Writes shared class metadata using the meta-share protocol. Protocol: If 
class already written,
-   * writes (index << 1) | 1 (reference). If new class, writes (index << 1) 
followed by TypeDef
-   * bytes.
+   * writes {@code (index << 1) | 1} (reference). If new class, writes {@code 
(index << 1)} followed
+   * by TypeDef bytes.
    *
    * <p>This method is shared between XtypeResolver and ClassResolver.
    */
@@ -1276,7 +1276,7 @@ public abstract class TypeResolver {
   /**
    * Gets the sort key for a field descriptor.
    *
-   * <p>If the field has a {@link ForyField} annotation with id >= 0, returns 
the id as a string.
+   * <p>If the field has a {@link ForyField} annotation with id &gt;= 0, 
returns the id as a string.
    * Otherwise, returns the snake_case field name. This ensures fields are 
sorted by tag ID when
    * configured, matching the fingerprint computation order.
    *
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/serializer/MetaSharedLayerSerializerBase.java
 
b/java/fory-core/src/main/java/org/apache/fory/serializer/MetaSharedLayerSerializerBase.java
index f2ae8525f..456e93f22 100644
--- 
a/java/fory-core/src/main/java/org/apache/fory/serializer/MetaSharedLayerSerializerBase.java
+++ 
b/java/fory-core/src/main/java/org/apache/fory/serializer/MetaSharedLayerSerializerBase.java
@@ -118,7 +118,7 @@ public abstract class MetaSharedLayerSerializerBase<T> 
extends AbstractObjectSer
    * Populate field index map and field types array in the serializer's field 
order. This is used by
    * ObjectStreamSerializer to build fieldIndexMap and putFieldTypes in the 
correct order.
    *
-   * @param fieldIndexMap map to populate with field name -> index
+   * @param fieldIndexMap map to populate with field name → index
    * @param fieldTypes array to populate with field types (must be 
pre-allocated with getNumFields()
    *     size)
    */
diff --git a/java/fory-core/src/main/java/org/apache/fory/type/Types.java 
b/java/fory-core/src/main/java/org/apache/fory/type/Types.java
index 2e7968a3e..f964eada0 100644
--- a/java/fory-core/src/main/java/org/apache/fory/type/Types.java
+++ b/java/fory-core/src/main/java/org/apache/fory/type/Types.java
@@ -220,7 +220,7 @@ public class Types {
   /** One dimensional float64 array. */
   public static final int FLOAT64_ARRAY = 56;
 
-  /** Bound value for range checks (types with id >= BOUND are not internal 
types). */
+  /** Bound value for range checks (types with id &gt;= BOUND are not internal 
types). */
   public static final int BOUND = 64;
 
   public static final int INVALID_USER_TYPE_ID = -1;
diff --git a/java/fory-core/src/main/java/org/apache/fory/util/MurmurHash3.java 
b/java/fory-core/src/main/java/org/apache/fory/util/MurmurHash3.java
index 8e6c443a7..d49a33fa6 100644
--- a/java/fory-core/src/main/java/org/apache/fory/util/MurmurHash3.java
+++ b/java/fory-core/src/main/java/org/apache/fory/util/MurmurHash3.java
@@ -26,7 +26,7 @@ package org.apache.fory.util;
  * to this file.
  *
  * <p>This java port is faster than guava and consistent cross-language for 
all seeds, see <a
- * href="https://yonik.com/murmurhash3-for-java/>murmurhash3-for-java</a>
+ * href="https://yonik.com/murmurhash3-for-java/";>murmurhash3-for-java</a>
  */
 public final class MurmurHash3 {
 
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/util/StringEncodingUtils.java 
b/java/fory-core/src/main/java/org/apache/fory/util/StringEncodingUtils.java
index 5988762ba..c574fdf2c 100644
--- a/java/fory-core/src/main/java/org/apache/fory/util/StringEncodingUtils.java
+++ b/java/fory-core/src/main/java/org/apache/fory/util/StringEncodingUtils.java
@@ -423,8 +423,8 @@ public class StringEncodingUtils {
   }
 
   /**
-   * Fast scan to check if UTF-8 data fits in Latin1 encoding (all code points 
<= 0xFF). This is a
-   * read-only pass optimized for cache locality.
+   * Fast scan to check if UTF-8 data fits in Latin1 encoding (all code points 
{@code <= 0xFF}).
+   * This is a read-only pass optimized for cache locality.
    */
   public static boolean isUTF8WithinLatin1(byte[] src, int offset, int length) 
{
     final int end = offset + length;
diff --git 
a/java/fory-format/src/main/java/org/apache/fory/format/encoder/BaseBinaryEncoderBuilder.java
 
b/java/fory-format/src/main/java/org/apache/fory/format/encoder/BaseBinaryEncoderBuilder.java
index f3e105bd3..705182291 100644
--- 
a/java/fory-format/src/main/java/org/apache/fory/format/encoder/BaseBinaryEncoderBuilder.java
+++ 
b/java/fory-format/src/main/java/org/apache/fory/format/encoder/BaseBinaryEncoderBuilder.java
@@ -546,7 +546,8 @@ public abstract class BaseBinaryEncoderBuilder extends 
CodecBuilder {
   /**
    * Return an expression to serialize opaque <code>inputObject</code> as 
binary using <code>fory
    * </code>. When deserialization, using fory to deserialize sliced 
MemoryBuffer. See {@link
-   * BinaryUtils#getElemAccessMethodName(TypeRef)}, {@link 
Getters#getBuffer(int)}
+   * BinaryUtils#getElemAccessMethodName(TypeRef,TypeResolutionContext)}, 
{@link
+   * Getters#getBuffer(int)}
    */
   protected Expression serializeForObject(
       Expression ordinal, Expression writer, Expression inputObject) {
@@ -907,7 +908,8 @@ public abstract class BaseBinaryEncoderBuilder extends 
CodecBuilder {
 
   /**
    * Using fory to deserialize sliced MemoryBuffer. see {@link
-   * BinaryUtils#getElemAccessMethodName(TypeRef)}, {@link 
Getters#getBuffer(int)}
+   * BinaryUtils#getElemAccessMethodName(TypeRef,TypeResolutionContext)}, 
{@link
+   * Getters#getBuffer(int)}
    */
   protected Expression deserializeForObject(Expression value, TypeRef<?> 
typeRef) {
     return new Invoke(foryRef, "deserialize", typeRef, value);
diff --git 
a/java/fory-format/src/main/java/org/apache/fory/format/row/binary/BinaryArray.java
 
b/java/fory-format/src/main/java/org/apache/fory/format/row/binary/BinaryArray.java
index 5e16a99b7..3a559093b 100644
--- 
a/java/fory-format/src/main/java/org/apache/fory/format/row/binary/BinaryArray.java
+++ 
b/java/fory-format/src/main/java/org/apache/fory/format/row/binary/BinaryArray.java
@@ -38,8 +38,9 @@ import org.apache.fory.memory.Platform;
 import org.apache.fory.util.Preconditions;
 
 /**
- * Each array has four parts(8-byte aligned): [numElements][validity 
bits][values or
- * offset&length][variable length portion]
+ * Each array has four parts(8-byte aligned):
+ *
+ * <p>{@code [numElements][validity bits][values or offset&length][variable 
length portion]}
  *
  * <p>numElements is int, but use 8-byte to align
  *
diff --git a/java/fory-simd/pom.xml b/java/fory-simd/pom.xml
index 91d8fde8b..8c3c34202 100644
--- a/java/fory-simd/pom.xml
+++ b/java/fory-simd/pom.xml
@@ -73,7 +73,6 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
-        <version>3.5.4</version>
         <configuration>
           <argLine>--add-modules=jdk.incubator.vector</argLine>
         </configuration>
@@ -83,6 +82,8 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
         <configuration>
+          <!-- Turn this on once 
https://github.com/apache/maven-javadoc-plugin/issues/1310 is resolved -->
+          <failOnWarnings>false</failOnWarnings>
           <additionalOptions>
             
<additionalOption>--add-modules=jdk.incubator.vector</additionalOption>
           </additionalOptions>
diff --git a/java/pom.xml b/java/pom.xml
index 72e86d5b8..f8f93c432 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -168,6 +168,11 @@
             </annotationProcessorPaths>
           </configuration>
         </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>3.6.3</version>
+        </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-source-plugin</artifactId>
@@ -186,6 +191,11 @@
           <artifactId>maven-shade-plugin</artifactId>
           <version>3.6.0</version>
         </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>3.5.4</version>
+        </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-deploy-plugin</artifactId>
@@ -215,11 +225,6 @@
           <target>${maven.compiler.target}</target>
         </configuration>
       </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>3.5.4</version>
-      </plugin>
 
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -230,7 +235,7 @@
             <id>validate</id>
             <phase>validate</phase>
             <goals>
-              <!-- test in ci only or manually invoke the gaol -->
+              <!-- test in ci only or manually invoke the goal -->
               <!-- <goal>check</goal> -->
             </goals>
           </execution>
@@ -263,7 +268,6 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
-        <version>3.6.3</version>
         <executions>
           <execution>
             <id>attach-javadocs</id>
@@ -280,6 +284,7 @@
           <detectJavaApiLink>false</detectJavaApiLink>
           <detectLinks>false</detectLinks>
           <detectOfflineLinks>false</detectOfflineLinks>
+          <failOnWarnings>true</failOnWarnings>
           <bottom>
             Copyright © 2023-2025, The Apache Software Foundation. Apache 
Fory™, Fory™, and Apache
             are either registered trademarks or trademarks of the Apache 
Software Foundation.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to