package com.gmail.dpierron.calibre.datamodel;
import com.gmail.dpierron.tools.Helper;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* Created by WalkerDJ on 16/04/2015.
*
* This object is meant to act as a way of provinding any methods and
* function that need to be supplied by all data objects that can
* generate their own catalog sub-section so that the logic for
* such generation can be made as generic as possible.
*/
public abstract class GenericDataObject implements SplitableByLetter {
private final static Logger logger = LogManager.getLogger(Author.class);
public abstract String getTitleToSplitByLetter();
static void sortObjectsByTitle(List<GenericDataObject> objs) {
Collections.sort(objs, new Comparator<GenericDataObject>() {
public int compare(GenericDataObject o1, GenericDataObject o2) {
return Helper.checkedCollatorCompareIgnoreCase(o1.getTitleToSplitByLetter(), o2.getTitleToSplitByLetter());
}
});
}
}