@Test public void testSorting() { List<PluginDescriptor> pluginDescriptors = Lists.newArrayList(); pluginDescriptors.add(pluginDescriptorWithName("Zzz")); pluginDescriptors.add(pluginDescriptorWithName("Yyy Plugin")); pluginDescriptors.add(pluginDescriptorWithName("Xxx plugin")); pluginDescriptors.add(pluginDescriptorWithName("Aaa Plugin")); pluginDescriptors.add(pluginDescriptorWithName("Bbb")); List<PluginDescriptor> sortedPluginDescriptors = new PluginDescriptorOrdering().sortedCopy(pluginDescriptors); assertThat(sortedPluginDescriptors.get(0).name()).isEqualTo("Aaa Plugin"); assertThat(sortedPluginDescriptors.get(1).name()).isEqualTo("Bbb"); assertThat(sortedPluginDescriptors.get(2).name()).isEqualTo("Xxx plugin"); assertThat(sortedPluginDescriptors.get(3).name()).isEqualTo("Yyy Plugin"); assertThat(sortedPluginDescriptors.get(4).name()).isEqualTo("Zzz"); }
public abstract String name();
PluginDescriptor { public abstract String name(); }
PluginDescriptor { public abstract String name();  }
PluginDescriptor { public abstract String name();  abstract String id(); abstract String name(); abstract ImmutableList<PropertyDescriptor> properties(); @JsonProperty("instrumentation") abstract ImmutableList<InstrumentationConfig> instrumentationConfigs(); abstract ImmutableList<String> aspects(); static PluginDescriptor readValue(String content); static String writeValue(List<PluginDescriptor> pluginDescriptors); }
PluginDescriptor { public abstract String name();  abstract String id(); abstract String name(); abstract ImmutableList<PropertyDescriptor> properties(); @JsonProperty("instrumentation") abstract ImmutableList<InstrumentationConfig> instrumentationConfigs(); abstract ImmutableList<String> aspects(); static PluginDescriptor readValue(String content); static String writeValue(List<PluginDescriptor> pluginDescriptors);  }