ExceptionSet equals and hash code. MetadataSimple improvements.
This commit is contained in:
parent
0c625a1ff4
commit
b44750a64c
@ -47,22 +47,36 @@ public class MetadataSimple extends MetadataValueAdapter
|
|||||||
|
|
||||||
public static void set(Plugin plugin, Metadatable metadatable, String key, Object value)
|
public static void set(Plugin plugin, Metadatable metadatable, String key, Object value)
|
||||||
{
|
{
|
||||||
metadatable.setMetadata(key, new MetadataSimple(plugin, value));
|
if (value != null)
|
||||||
|
{
|
||||||
|
metadatable.setMetadata(key, new MetadataSimple(plugin, value));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
metadatable.removeMetadata(key, plugin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MetadataValue getMeta(Metadatable metadatable, String key)
|
public static MetadataValue getMeta(Metadatable metadatable, String key)
|
||||||
{
|
{
|
||||||
|
if (metadatable == null) return null;
|
||||||
List<MetadataValue> metaValues = metadatable.getMetadata(key);
|
List<MetadataValue> metaValues = metadatable.getMetadata(key);
|
||||||
if (metaValues == null) return null;
|
if (metaValues == null) return null;
|
||||||
if (metaValues.size() < 1) return null;
|
if (metaValues.isEmpty()) return null;
|
||||||
return metaValues.get(0);
|
return metaValues.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Object get(Metadatable metadatable, String key)
|
@SuppressWarnings("unchecked")
|
||||||
|
public static <T> T get(Metadatable metadatable, String key)
|
||||||
{
|
{
|
||||||
MetadataValue metaValue = getMeta(metadatable, key);
|
MetadataValue metaValue = getMeta(metadatable, key);
|
||||||
if (metaValue == null) return null;
|
if (metaValue == null) return null;
|
||||||
return metaValue.value();
|
return (T) metaValue.value();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean has(Metadatable metadatable, String key)
|
||||||
|
{
|
||||||
|
return get(metadatable, key) != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,10 +2,12 @@ package com.massivecraft.massivecore.collections;
|
|||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.command.editor.annotation.EditorType;
|
import com.massivecraft.massivecore.command.editor.annotation.EditorType;
|
||||||
import com.massivecraft.massivecore.command.type.container.TypeMassiveTreeSetInsensitive;
|
import com.massivecraft.massivecore.command.type.container.TypeMassiveTreeSetInsensitive;
|
||||||
import com.massivecraft.massivecore.comparator.ComparatorCaseInsensitive;
|
import com.massivecraft.massivecore.comparator.ComparatorCaseInsensitive;
|
||||||
|
import com.massivecraft.massivecore.util.MUtil;
|
||||||
|
|
||||||
public class ExceptionSet
|
public class ExceptionSet
|
||||||
{
|
{
|
||||||
@ -104,4 +106,29 @@ public class ExceptionSet
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// EQUALS & HASH CODE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object object)
|
||||||
|
{
|
||||||
|
if ( ! (object instanceof ExceptionSet)) return false;
|
||||||
|
ExceptionSet that = (ExceptionSet)object;
|
||||||
|
|
||||||
|
return MUtil.equals(
|
||||||
|
this.standard, that.standard,
|
||||||
|
this.exceptions, that.exceptions
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode()
|
||||||
|
{
|
||||||
|
return Objects.hash(
|
||||||
|
this.standard,
|
||||||
|
this.exceptions
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user