Skip to content

Commit e39c712

Browse files
committed
Internal refactoring
1 parent 094bd78 commit e39c712

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

src/main/java/org/apache/commons/collections4/map/MultiKeyMap.java

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
import org.apache.commons.collections4.MapIterator;
2727
import org.apache.commons.collections4.keyvalue.MultiKey;
28+
import org.apache.commons.collections4.map.AbstractHashedMap.HashEntry;
2829

2930
/**
3031
* A {@code Map} implementation that uses multiple keys to map the value.
@@ -163,8 +164,7 @@ public MultiKeyMap<K, V> clone() {
163164
*/
164165
public boolean containsKey(final Object key1, final Object key2) {
165166
final int hashCode = hash(key1, key2);
166-
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry =
167-
decorated().data[decorated().hashIndex(hashCode, decorated().data.length)];
167+
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decoratedHashEntry(hashCode);
168168
while (entry != null) {
169169
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2)) {
170170
return true;
@@ -184,8 +184,7 @@ public boolean containsKey(final Object key1, final Object key2) {
184184
*/
185185
public boolean containsKey(final Object key1, final Object key2, final Object key3) {
186186
final int hashCode = hash(key1, key2, key3);
187-
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry =
188-
decorated().data[decorated().hashIndex(hashCode, decorated().data.length)];
187+
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decoratedHashEntry(hashCode);
189188
while (entry != null) {
190189
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2, key3)) {
191190
return true;
@@ -206,8 +205,7 @@ public boolean containsKey(final Object key1, final Object key2, final Object ke
206205
*/
207206
public boolean containsKey(final Object key1, final Object key2, final Object key3, final Object key4) {
208207
final int hashCode = hash(key1, key2, key3, key4);
209-
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry =
210-
decorated().data[decorated().hashIndex(hashCode, decorated().data.length)];
208+
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decoratedHashEntry(hashCode);
211209
while (entry != null) {
212210
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2, key3, key4)) {
213211
return true;
@@ -227,11 +225,9 @@ public boolean containsKey(final Object key1, final Object key2, final Object ke
227225
* @param key5 the fifth key
228226
* @return true if the map contains the key
229227
*/
230-
public boolean containsKey(final Object key1, final Object key2, final Object key3,
231-
final Object key4, final Object key5) {
228+
public boolean containsKey(final Object key1, final Object key2, final Object key3, final Object key4, final Object key5) {
232229
final int hashCode = hash(key1, key2, key3, key4, key5);
233-
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry =
234-
decorated().data[decorated().hashIndex(hashCode, decorated().data.length)];
230+
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decoratedHashEntry(hashCode);
235231
while (entry != null) {
236232
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2, key3, key4, key5)) {
237233
return true;
@@ -249,6 +245,14 @@ protected AbstractHashedMap<MultiKey<? extends K>, V> decorated() {
249245
return (AbstractHashedMap<MultiKey<? extends K>, V>) super.decorated();
250246
}
251247

248+
HashEntry<MultiKey<? extends K>, V> decoratedHashEntry(final int hashCode) {
249+
return decorated().data[decoratedHashIndex(hashCode)];
250+
}
251+
252+
int decoratedHashIndex(final int hashCode) {
253+
return decorated().hashIndex(hashCode, decorated().data.length);
254+
}
255+
252256
/**
253257
* Gets the value mapped to the specified multi-key.
254258
*
@@ -258,8 +262,7 @@ protected AbstractHashedMap<MultiKey<? extends K>, V> decorated() {
258262
*/
259263
public V get(final Object key1, final Object key2) {
260264
final int hashCode = hash(key1, key2);
261-
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry =
262-
decorated().data[decorated().hashIndex(hashCode, decorated().data.length)];
265+
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decoratedHashEntry(hashCode);
263266
while (entry != null) {
264267
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2)) {
265268
return entry.getValue();
@@ -279,8 +282,7 @@ public V get(final Object key1, final Object key2) {
279282
*/
280283
public V get(final Object key1, final Object key2, final Object key3) {
281284
final int hashCode = hash(key1, key2, key3);
282-
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry =
283-
decorated().data[decorated().hashIndex(hashCode, decorated().data.length)];
285+
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decoratedHashEntry(hashCode);
284286
while (entry != null) {
285287
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2, key3)) {
286288
return entry.getValue();
@@ -301,8 +303,7 @@ public V get(final Object key1, final Object key2, final Object key3) {
301303
*/
302304
public V get(final Object key1, final Object key2, final Object key3, final Object key4) {
303305
final int hashCode = hash(key1, key2, key3, key4);
304-
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry =
305-
decorated().data[decorated().hashIndex(hashCode, decorated().data.length)];
306+
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decoratedHashEntry(hashCode);
306307
while (entry != null) {
307308
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2, key3, key4)) {
308309
return entry.getValue();
@@ -324,8 +325,7 @@ public V get(final Object key1, final Object key2, final Object key3, final Obje
324325
*/
325326
public V get(final Object key1, final Object key2, final Object key3, final Object key4, final Object key5) {
326327
final int hashCode = hash(key1, key2, key3, key4, key5);
327-
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry =
328-
decorated().data[decorated().hashIndex(hashCode, decorated().data.length)];
328+
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decoratedHashEntry(hashCode);
329329
while (entry != null) {
330330
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2, key3, key4, key5)) {
331331
return entry.getValue();
@@ -545,7 +545,7 @@ public MapIterator<MultiKey<? extends K>, V> mapIterator() {
545545
*/
546546
public V put(final K key1, final K key2, final K key3, final K key4, final K key5, final V value) {
547547
final int hashCode = hash(key1, key2, key3, key4, key5);
548-
final int index = decorated().hashIndex(hashCode, decorated().data.length);
548+
final int index = decoratedHashIndex(hashCode);
549549
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decorated().data[index];
550550
while (entry != null) {
551551
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2, key3, key4, key5)) {
@@ -571,7 +571,7 @@ public V put(final K key1, final K key2, final K key3, final K key4, final K key
571571
*/
572572
public V put(final K key1, final K key2, final K key3, final K key4, final V value) {
573573
final int hashCode = hash(key1, key2, key3, key4);
574-
final int index = decorated().hashIndex(hashCode, decorated().data.length);
574+
final int index = decoratedHashIndex(hashCode);
575575
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decorated().data[index];
576576
while (entry != null) {
577577
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2, key3, key4)) {
@@ -596,7 +596,7 @@ public V put(final K key1, final K key2, final K key3, final K key4, final V val
596596
*/
597597
public V put(final K key1, final K key2, final K key3, final V value) {
598598
final int hashCode = hash(key1, key2, key3);
599-
final int index = decorated().hashIndex(hashCode, decorated().data.length);
599+
final int index = decoratedHashIndex(hashCode);
600600
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decorated().data[index];
601601
while (entry != null) {
602602
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2, key3)) {
@@ -620,7 +620,7 @@ public V put(final K key1, final K key2, final K key3, final V value) {
620620
*/
621621
public V put(final K key1, final K key2, final V value) {
622622
final int hashCode = hash(key1, key2);
623-
final int index = decorated().hashIndex(hashCode, decorated().data.length);
623+
final int index = decoratedHashIndex(hashCode);
624624
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decorated().data[index];
625625
while (entry != null) {
626626
if (entry.hashCode == hashCode && isEqualKey(entry, key1, key2)) {
@@ -797,7 +797,7 @@ public boolean removeAll(final Object key1, final Object key2, final Object key3
797797
*/
798798
public V removeMultiKey(final Object key1, final Object key2) {
799799
final int hashCode = hash(key1, key2);
800-
final int index = decorated().hashIndex(hashCode, decorated().data.length);
800+
final int index = decoratedHashIndex(hashCode);
801801
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decorated().data[index];
802802
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> previous = null;
803803
while (entry != null) {
@@ -823,7 +823,7 @@ public V removeMultiKey(final Object key1, final Object key2) {
823823
*/
824824
public V removeMultiKey(final Object key1, final Object key2, final Object key3) {
825825
final int hashCode = hash(key1, key2, key3);
826-
final int index = decorated().hashIndex(hashCode, decorated().data.length);
826+
final int index = decoratedHashIndex(hashCode);
827827
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decorated().data[index];
828828
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> previous = null;
829829
while (entry != null) {
@@ -850,7 +850,7 @@ public V removeMultiKey(final Object key1, final Object key2, final Object key3)
850850
*/
851851
public V removeMultiKey(final Object key1, final Object key2, final Object key3, final Object key4) {
852852
final int hashCode = hash(key1, key2, key3, key4);
853-
final int index = decorated().hashIndex(hashCode, decorated().data.length);
853+
final int index = decoratedHashIndex(hashCode);
854854
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decorated().data[index];
855855
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> previous = null;
856856
while (entry != null) {
@@ -879,7 +879,7 @@ public V removeMultiKey(final Object key1, final Object key2, final Object key3,
879879
public V removeMultiKey(final Object key1, final Object key2, final Object key3,
880880
final Object key4, final Object key5) {
881881
final int hashCode = hash(key1, key2, key3, key4, key5);
882-
final int index = decorated().hashIndex(hashCode, decorated().data.length);
882+
final int index = decoratedHashIndex(hashCode);
883883
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> entry = decorated().data[index];
884884
AbstractHashedMap.HashEntry<MultiKey<? extends K>, V> previous = null;
885885
while (entry != null) {

0 commit comments

Comments
 (0)