diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2011-09-16 14:36:28 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2011-09-16 14:36:28 +0200 |
| commit | 579ef7a535489d4aa632db11667a3b01deb6cafd (patch) | |
| tree | 55810021c02ac7d80d3a9702ef0b59e4af154b9c /main/src/cgeo/geocaching/connector/ConnectorFactory.java | |
| parent | 96ea21fd50334479c262da692038965d0e4d596a (diff) | |
| download | cgeo-579ef7a535489d4aa632db11667a3b01deb6cafd.zip cgeo-579ef7a535489d4aa632db11667a3b01deb6cafd.tar.gz cgeo-579ef7a535489d4aa632db11667a3b01deb6cafd.tar.bz2 | |
Move sources into the main directory
This prepares the inclusion of tests into the same repository.
Diffstat (limited to 'main/src/cgeo/geocaching/connector/ConnectorFactory.java')
| -rw-r--r-- | main/src/cgeo/geocaching/connector/ConnectorFactory.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/connector/ConnectorFactory.java b/main/src/cgeo/geocaching/connector/ConnectorFactory.java new file mode 100644 index 0000000..867f48d --- /dev/null +++ b/main/src/cgeo/geocaching/connector/ConnectorFactory.java @@ -0,0 +1,31 @@ +package cgeo.geocaching.connector; + +import cgeo.geocaching.cgCache; + +public final class ConnectorFactory { + private static final GCConnector GC_CONNECTOR = new GCConnector(); + private static final IConnector[] connectors = new IConnector[] { GC_CONNECTOR, new OCConnector(), new OXConnector() }; + + public static IConnector[] getConnectors() { + return connectors; + } + + public static boolean canHandle(final String geocode) { + for (IConnector connector : connectors) { + if (connector.canHandle(geocode)) { + return true; + } + } + return false; + } + + public static IConnector getConnector(cgCache cache) { + for (IConnector connector : connectors) { + if (connector.canHandle(cache.geocode)) { + return connector; + } + } + // in case of errors, assume GC as default + return GC_CONNECTOR; + } +} |
