From c30df24ff608a6f5a01f4ccea2235f58c1e4d84d Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Sun, 23 Jun 2024 15:28:13 -0400 Subject: [PATCH] Deprecate StringKeyAnalyzer.StringKeyAnalyzer() in favor of StringKeyAnalyzer.INSTANCE --- src/changes/changes.xml | 1 + .../trie/analyzer/StringKeyAnalyzer.java | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index e0c5a8c428..a94fa4a716 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -29,6 +29,7 @@ Deprecate AbstractEmptyIterator.add(E) without replacement. Add missing Javadocs. PatriciaTrie constructor reuse the stateless singleton StringKeyAnalyzer.INSTANCE. + Deprecate StringKeyAnalyzer.StringKeyAnalyzer() in favor of StringKeyAnalyzer.INSTANCE. diff --git a/src/main/java/org/apache/commons/collections4/trie/analyzer/StringKeyAnalyzer.java b/src/main/java/org/apache/commons/collections4/trie/analyzer/StringKeyAnalyzer.java index de490f6069..5c5685c91c 100644 --- a/src/main/java/org/apache/commons/collections4/trie/analyzer/StringKeyAnalyzer.java +++ b/src/main/java/org/apache/commons/collections4/trie/analyzer/StringKeyAnalyzer.java @@ -20,7 +20,9 @@ /** * An {@link KeyAnalyzer} for {@link String}s. - * + *

+ * This class is stateless. + *

* @since 4.0 */ public class StringKeyAnalyzer extends KeyAnalyzer { @@ -41,6 +43,16 @@ private static int mask(final int bit) { return MSB >>> bit; } + /** + * Constructs a new instance. + * + * @deprecated Use {@link #INSTANCE}. + */ + @Deprecated + public StringKeyAnalyzer() { + // empty + } + @Override public int bitIndex(final String key, final int offsetInBits, final int lengthInBits, final String other, final int otherOffsetInBits, final int otherLengthInBits) {