From 21e5fa877cb01fa79ed96a1ccfb5d3f0b1a770e8 Mon Sep 17 00:00:00 2001 From: Olof Larsson Date: Tue, 16 Aug 2016 11:54:17 +0200 Subject: [PATCH] MassiveCore - TypeTransformer innerToOuter sender --- .../command/type/TypeDataItemStack.java | 3 +- .../massivecore/command/type/TypeId.java | 3 +- .../command/type/TypeMaterialId.java | 3 +- .../command/type/TypeTransformer.java | 4 +- .../command/type/convert/TypeConverter.java | 4 +- .../type/sender/TypeSenderEntityId.java | 4 +- .../command/type/store/TypeEntityId.java | 4 +- .../massivecore/predicate/PredicateNot.java | 37 +++++++++++++++++++ 8 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 src/com/massivecraft/massivecore/predicate/PredicateNot.java diff --git a/src/com/massivecraft/massivecore/command/type/TypeDataItemStack.java b/src/com/massivecraft/massivecore/command/type/TypeDataItemStack.java index 57c2d07c..a59d8e5f 100644 --- a/src/com/massivecraft/massivecore/command/type/TypeDataItemStack.java +++ b/src/com/massivecraft/massivecore/command/type/TypeDataItemStack.java @@ -1,5 +1,6 @@ package com.massivecraft.massivecore.command.type; +import org.bukkit.command.CommandSender; import org.bukkit.inventory.ItemStack; import com.massivecraft.massivecore.command.type.primitive.TypeObject; @@ -33,7 +34,7 @@ public class TypeDataItemStack extends TypeTransformer // -------------------------------------------- // @Override - public DataItemStack innerToOuter(ItemStack inner) + public DataItemStack innerToOuter(ItemStack inner, CommandSender sender) { return DataItemStack.fromBukkit(inner); } diff --git a/src/com/massivecraft/massivecore/command/type/TypeId.java b/src/com/massivecraft/massivecore/command/type/TypeId.java index 06d2a167..a774948d 100644 --- a/src/com/massivecraft/massivecore/command/type/TypeId.java +++ b/src/com/massivecraft/massivecore/command/type/TypeId.java @@ -1,6 +1,7 @@ package com.massivecraft.massivecore.command.type; import org.bukkit.Sound; +import org.bukkit.command.CommandSender; import com.massivecraft.massivecore.MassiveException; import com.massivecraft.massivecore.command.type.enumeration.TypeSound; @@ -27,7 +28,7 @@ public class TypeId extends TypeTransformer @Override - public String innerToOuter(T inner) + public String innerToOuter(T inner, CommandSender sender) { if (inner == null) return null; return INNER.getId(inner); diff --git a/src/com/massivecraft/massivecore/command/type/TypeMaterialId.java b/src/com/massivecraft/massivecore/command/type/TypeMaterialId.java index 58235b24..15190966 100644 --- a/src/com/massivecraft/massivecore/command/type/TypeMaterialId.java +++ b/src/com/massivecraft/massivecore/command/type/TypeMaterialId.java @@ -1,6 +1,7 @@ package com.massivecraft.massivecore.command.type; import org.bukkit.Material; +import org.bukkit.command.CommandSender; import com.massivecraft.massivecore.command.type.enumeration.TypeMaterial; import com.massivecraft.massivecore.command.type.primitive.TypeInteger; @@ -26,7 +27,7 @@ public class TypeMaterialId extends TypeTransformer @Override - public Integer innerToOuter(Material inner) + public Integer innerToOuter(Material inner, CommandSender sender) { if (inner == null) return null; return inner.getId(); diff --git a/src/com/massivecraft/massivecore/command/type/TypeTransformer.java b/src/com/massivecraft/massivecore/command/type/TypeTransformer.java index 524bbdb9..50c8185f 100644 --- a/src/com/massivecraft/massivecore/command/type/TypeTransformer.java +++ b/src/com/massivecraft/massivecore/command/type/TypeTransformer.java @@ -77,7 +77,7 @@ public abstract class TypeTransformer extends TypeAbstract // -------------------------------------------- // // NOTE: These should return null on null input. - public abstract O innerToOuter(I inner); + public abstract O innerToOuter(I inner, CommandSender sender) throws MassiveException; public abstract I outerToInner(O outer); // -------------------------------------------- // @@ -268,7 +268,7 @@ public abstract class TypeTransformer extends TypeAbstract public O read(String arg, CommandSender sender) throws MassiveException { I inner = INNER.read(arg, sender); - O outer = innerToOuter(inner); + O outer = innerToOuter(inner, sender); return outer; } diff --git a/src/com/massivecraft/massivecore/command/type/convert/TypeConverter.java b/src/com/massivecraft/massivecore/command/type/convert/TypeConverter.java index 2a34332a..fe5114bb 100644 --- a/src/com/massivecraft/massivecore/command/type/convert/TypeConverter.java +++ b/src/com/massivecraft/massivecore/command/type/convert/TypeConverter.java @@ -1,6 +1,8 @@ package com.massivecraft.massivecore.command.type.convert; +import org.bukkit.command.CommandSender; + import com.massivecraft.massivecore.command.type.Type; import com.massivecraft.massivecore.command.type.TypeTransformer; import com.massivecraft.massivecore.item.Converter; @@ -34,7 +36,7 @@ public class TypeConverter extends TypeTransformer @Override - public B innerToOuter(A inner) + public B innerToOuter(A inner, CommandSender sender) { return this.getA2b().convert(inner); } diff --git a/src/com/massivecraft/massivecore/command/type/sender/TypeSenderEntityId.java b/src/com/massivecraft/massivecore/command/type/sender/TypeSenderEntityId.java index 68460189..ae43e9b0 100644 --- a/src/com/massivecraft/massivecore/command/type/sender/TypeSenderEntityId.java +++ b/src/com/massivecraft/massivecore/command/type/sender/TypeSenderEntityId.java @@ -1,5 +1,7 @@ package com.massivecraft.massivecore.command.type.sender; +import org.bukkit.command.CommandSender; + import com.massivecraft.massivecore.command.type.TypeTransformer; import com.massivecraft.massivecore.command.type.primitive.TypeStringId; import com.massivecraft.massivecore.store.SenderEntity; @@ -20,7 +22,7 @@ public class TypeSenderEntityId> extends TypeTransform // -------------------------------------------- // @Override - public String innerToOuter(I inner) + public String innerToOuter(I inner, CommandSender sender) { if (inner == null) return null; return inner.getId(); diff --git a/src/com/massivecraft/massivecore/command/type/store/TypeEntityId.java b/src/com/massivecraft/massivecore/command/type/store/TypeEntityId.java index 4b08d3b9..2a6168bf 100644 --- a/src/com/massivecraft/massivecore/command/type/store/TypeEntityId.java +++ b/src/com/massivecraft/massivecore/command/type/store/TypeEntityId.java @@ -1,5 +1,7 @@ package com.massivecraft.massivecore.command.type.store; +import org.bukkit.command.CommandSender; + import com.massivecraft.massivecore.command.type.TypeTransformer; import com.massivecraft.massivecore.command.type.primitive.TypeStringId; import com.massivecraft.massivecore.store.Entity; @@ -20,7 +22,7 @@ public class TypeEntityId> extends TypeTransformer implements Predicate +{ + // -------------------------------------------- // + // INSTANCE + // -------------------------------------------- // + + public static PredicateNot get(Predicate predicate) { return new PredicateNot(predicate); } + + // -------------------------------------------- // + // CONSTRUCT + // -------------------------------------------- // + + public PredicateNot(Predicate predicate) + { + this.predicate = predicate; + } + + // -------------------------------------------- // + // FIELDS + // -------------------------------------------- // + + private final Predicate predicate; + public Predicate getPredicate() { return this.predicate; } + + // -------------------------------------------- // + // OVERRIDE + // -------------------------------------------- // + + @Override + public boolean apply(T type) + { + return !this.getPredicate().apply(type); + } + +}