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

twalthr pushed a commit to branch release-1.15
in repository https://gitbox.apache.org/repos/asf/flink.git

commit ecd3bd748c75014a2bd7b7e338af09defd9e0aab
Author: Timo Walther <twal...@apache.org>
AuthorDate: Wed Mar 23 13:42:45 2022 +0100

    [hotfix][table-common] Improve JavaDocs of GenericArrayData
---
 .../apache/flink/table/data/GenericArrayData.java   | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git 
a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/data/GenericArrayData.java
 
b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/data/GenericArrayData.java
index 841e0f7..6c69479 100644
--- 
a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/data/GenericArrayData.java
+++ 
b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/data/GenericArrayData.java
@@ -29,13 +29,28 @@ import java.util.Objects;
 /**
  * An internal data structure representing data of {@link ArrayType}.
  *
+ * <p>Note: All elements of this data structure must be internal data 
structures and must be of the
+ * same type. See {@link RowData} for more information about internal data 
structures.
+ *
  * <p>{@link GenericArrayData} is a generic implementation of {@link 
ArrayData} which wraps regular
  * Java arrays.
  *
- * <p>Note: All elements of this data structure must be internal data 
structures and must be of the
- * same type. See {@link RowData} for more information about internal data 
structures.
+ * <p>Every instance wraps a one-dimensional Java array. Non-primitive arrays 
can be used for
+ * representing element nullability. The Java array might be a primitive array 
such as {@code int[]}
+ * or an object array (i.e. instance of {@code Object[]}). Object arrays that 
contain boxed types
+ * (e.g. {@link Integer}) MUST be boxed arrays (i.e. {@code new Integer[]{1, 
2, 3}}, not {@code new
+ * Object[]{1, 2, 3}}). For multidimensional arrays, an array of {@link 
GenericArrayData} MUST be
+ * passed. For example:
  *
- * <p>For non-primitive arrays, elements can contain null for representing 
nullability.
+ * <pre>{@code
+ * // ARRAY < ARRAY < INT NOT NULL > >
+ * new GenericArrayData(
+ *   new GenericArrayData[]{
+ *     new GenericArrayData(new int[3]),
+ *     new GenericArrayData(new int[5])
+ *   }
+ * )
+ * }</pre>
  */
 @PublicEvolving
 public final class GenericArrayData implements ArrayData {

Reply via email to