fedora.client
Class Downloader

java.lang.Object
  extended by fedora.client.Downloader

public class Downloader
extends java.lang.Object

A client for performing HTTP GET requests on a Fedora server (with authentication) or any other server (without authentication). Each kind of request can either request an InputStream or request that the Downloader write the content directly to a provided OutputStream.

Author:
cwilper@cs.cornell.edu

Constructor Summary
Downloader(java.lang.String host, int port, java.lang.String user, java.lang.String pass)
          Construct a downloader for a certain repository as a certain user.
 
Method Summary
 java.io.InputStream get(java.lang.String url)
          Get data via HTTP as an InputStream, following redirects, and supplying credentials if the host is the Fedora server.
 void get(java.lang.String url, java.io.OutputStream out)
          Get data via HTTP and write it to an OutputStream, following redirects, and supplying credentials if the host is the Fedora server.
 java.io.InputStream getDatastreamContent(java.lang.String pid, java.lang.String dsID, java.lang.String asOfDateTime)
           
 void getDatastreamContent(java.lang.String pid, java.lang.String dsID, java.lang.String asOfDateTime, java.io.OutputStream out)
           
 java.io.InputStream getDatastreamDissemination(java.lang.String pid, java.lang.String dsId, java.lang.String asOfDateTime)
           
 void getDatastreamDissemination(java.lang.String pid, java.lang.String dsId, java.lang.String asOfDateTime, java.io.OutputStream out)
           
static void main(java.lang.String[] args)
          Test this class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Downloader

public Downloader(java.lang.String host,
                  int port,
                  java.lang.String user,
                  java.lang.String pass)
           throws java.io.IOException
Construct a downloader for a certain repository as a certain user.

Throws:
java.io.IOException
Method Detail

getDatastreamContent

public void getDatastreamContent(java.lang.String pid,
                                 java.lang.String dsID,
                                 java.lang.String asOfDateTime,
                                 java.io.OutputStream out)
                          throws java.io.IOException
Throws:
java.io.IOException

getDatastreamContent

public java.io.InputStream getDatastreamContent(java.lang.String pid,
                                                java.lang.String dsID,
                                                java.lang.String asOfDateTime)
                                         throws java.io.IOException
Throws:
java.io.IOException

getDatastreamDissemination

public void getDatastreamDissemination(java.lang.String pid,
                                       java.lang.String dsId,
                                       java.lang.String asOfDateTime,
                                       java.io.OutputStream out)
                                throws java.io.IOException
Throws:
java.io.IOException

getDatastreamDissemination

public java.io.InputStream getDatastreamDissemination(java.lang.String pid,
                                                      java.lang.String dsId,
                                                      java.lang.String asOfDateTime)
                                               throws java.io.IOException
Throws:
java.io.IOException

get

public void get(java.lang.String url,
                java.io.OutputStream out)
         throws java.io.IOException
Get data via HTTP and write it to an OutputStream, following redirects, and supplying credentials if the host is the Fedora server.

Throws:
java.io.IOException

get

public java.io.InputStream get(java.lang.String url)
                        throws java.io.IOException
Get data via HTTP as an InputStream, following redirects, and supplying credentials if the host is the Fedora server.

Throws:
java.io.IOException

main

public static void main(java.lang.String[] args)
Test this class.