aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java
blob: 39920133909a3e75db593aadfbab9e226aee0577 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package cgeo.geocaching.connector;

import cgeo.geocaching.Geocache;
import cgeo.geocaching.ICache;

import org.apache.commons.lang3.StringUtils;
import org.eclipse.jdt.annotation.NonNull;

public class GeocachingAustraliaConnector extends AbstractConnector {

    @Override
    public String getName() {
        return "Geocaching Australia";
    }

    @Override
    public String getCacheUrl(final @NonNull Geocache cache) {
        return getCacheUrlPrefix() + cache.getGeocode();
    }

    @Override
    public String getHost() {
        return "geocaching.com.au";
    }

    @Override
    public boolean isOwner(final ICache cache) {
        return false;
    }

    @Override
    public boolean canHandle(final @NonNull String geocode) {
        return (StringUtils.startsWithIgnoreCase(geocode, "GA") || StringUtils.startsWithIgnoreCase(geocode, "TP")) && isNumericId(geocode.substring(2));
    }

    @Override
    protected String getCacheUrlPrefix() {
        return "http://" + getHost() + "/cache/";
    }
}