diff --git a/core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java b/core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java index 3f20bc8..4879f55 100644 --- a/core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java +++ b/core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java @@ -16,12 +16,12 @@ package org.synyx.hera.core; -import java.io.Serializable; import java.util.Collections; import java.util.Comparator; import java.util.List; import org.springframework.core.annotation.AnnotationAwareOrderComparator; +import org.springframework.util.comparator.InvertibleComparator; /** @@ -48,8 +48,9 @@ public class OrderAwarePluginRegistry, S> extends /** * Comparator reverting the {@value #DEFAULT_COMPARATOR}. */ + @SuppressWarnings("unchecked") private static final Comparator DEFAULT_REVERSE_COMPARATOR = - new RevertingComparator(DEFAULT_COMPARATOR); + new InvertibleComparator(DEFAULT_COMPARATOR, false); private Comparator comparator; @@ -61,8 +62,8 @@ public class OrderAwarePluginRegistry, S> extends * @param plugins the {@link Plugin}s to be contained in the registry or * {@literal null} if the registry shall be empty initally. * @param comparator the {@link Comparator} to be used for ordering the - * {@link Plugin}s or {@literal null} if the {@code - * #DEFAULT_COMPARATOR} shall be used. + * {@link Plugin}s or {@literal null} if the + * {@code #DEFAULT_COMPARATOR} shall be used. */ protected OrderAwarePluginRegistry(List plugins, Comparator comparator) { @@ -73,8 +74,8 @@ public class OrderAwarePluginRegistry, S> extends /** - * Creates a new {@link OrderAwarePluginRegistry} using the {@code - * #DEFAULT_COMPARATOR}. + * Creates a new {@link OrderAwarePluginRegistry} using the + * {@code #DEFAULT_COMPARATOR}. * * @param * @param @@ -208,41 +209,6 @@ public class OrderAwarePluginRegistry, S> extends @SuppressWarnings("unchecked") public OrderAwarePluginRegistry reverse() { - return create(plugins, new RevertingComparator(comparator)); - } - - /** - * Comparator to revert the ordering of the given delegate. - * - * @author Oliver Gierke - gierke@synyx.de - */ - private static final class RevertingComparator implements Comparator, - Serializable { - - private static final long serialVersionUID = 5296103845985772391L; - - private final Comparator delegate; - - - /** - * Creates a new {@link RevertingComparator}. - * - * @param delegate - */ - public RevertingComparator(Comparator delegate) { - - this.delegate = delegate; - } - - - /* - * (non-Javadoc) - * - * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) - */ - public int compare(T first, T second) { - - return -1 * delegate.compare(first, second); - } + return create(plugins, new InvertibleComparator(comparator, false)); } } diff --git a/core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java b/core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java index d0e3af3..bcf960a 100644 --- a/core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java +++ b/core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java @@ -57,8 +57,7 @@ public class BeanListFactoryBean extends AbstractTypeAwareSupport * * @see org.springframework.beans.factory.FactoryBean#getObjectType() */ - @SuppressWarnings("unchecked") - public Class getObjectType() { + public Class getObjectType() { return List.class; } diff --git a/core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java b/core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java index 343ac4a..f821ab8 100644 --- a/core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java +++ b/core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java @@ -46,8 +46,7 @@ public class PluginRegistryFactoryBean, S> extends * * @see org.springframework.beans.factory.FactoryBean#getObjectType() */ - @SuppressWarnings("unchecked") - public Class getObjectType() { + public Class getObjectType() { return PluginRegistry.class; }