summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsnowleo <schneeleo@gmail.com>2011-11-27 08:26:52 +0100
committersnowleo <schneeleo@gmail.com>2011-11-27 08:26:52 +0100
commitb8f9a4b96f8ebd6c41f9806e1189edefcbf5c490 (patch)
treed28a0918b3dfa1fca97360782e4a8a467e2a873d
parent9c56b147ee830894ded7e3aa86b8ada64cf2943c (diff)
downloadEssentials-b8f9a4b96f8ebd6c41f9806e1189edefcbf5c490.tar
Essentials-b8f9a4b96f8ebd6c41f9806e1189edefcbf5c490.tar.gz
Essentials-b8f9a4b96f8ebd6c41f9806e1189edefcbf5c490.tar.lz
Essentials-b8f9a4b96f8ebd6c41f9806e1189edefcbf5c490.tar.xz
Essentials-b8f9a4b96f8ebd6c41f9806e1189edefcbf5c490.zip
Implement correct hashCode() and equals() in EnchantmentLevel
-rw-r--r--Essentials/src/com/earth2me/essentials/storage/EnchantmentLevel.java33
1 files changed, 28 insertions, 5 deletions
diff --git a/Essentials/src/com/earth2me/essentials/storage/EnchantmentLevel.java b/Essentials/src/com/earth2me/essentials/storage/EnchantmentLevel.java
index 0a0299ed3..a664929f3 100644
--- a/Essentials/src/com/earth2me/essentials/storage/EnchantmentLevel.java
+++ b/Essentials/src/com/earth2me/essentials/storage/EnchantmentLevel.java
@@ -7,9 +7,9 @@ import org.bukkit.enchantments.Enchantment;
public class EnchantmentLevel implements Entry<Enchantment, Integer>
{
private Enchantment enchantment;
- private int level;
+ private int level;
- public EnchantmentLevel(Enchantment enchantment, int level)
+ public EnchantmentLevel(final Enchantment enchantment, final int level)
{
this.enchantment = enchantment;
this.level = level;
@@ -20,7 +20,7 @@ public class EnchantmentLevel implements Entry<Enchantment, Integer>
return enchantment;
}
- public void setEnchantment(Enchantment enchantment)
+ public void setEnchantment(final Enchantment enchantment)
{
this.enchantment = enchantment;
}
@@ -30,7 +30,7 @@ public class EnchantmentLevel implements Entry<Enchantment, Integer>
return level;
}
- public void setLevel(int level)
+ public void setLevel(final int level)
{
this.level = level;
}
@@ -48,10 +48,33 @@ public class EnchantmentLevel implements Entry<Enchantment, Integer>
}
@Override
- public Integer setValue(Integer v)
+ public Integer setValue(final Integer v)
{
int t = level;
level = v;
return t;
}
+
+ @Override
+ public int hashCode()
+ {
+ return enchantment.hashCode() ^ level;
+ }
+
+ @Override
+ public boolean equals(final Object obj)
+ {
+ if (obj instanceof Entry)
+ {
+ final Entry entry = (Entry)obj;
+ if (entry.getKey() instanceof Enchantment
+ && entry.getValue() instanceof Integer)
+ {
+ final Enchantment enchantment = (Enchantment)entry.getKey();
+ final Integer level = (Integer)entry.getValue();
+ return this.enchantment.equals(enchantment) && this.level == level.intValue();
+ }
+ }
+ return false;
+ }
}