diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2011-10-19 07:22:13 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2011-10-19 07:22:13 +0200 |
| commit | bc610e7cfa71b871c5fb50bf4485bc5cdc81590c (patch) | |
| tree | 65443c017709371aec5e8e7a0b6f542e6a311a56 /main/src/cgeo/geocaching/cgCache.java | |
| parent | d30be334b017346e5db8b98882afb36e59cd50e9 (diff) | |
| download | cgeo-bc610e7cfa71b871c5fb50bf4485bc5cdc81590c.zip cgeo-bc610e7cfa71b871c5fb50bf4485bc5cdc81590c.tar.gz cgeo-bc610e7cfa71b871c5fb50bf4485bc5cdc81590c.tar.bz2 | |
#671, cache normalized name for sorting
Diffstat (limited to 'main/src/cgeo/geocaching/cgCache.java')
| -rw-r--r-- | main/src/cgeo/geocaching/cgCache.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/cgCache.java b/main/src/cgeo/geocaching/cgCache.java index 8874eae..cdd0fc3 100644 --- a/main/src/cgeo/geocaching/cgCache.java +++ b/main/src/cgeo/geocaching/cgCache.java @@ -85,7 +85,9 @@ public class cgCache implements ICache { public boolean statusChecked = false; public boolean statusCheckedView = false; public String directionImg = null; + private String nameForSorting; + private static final Pattern NUMBER_PATTERN = Pattern.compile("\\d+"); /** * Gather missing information from another cache object. * @@ -562,4 +564,17 @@ public class cgCache implements ICache { return favouriteCnt; } + @Override + public String getNameForSorting() { + if (null == nameForSorting) { + final Matcher matcher = NUMBER_PATTERN.matcher(name); + if (matcher.find()) { + nameForSorting = name.replace(matcher.group(), StringUtils.leftPad(matcher.group(), 6, '0')); + } + else { + nameForSorting = name; + } + } + return nameForSorting; + } } |
