package com.flextrade.jfixture; import java.lang.reflect.Constructor; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; public class DefaultConstructorQuery implements ConstructorQuery { private final Comparator<Constructor<?>> comparator; public DefaultConstructorQuery() { this.comparator = null; } public DefaultConstructorQuery(Comparator<Constructor<?>> comparator) { this.comparator = comparator; } @Override public List<Constructor<?>> getConstructorsForClass(Class<?> clazz) { List<Constructor<?>> constructors = Arrays.asList(clazz.getConstructors()); if (this.comparator != null) { // Don't attempt to sort if there's no Comparator Collections.sort(constructors, this.comparator); } return constructors; } }