aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/apache/commons/lang3/tuple
diff options
context:
space:
mode:
authorGary Gregory <gardgregory@gmail.com>2019-05-10 08:27:33 -0400
committerGary Gregory <gardgregory@gmail.com>2019-05-10 08:27:33 -0400
commit86cf126f1373c783766cd2957f536d721b68f297 (patch)
tree75ead49a4969074496bbe9e5ba864b5390a5b470 /src/main/java/org/apache/commons/lang3/tuple
parentf2b7f988407a55de784f4cb259dc066d3538c5a0 (diff)
downloadapache-commons-lang-86cf126f1373c783766cd2957f536d721b68f297.tar.gz
[LANG-1458] Add EMPTY_ARRAY constants to classes in
org.apache.commons.lang3.tuple
Diffstat (limited to 'src/main/java/org/apache/commons/lang3/tuple')
-rw-r--r--src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java22
-rw-r--r--src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java22
-rw-r--r--src/main/java/org/apache/commons/lang3/tuple/MutablePair.java22
-rw-r--r--src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java22
4 files changed, 88 insertions, 0 deletions
diff --git a/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java b/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java
index abc8c3be5..c0934bf1d 100644
--- a/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java
+++ b/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java
@@ -34,6 +34,28 @@ package org.apache.commons.lang3.tuple;
public final class ImmutablePair<L, R> extends Pair<L, R> {
/**
+ * An empty array.
+ * <p>
+ * Consider using {@link #emptyArray()} to avoid generics warnings.
+ * </p>
+ *
+ * @since 3.10.
+ */
+ public static final ImmutablePair<?, ?>[] EMPTY_ARRAY = new ImmutablePair[0];
+
+ /**
+ * Returns the empty array singleton that can be assigned without compiler warning.
+ *
+ * @return the empty array singleton that can be assigned without compiler warning.
+ *
+ * @since 3.10.
+ */
+ @SuppressWarnings("unchecked")
+ public static final <L, R> ImmutablePair<L, R>[] emptyArray() {
+ return (ImmutablePair<L, R>[]) EMPTY_ARRAY;
+ }
+
+ /**
* An immutable pair of nulls.
*/
// This is not defined with generics to avoid warnings in call sites.
diff --git a/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java b/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java
index 2d9dda61f..baf4ad174 100644
--- a/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java
+++ b/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java
@@ -35,6 +35,28 @@ package org.apache.commons.lang3.tuple;
public final class ImmutableTriple<L, M, R> extends Triple<L, M, R> {
/**
+ * An empty array.
+ * <p>
+ * Consider using {@link #emptyArray()} to avoid generics warnings.
+ * </p>
+ *
+ * @since 3.10.
+ */
+ public static final ImmutableTriple<?, ?, ?>[] EMPTY_ARRAY = new ImmutableTriple[0];
+
+ /**
+ * Returns the empty array singleton that can be assigned without compiler warning.
+ *
+ * @return the empty array singleton that can be assigned without compiler warning.
+ *
+ * @since 3.10.
+ */
+ @SuppressWarnings("unchecked")
+ public static final <L, M, R> ImmutableTriple<L, M, R>[] emptyArray() {
+ return (ImmutableTriple<L, M, R>[]) EMPTY_ARRAY;
+ }
+
+ /**
* An immutable triple of nulls.
*/
// This is not defined with generics to avoid warnings in call sites.
diff --git a/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java b/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java
index 386988bf0..1779b5827 100644
--- a/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java
+++ b/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java
@@ -28,6 +28,28 @@ package org.apache.commons.lang3.tuple;
*/
public class MutablePair<L, R> extends Pair<L, R> {
+ /**
+ * An empty array.
+ * <p>
+ * Consider using {@link #emptyArray()} to avoid generics warnings.
+ * </p>
+ *
+ * @since 3.10.
+ */
+ public static final MutablePair<?, ?>[] EMPTY_ARRAY = new MutablePair[0];
+
+ /**
+ * Returns the empty array singleton that can be assigned without compiler warning.
+ *
+ * @return the empty array singleton that can be assigned without compiler warning.
+ *
+ * @since 3.10.
+ */
+ @SuppressWarnings("unchecked")
+ public static final <L, R> MutablePair<L, R>[] emptyArray() {
+ return (MutablePair<L, R>[]) EMPTY_ARRAY;
+ }
+
/** Serialization version */
private static final long serialVersionUID = 4954918890077093841L;
diff --git a/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java b/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java
index f5d92be76..cfd8bf38c 100644
--- a/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java
+++ b/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java
@@ -29,6 +29,28 @@ package org.apache.commons.lang3.tuple;
*/
public class MutableTriple<L, M, R> extends Triple<L, M, R> {
+ /**
+ * The empty array singleton.
+ * <p>
+ * Consider using {@link #emptyArray()} to avoid generics warnings.
+ * </p>
+ *
+ * @since 3.10.
+ */
+ public static final MutableTriple<?, ?, ?>[] EMPTY_ARRAY = new MutableTriple[0];
+
+ /**
+ * Returns the empty array singleton that can be assigned without compiler warning.
+ *
+ * @return the empty array singleton that can be assigned without compiler warning.
+ *
+ * @since 3.10.
+ */
+ @SuppressWarnings("unchecked")
+ public static final <L, M, R> MutableTriple<L, M, R>[] emptyArray() {
+ return (MutableTriple<L, M, R>[]) EMPTY_ARRAY;
+ }
+
/** Serialization version */
private static final long serialVersionUID = 1L;