package org.april.agirstatool.core; import java.util.Comparator; /** * The Class ProjectComparator. */ public class ProjectComparator implements Comparator { public enum Sorting { ID, IDENTIFIER, NAME } private Sorting sorting; /** * * @param sorting */ public ProjectComparator(final Sorting sorting) { // this.sorting = sorting; } /** * */ @Override public int compare(final Project alpha, final Project bravo) { int result; result = compare(alpha, bravo, this.sorting); // return result; } /** * */ public static int compare(final Project alpha, final Project bravo, final Sorting sorting) { int result; if (sorting == null) { result = 0; } else { switch (sorting) { case ID: result = CompareUtils.compare(getId(alpha), getId(bravo)); break; case IDENTIFIER: result = CompareUtils.compare(getIdentifier(alpha), getIdentifier(bravo)); break; case NAME: default: result = CompareUtils.compare(getName(alpha), getName(bravo)); } } // return result; } /** * * @param source * @return */ public static Long getId(final Project source) { Long result; if (source == null) { result = null; } else { result = source.getId(); } // return result; } /** * * @param source * @return */ public static String getIdentifier(final Project source) { String result; if (source == null) { result = null; } else { result = source.getIdentifier(); } // return result; } /** * * @param source * @return */ public static String getName(final Project source) { String result; if (source == null) { result = null; } else { result = source.getName(); } // return result; } }