From 03fcb2615bcac19df277830b596a4ee6b75f0da1 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sat, 12 Mar 2016 22:26:24 +0100 Subject: [PATCH] 0.4h Better MessageMixin --- .../mixin/MessageMixinAbstract.java | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/com/massivecraft/massivecore/mixin/MessageMixinAbstract.java b/src/com/massivecraft/massivecore/mixin/MessageMixinAbstract.java index 4dcdb9f1..3b5b4613 100644 --- a/src/com/massivecraft/massivecore/mixin/MessageMixinAbstract.java +++ b/src/com/massivecraft/massivecore/mixin/MessageMixinAbstract.java @@ -81,39 +81,50 @@ public abstract class MessageMixinAbstract implements MessageMixin @Override public boolean messageAll(Object message) { - return this.messageAll(Collections.singleton(message)); + return this.messageAll(asCollection(message)); } @Override public boolean messageAll(Object... messages) { - return this.messageAll(Arrays.asList(messages)); + return this.messageAll(asCollection(messages)); } // Predicate @Override public boolean messagePredicate(Predicate predicate, Object message) { - return this.messagePredicate(predicate, Collections.singleton(message)); + return this.messagePredicate(predicate, asCollection(message)); } @Override public boolean messagePredicate(Predicate predicate, Object... messages) { - return this.messagePredicate(predicate, Arrays.asList(messages)); + return this.messagePredicate(predicate, asCollection(messages)); } // One @Override public boolean messageOne(Object sendeeObject, Object message) { - return this.messageOne(sendeeObject, Collections.singleton(message)); + return this.messageOne(sendeeObject, asCollection(message)); } @Override public boolean messageOne(Object sendeeObject, Object... messages) { - return this.messageOne(sendeeObject, Arrays.asList(messages)); + return this.messageOne(sendeeObject, asCollection(messages)); + } + + // -------------------------------------------- // + // UTIL + // -------------------------------------------- // + + public Collection asCollection(Object message) + { + if (message instanceof Collection) return (Collection) message; + if (message instanceof Object[]) return Arrays.asList((Object[]) message); + return Collections.singleton(message); } }