package uk.ac.ebi.ep.sitemap.advanced; import java.net.MalformedURLException; import java.net.URL; /** * One configurable Geo URL, either KML or GeoRSS. At this time, SitemapGen4j can't generate either * KML or GeoRSS (sorry). To configure this class, use {@link Options} * @author Dan Fabulich * @see Options * @see <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=94555">Creating Geo Sitemaps</a> */ public class GoogleGeoSitemapUrl extends WebSitemapUrl { /** The two Geo URL formats: KML and GeoRSS */ public enum Format { KML, GEORSS; @Override public String toString() { return this.name().toLowerCase(); }; } private final Format format; /** Options to configure Geo URLs */ public static class Options extends AbstractSitemapUrlOptions<GoogleGeoSitemapUrl, Options> { private Format format; /** Specifies a Geo URL and its format */ public Options(String url, Format format) throws MalformedURLException { super(url, GoogleGeoSitemapUrl.class); this.format = format; } /** Specifies a Geo URL and its format */ public Options(URL url, Format format) { super(url, GoogleGeoSitemapUrl.class); this.format = format; } } /** Specifies a Geo URL and its format */ public GoogleGeoSitemapUrl(URL url, Format format) { this(new Options(url, format)); } /** Specifies a Geo URL and its format */ public GoogleGeoSitemapUrl(String url, Format format) throws MalformedURLException { this(new Options(url, format)); } /** Configures the URL with {@link Options} */ public GoogleGeoSitemapUrl(Options options) { super(options); format = options.format; } /** Retrieves the URL {@link Format} */ public Format getFormat() { return format; } }