Class AbstractSitemapGenerator<T extends AbstractGenerator>

    • Constructor Detail

      • AbstractSitemapGenerator

        public AbstractSitemapGenerator​(String baseUrl)
    • Method Detail

      • toStringArray

        public abstract String[] toStringArray()
      • toString

        public String toString()
        Construct sitemap into String
        Overrides:
        toString in class Object
        Returns:
        sitemap
      • toString

        public T toString​(Consumer<String> stringConsumer)
        Construct sitemap into String which is consumed by supplied Consumer
        Parameters:
        stringConsumer - Consumer which consumes generated String
        Returns:
        this
      • toPrettyString

        public String toPrettyString​(int indent)
        Construct sitemap into prettified String
        Parameters:
        indent - Indentation
        Returns:
        sitemap
      • toPrettyString

        public T toPrettyString​(int indent,
                                Consumer<String> stringConsumer)
        Construct sitemap into prettified String which is consumed by supplied Consumer
        Parameters:
        indent - Indentation
        stringConsumer - Consumer which consumes generated String
        Returns:
        this
      • toGzipByteArray

        public byte[] toGzipByteArray()
        Construct sitemap into gzipped file
        Returns:
        byte array
      • toGzipByteArray

        public T toGzipByteArray​(Consumer<byte[]> byteArrayConsumer)
        Construct sitemap into gzipped byte array which is consumed by supplied Consumer
        Parameters:
        byteArrayConsumer - Consumer which consumes generated byte array
        Returns:
        this
      • toFile

        public T toFile​(File file)
                 throws IOException
        Construct and save sitemap to output file
        Parameters:
        file - Output file
        Returns:
        this
        Throws:
        IOException - when error
      • toFile

        public T toFile​(Supplier<File> fileSupplier)
                 throws IOException
        Construct and save sitemap to output file
        Parameters:
        fileSupplier - Supplier which supplies output file
        Returns:
        this
        Throws:
        IOException - when error
      • toFile

        public T toFile​(Path path)
                 throws IOException
        Construct and save sitemap to output file
        Parameters:
        path - Output file
        Returns:
        this
        Throws:
        IOException - when error
      • pingGoogle

        public void pingGoogle​(String sitemapUrl)
        Ping Google that sitemap has changed. Will call this URL: https://www.google.com/ping?sitemap=URL_Encoded_sitemapUrl
        Parameters:
        sitemapUrl - sitemap url
      • pingBing

        public void pingBing​(String sitemapUrl)
        Ping Bing that sitemap has changed. Will call this URL: http://www.bing.com/ping?sitemap=URL_Encoded_sitemapUrl
        Parameters:
        sitemapUrl - sitemap url
      • pingGoogle

        public void pingGoogle()
        Ping Google that sitemap has changed. Sitemap must be on this location: baseUrl/sitemap.xml (for example http://www.javavids.com/sitemap.xml)
      • pingBing

        public void pingBing()
        Ping Google that sitemap has changed. Sitemap must be on this location: baseUrl/sitemap.xml (for example http://www.javavids.com/sitemap.xml)
      • defaultDir

        public T defaultDir​(String dirName)
        Sets default prefix dir to name for all subsequent WebPages. Final name will be "dirName/name"
        Parameters:
        dirName - Dir name
        Returns:
        this
      • defaultDir

        public T defaultDir​(String... dirNames)
        Sets default prefix dirs to name for all subsequent WebPages. For dirs: ["a", "b", "c"], the final name will be "a/b/c/name"
        Parameters:
        dirNames - Dir names
        Returns:
        this
      • resetDefaultDir

        public T resetDefaultDir()
        Reset default dir value
        Returns:
        this
      • defaultExtension

        public T defaultExtension​(String extension)
        Sets default suffix extension for all subsequent WebPages. Final name will be "name.extension"
        Parameters:
        extension - Extension
        Returns:
        this
      • resetDefaultExtension

        public T resetDefaultExtension()
        Reset default extension value
        Returns:
        this
      • defaultPriorityMax

        public T defaultPriorityMax()
        Sets default priority for all subsequent WebPages to maximum (1.0)
        Returns:
        this
      • defaultPriority

        public T defaultPriority​(Double priority)
        Sets default priority for all subsequent WebPages
        Parameters:
        priority - Default priority
        Returns:
        this
      • resetDefaultPriority

        public T resetDefaultPriority()
        Reset default priority
        Returns:
        this
      • defaultChangeFreq

        public T defaultChangeFreq​(ChangeFreq changeFreq)
        Sets default changeFreq for all subsequent WebPages
        Parameters:
        changeFreq - ChangeFreq
        Returns:
        this
      • defaultChangeFreqAlways

        public T defaultChangeFreqAlways()
        Sets default changeFreq to ALWAYS for all subsequent WebPages
        Returns:
        this
      • defaultChangeFreqHourly

        public T defaultChangeFreqHourly()
        Sets default changeFreq to HOURLY for all subsequent WebPages
        Returns:
        this
      • defaultChangeFreqDaily

        public T defaultChangeFreqDaily()
        Sets default changeFreq to DAILY for all subsequent WebPages
        Returns:
        this
      • defaultChangeFreqWeekly

        public T defaultChangeFreqWeekly()
        Sets default changeFreq to WEEKLY for all subsequent WebPages
        Returns:
        this
      • defaultChangeFreqMonthly

        public T defaultChangeFreqMonthly()
        Sets default changeFreq to MONTHLY for all subsequent WebPages
        Returns:
        this
      • defaultChangeFreqYearly

        public T defaultChangeFreqYearly()
        Sets default changeFreq to YEARLY for all subsequent WebPages
        Returns:
        this
      • defaultChangeFreqNever

        public T defaultChangeFreqNever()
        Sets default changeFreq to NEVER for all subsequent WebPages
        Returns:
        this
      • resetDefaultChangeFreq

        public T resetDefaultChangeFreq()
        Reset default changeFreq
        Returns:
        this
      • defaultLastMod

        public T defaultLastMod​(Date lastMod)
        Sets default lastMod for all subsequent WebPages
        Parameters:
        lastMod - lastMod
        Returns:
        this
      • defaultLastMod

        public T defaultLastMod​(LocalDateTime lastMod)
        Sets default lastMod for all subsequent WebPages
        Parameters:
        lastMod - lastMod
        Returns:
        this
      • defaultLastModNow

        public T defaultLastModNow()
        Sets default lastMod = new Date() for all subsequent WebPages
        Returns:
        this
      • resetDefaultLastMod

        public T resetDefaultLastMod()
        Reset default lastMod
        Returns:
        this
      • setHttpClient

        public void setHttpClient​(HttpClient httpClient)
      • getAbsoluteUrl

        protected String getAbsoluteUrl​(String webPageName)
        Get absolute URL: If webPageName is null, return baseUrl. If webPageName is not null, check if webPageName is absolute (can be URL from CDN) or relative URL. If it's relative URL, prepend baseUrl and return result
        Parameters:
        webPageName - WebPageName
        Returns:
        Correct URL