Interface URLContentRetriever

    • Method Detail

      • downloadUrlTo

        @Nullable
        String downloadUrlTo​(@NotNull
                             String url,
                             @NotNull
                             File target)
                      throws IOException
        Download artifact to given location. Implementation is expected to write file only if the content was fetched successfully
        Parameters:
        url - source url to get artifact from
        target - target file location
        Returns:
        digest of downloaded context, or null if the content can not be retrieved by this transport
        Throws:
        IOException - if operation failed, can also throw RecoverableIOException if operation can be repeated
      • getDigest

        @Nullable
        String getDigest​(@NotNull
                         String url)
                  throws IOException
        Retrieve content's digest. The digest will be compared with locally stored value to see if content has changed and must be downloaded again.
        Implementation is expected not to download whole content to get the digest.
        Parameters:
        url - source url of the artifact to retrieve digest for
        Returns:
        the digest or null, if the digest can not be retrieved by this transport
        Throws:
        IOException - if operation failed
      • interrupt

        void interrupt()
        Interrupt operation. Interrupts current transfer operation as early as possible. Will be called from external thread, so implementation should be thread-safe. Main thread is expected to throw ResolvingInterruptedException when interrupt is received