Use Joiner and TO_NICE_NAME to concatenate the Sone names.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sat, 9 Nov 2013 15:34:38 +0000 (16:34 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 28 Feb 2014 21:25:58 +0000 (22:25 +0100)
src/main/java/net/pterodactylus/sone/template/CollectionAccessor.java

index e6b1dfc..b9fb346 100644 (file)
 
 package net.pterodactylus.sone.template;
 
+import static com.google.common.base.Joiner.on;
+import static com.google.common.collect.FluentIterable.from;
+import static net.pterodactylus.sone.data.Sone.TO_NICE_NAME;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -27,6 +31,8 @@ import net.pterodactylus.util.template.Accessor;
 import net.pterodactylus.util.template.ReflectionAccessor;
 import net.pterodactylus.util.template.TemplateContext;
 
+import com.google.common.base.Joiner;
+
 /**
  * {@link Accessor} for {@link Collection}s that adds a couple of specialized
  * properties that only work for collections that contain the right types.
@@ -55,14 +61,7 @@ public class CollectionAccessor extends ReflectionAccessor {
                                sones.add((Sone) sone);
                        }
                        Collections.sort(sones, Sone.NICE_NAME_COMPARATOR);
-                       StringBuilder soneNames = new StringBuilder();
-                       for (Sone sone : sones) {
-                               if (soneNames.length() > 0) {
-                                       soneNames.append(", ");
-                               }
-                               soneNames.append(SoneAccessor.getNiceName(sone));
-                       }
-                       return soneNames.toString();
+                       return on(", ").join(from(sones).transform(TO_NICE_NAME));
                }
                return super.get(templateContext, object, member);
        }