diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2011-07-23 21:52:13 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2011-07-23 21:52:13 +0200 |
| commit | 0454ba218fd2d9add5c663c9799b80b59a259eff (patch) | |
| tree | ccabf3e3be73210fdfa4cb39633731e84122f16d /src/cgeo/geocaching/sorting/PopularityComparator.java | |
| parent | 6d33eb1f7022544c145400845a4f084f1610ffa8 (diff) | |
| download | cgeo-0454ba218fd2d9add5c663c9799b80b59a259eff.zip cgeo-0454ba218fd2d9add5c663c9799b80b59a259eff.tar.gz cgeo-0454ba218fd2d9add5c663c9799b80b59a259eff.tar.bz2 | |
move all comparators to a new package
extract interface and common implementation details of sorting
Diffstat (limited to 'src/cgeo/geocaching/sorting/PopularityComparator.java')
| -rw-r--r-- | src/cgeo/geocaching/sorting/PopularityComparator.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/cgeo/geocaching/sorting/PopularityComparator.java b/src/cgeo/geocaching/sorting/PopularityComparator.java new file mode 100644 index 0000000..cc1a6ea --- /dev/null +++ b/src/cgeo/geocaching/sorting/PopularityComparator.java @@ -0,0 +1,25 @@ +package cgeo.geocaching.sorting; + +import cgeo.geocaching.cgCache; + +/** + * sorts caches by popularity (favorite count) + * + */ +public class PopularityComparator extends AbstractCacheComparator { + + @Override + protected boolean canCompare(cgCache cache1, cgCache cache2) { + return cache1.favouriteCnt != null && cache2.favouriteCnt != null; + } + + @Override + protected int compareCaches(cgCache cache1, cgCache cache2) { + if (cache1.favouriteCnt < cache2.favouriteCnt) { + return 1; + } else if (cache2.favouriteCnt < cache1.favouriteCnt) { + return -1; + } + return 0; + } +} |
