From 1aff05ff1800749eed3f6724cc0707d92858e7b9 Mon Sep 17 00:00:00 2001 From: ulumulu1510 Date: Tue, 31 Jan 2017 10:10:52 +0100 Subject: [PATCH] Improve TypeTransform and TypeEntityId to avoid NPEs. --- .../command/type/TypeTransformer.java | 72 ++++++++++--------- .../command/type/store/TypeEntityId.java | 2 +- 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/src/com/massivecraft/massivecore/command/type/TypeTransformer.java b/src/com/massivecraft/massivecore/command/type/TypeTransformer.java index 50c8185f..62bce5d5 100644 --- a/src/com/massivecraft/massivecore/command/type/TypeTransformer.java +++ b/src/com/massivecraft/massivecore/command/type/TypeTransformer.java @@ -58,7 +58,9 @@ public abstract class TypeTransformer extends TypeAbstract // -------------------------------------------- // public final Type INNER; + public Type getInner() { return INNER; } public final Type OUTER; + public Type getOuter() { return OUTER; } // -------------------------------------------- // // CONSTRUCT @@ -68,8 +70,8 @@ public abstract class TypeTransformer extends TypeAbstract { super(typeOuter.getClazz()); this.setInnerTypes(typeInner, typeOuter); - INNER = typeInner; - OUTER = typeOuter; + this.INNER = typeInner; + this.OUTER = typeOuter; } // -------------------------------------------- // @@ -87,7 +89,7 @@ public abstract class TypeTransformer extends TypeAbstract @Override public String getName() { - return INNER.getName(); + return this.getInner().getName(); } // -------------------------------------------- // @@ -97,13 +99,13 @@ public abstract class TypeTransformer extends TypeAbstract @Override public > List getInnerProperties() { - return OUTER.getInnerProperties(); + return this.getOuter().getInnerProperties(); } @Override public > void setInnerProperties(Collection innerProperties) { - OUTER.setInnerProperties(innerProperties); + this.getOuter().setInnerProperties(innerProperties); } // -------------------------------------------- // @@ -115,7 +117,7 @@ public abstract class TypeTransformer extends TypeAbstract { I inner = outerToInner(outer); // NOTE: Inner type must NPE evade. - return INNER.getVisualColor(inner, sender); + return this.getInner().getVisualColor(inner, sender); } @Override @@ -123,13 +125,13 @@ public abstract class TypeTransformer extends TypeAbstract { I inner = outerToInner(outer); // NOTE: Inner type must NPE evade. - return INNER.getVisualColor(inner); + return this.getInner().getVisualColor(inner); } @Override public void setVisualColor(ChatColor color) { - INNER.setVisualColor(color); + this.getInner().setVisualColor(color); } // -------------------------------------------- // @@ -140,24 +142,24 @@ public abstract class TypeTransformer extends TypeAbstract public Mson getVisualMsonInner(O outer, CommandSender sender) { I inner = outerToInner(outer); - if (outer != null && inner == null) return prefix(OUTER.getVisualMsonInner(outer, sender)); - return INNER.getVisualMsonInner(inner, sender); + if (outer != null && inner == null) return prefix(this.getOuter().getVisualMsonInner(outer, sender)); + return this.getInner().getVisualMsonInner(inner, sender); } @Override public Mson getVisualMson(O outer, CommandSender sender) { I inner = outerToInner(outer); - if (outer != null && inner == null) return prefix(OUTER.getVisualMson(outer, sender)); - return INNER.getVisualMson(inner, sender); + if (outer != null && inner == null) return prefix(this.getOuter().getVisualMson(outer, sender)); + return this.getInner().getVisualMson(inner, sender); } @Override public Mson getVisualMson(O outer) { I inner = outerToInner(outer); - if (outer != null && inner == null) return prefix(OUTER.getVisualMson(outer)); - return INNER.getVisualMson(inner); + if (outer != null && inner == null) return prefix(this.getOuter().getVisualMson(outer)); + return this.getInner().getVisualMson(inner); } // -------------------------------------------- // @@ -168,24 +170,24 @@ public abstract class TypeTransformer extends TypeAbstract public String getVisualInner(O outer, CommandSender sender) { I inner = outerToInner(outer); - if (outer != null && inner == null) return prefix(OUTER.getVisualInner(outer, sender)); - return INNER.getVisualInner(inner, sender); + if (outer != null && inner == null) return prefix(this.getOuter().getVisualInner(outer, sender)); + return this.getInner().getVisualInner(inner, sender); } @Override public String getVisual(O outer, CommandSender sender) { I inner = outerToInner(outer); - if (outer != null && inner == null) return prefix(OUTER.getVisual(outer, sender)); - return INNER.getVisual(inner, sender); + if (outer != null && inner == null) return prefix(this.getOuter().getVisual(outer, sender)); + return this.getInner().getVisual(inner, sender); } @Override public String getVisual(O outer) { I inner = outerToInner(outer); - if (outer != null && inner == null) return prefix(OUTER.getVisual(outer)); - return INNER.getVisual(inner); + if (outer != null && inner == null) return prefix(this.getOuter().getVisual(outer)); + return this.getInner().getVisual(inner); } // -------------------------------------------- // @@ -197,7 +199,7 @@ public abstract class TypeTransformer extends TypeAbstract { I inner = outerToInner(outer); if (outer != null && inner == null) throw new NullPointerException("transformer"); - return INNER.getNameInner(inner); + return this.getInner().getNameInner(inner); } @Override @@ -205,7 +207,7 @@ public abstract class TypeTransformer extends TypeAbstract { I inner = outerToInner(outer); if (outer != null && inner == null) throw new NullPointerException("transformer"); - return INNER.getName(inner); + return this.getInner().getName(inner); } @Override @@ -213,7 +215,7 @@ public abstract class TypeTransformer extends TypeAbstract { I inner = outerToInner(outer); if (outer != null && inner == null) throw new NullPointerException("transformer"); - return INNER.getNamesInner(inner); + return this.getInner().getNamesInner(inner); } @Override @@ -221,7 +223,7 @@ public abstract class TypeTransformer extends TypeAbstract { I inner = outerToInner(outer); if (outer != null && inner == null) throw new NullPointerException("transformer"); - return INNER.getNames(inner); + return this.getInner().getNames(inner); } // -------------------------------------------- // @@ -233,7 +235,7 @@ public abstract class TypeTransformer extends TypeAbstract { I inner = outerToInner(outer); if (outer != null && inner == null) throw new NullPointerException("transformer"); - return INNER.getIdInner(inner); + return this.getInner().getIdInner(inner); } @Override @@ -241,7 +243,7 @@ public abstract class TypeTransformer extends TypeAbstract { I inner = outerToInner(outer); if (outer != null && inner == null) throw new NullPointerException("transformer"); - return INNER.getId(inner); + return this.getInner().getId(inner); } @Override @@ -249,7 +251,7 @@ public abstract class TypeTransformer extends TypeAbstract { I inner = outerToInner(outer); if (outer != null && inner == null) throw new NullPointerException("transformer"); - return INNER.getIdsInner(inner); + return this.getInner().getIdsInner(inner); } @Override @@ -257,7 +259,7 @@ public abstract class TypeTransformer extends TypeAbstract { I inner = outerToInner(outer); if (outer != null && inner == null) throw new NullPointerException("transformer"); - return INNER.getIds(inner); + return this.getInner().getIds(inner); } // -------------------------------------------- // @@ -267,7 +269,7 @@ public abstract class TypeTransformer extends TypeAbstract @Override public O read(String arg, CommandSender sender) throws MassiveException { - I inner = INNER.read(arg, sender); + I inner = this.getInner().read(arg, sender); O outer = innerToOuter(inner, sender); return outer; } @@ -279,7 +281,7 @@ public abstract class TypeTransformer extends TypeAbstract @Override public boolean isValid(String arg, CommandSender sender) { - return INNER.isValid(arg, sender); + return this.getInner().isValid(arg, sender); } // -------------------------------------------- // @@ -289,19 +291,19 @@ public abstract class TypeTransformer extends TypeAbstract @Override public Collection getTabList(CommandSender sender, String arg) { - return INNER.getTabList(sender, arg); + return this.getInner().getTabList(sender, arg); } @Override public List getTabListFiltered(CommandSender sender, String arg) { - return INNER.getTabListFiltered(sender, arg); + return this.getInner().getTabListFiltered(sender, arg); } @Override public boolean allowSpaceAfterTab() { - return INNER.allowSpaceAfterTab(); + return this.getInner().allowSpaceAfterTab(); } // -------------------------------------------- // @@ -311,13 +313,13 @@ public abstract class TypeTransformer extends TypeAbstract @Override public CommandEditAbstract createEditCommand(EditSettings settings, Property property) { - return OUTER.createEditCommand(settings, property); + return this.getOuter().createEditCommand(settings, property); } @Override public O createNewInstance() { - return OUTER.createNewInstance(); + return this.getOuter().createNewInstance(); } } diff --git a/src/com/massivecraft/massivecore/command/type/store/TypeEntityId.java b/src/com/massivecraft/massivecore/command/type/store/TypeEntityId.java index 2a6168bf..c5f64afd 100644 --- a/src/com/massivecraft/massivecore/command/type/store/TypeEntityId.java +++ b/src/com/massivecraft/massivecore/command/type/store/TypeEntityId.java @@ -32,7 +32,7 @@ public class TypeEntityId> extends TypeTransformer typeEntity = (TypeEntity)INNER; + TypeEntity typeEntity = (TypeEntity)this.getInner(); return typeEntity.getColl().get(outer, false); }