aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/connector/AbstractConnector.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/connector/AbstractConnector.java')
-rw-r--r--main/src/cgeo/geocaching/connector/AbstractConnector.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/connector/AbstractConnector.java b/main/src/cgeo/geocaching/connector/AbstractConnector.java
index aa75f3b..112d6cf 100644
--- a/main/src/cgeo/geocaching/connector/AbstractConnector.java
+++ b/main/src/cgeo/geocaching/connector/AbstractConnector.java
@@ -4,6 +4,8 @@ import cgeo.geocaching.SearchResult;
import cgeo.geocaching.cgCache;
import cgeo.geocaching.geopoint.Viewport;
+import org.apache.commons.lang3.StringUtils;
+
public abstract class AbstractConnector implements IConnector {
@Override
@@ -65,4 +67,18 @@ public abstract class AbstractConnector implements IConnector {
public String[] getTokens() {
return null;
}
+
+ @Override
+ public String getGeocodeFromUrl(final String url) {
+ final String urlPrefix = getCacheUrlPrefix();
+ if (StringUtils.startsWith(url, urlPrefix)) {
+ String geocode = url.substring(urlPrefix.length());
+ if (canHandle(geocode)) {
+ return geocode;
+ }
+ }
+ return null;
+ }
+
+ abstract protected String getCacheUrlPrefix();
}