Class ResourcesDownloader

All Implemented Interfaces:
Localized

public class ResourcesDownloader extends OptionalInstallations
A provider for data licensed under different terms of use than the Apache license. This class is in charge of downloading the data if necessary and asking user's agreement before to install them. Authorities managed by the current implementation are:
  • "EPSG" for the EPSG geodetic dataset.
Since:
0.7
Version:
1.1
  • Field Details

    • console

      private final Console console
      The console to use for printing EPSG terms of use and asking for agreement, or null if none.
    • locale

      private final Locale locale
      The locale to use for text display.
    • colors

      private final boolean colors
      true if colors can be applied for ANSI X3.64 compliant terminal.
    • answers

      private final Map<String,Boolean> answers
      The localized answers expected from the users. Keys are words like "Yes" or "No" and boolean values are the meaning of the keys.
  • Constructor Details

    • ResourcesDownloader

      public ResourcesDownloader()
      Creates a new installation scripts provider.
  • Method Details

    • getLocale

      public Locale getLocale()
      Returns the locale to use for messages shown to the user.
      Specified by:
      getLocale in interface Localized
      Overrides:
      getLocale in class OptionalInstallations
      Returns:
      the locale of messages shown to the user.
    • getAuthorities

      public Set<String> getAuthorities()
      Returns the name of the authority who provides data under non-Apache terms of use. If this ResourcesDownloader cannot ask user's agreement because there is no Console attached to the current Java virtual machine, then this method returns an empty set.
      Overrides:
      getAuthorities in class OptionalInstallations
      Returns:
      "EPSG" or an empty set.
    • askUserAgreement

      protected boolean askUserAgreement(String authority, String license)
      Asks to the user if (s)he agree to download and install the resource for the given authority. This method may be invoked twice for the same authority argument: first with a null license argument for asking if the user agrees to download the data, then with a non-null license argument for asking if the user agrees with the license terms.
      Specified by:
      askUserAgreement in class OptionalInstallations
      Parameters:
      authority - one of the authorities returned by OptionalInstallations.getAuthorities().
      license - the license, or null for asking if the user wants to download the data.
      Returns:
      whether user accepted.