diff options
Diffstat (limited to 'src/eu/equalparts/cardbase/sorting')
-rw-r--r-- | src/eu/equalparts/cardbase/sorting/CardSorting.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/eu/equalparts/cardbase/sorting/CardSorting.java b/src/eu/equalparts/cardbase/sorting/CardSorting.java new file mode 100644 index 0000000..04413b9 --- /dev/null +++ b/src/eu/equalparts/cardbase/sorting/CardSorting.java @@ -0,0 +1,20 @@ +package eu.equalparts.cardbase.sorting; + +import java.util.List; + +import eu.equalparts.cardbase.cards.Card; +import eu.equalparts.cardbase.comparator.CardComparator; + +public abstract class CardSorting { + + /** + * @param cards + * @param fieldName the name of the field by which to sort. + * @return an unmodifiable collection representing the cardbase sorted in the required order. + * @throws NoSuchFieldException if the field provided is invalid. + */ + public static List<Card> sortByField(List<Card> cards, String fieldName) throws NoSuchFieldException { + cards.sort(new CardComparator(Card.class.getDeclaredField(fieldName))); + return cards; + } +} |