From 64c8e926d167a17865a6c3d86e48b383d413b569 Mon Sep 17 00:00:00 2001 From: Eduardo Pedroni Date: Sun, 12 Jun 2016 21:03:29 +0200 Subject: Refactoring sorting --- src/eu/equalparts/cardbase/sorting/CardSorting.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/eu/equalparts/cardbase/sorting/CardSorting.java (limited to 'src/eu/equalparts/cardbase/sorting') 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 sortByField(List cards, String fieldName) throws NoSuchFieldException { + cards.sort(new CardComparator(Card.class.getDeclaredField(fieldName))); + return cards; + } +} -- cgit v1.2.3