Archived Website: This website is a static snapshot for archival purposes only. It is no longer maintained or updated.

dataprovider.net
Class NetService

java.lang.Object
  |
  +--dataprovider.net.NetService
Direct Known Subclasses:
FileNetService, FTPNetService, HTTPNetService

public abstract class NetService
extends java.lang.Object

Abstrakte Superklasse f?r Netz-Services, wie zum Beispiel HTTPNetService und FTPNetService.

Version:
1.0
Author:
Jens
See Also:
HTTPNetService, FTPNetService

Field Summary
private static int defaultTimeout
           
(package private) static int HTMLTEXTNETRESULT
           
protected  java.lang.String password
           
(package private) static int TEXTNETRESULT
           
protected  int timeout
           
protected static java.util.TreeMap typeMap
           
protected  java.lang.String user
           
 
Constructor Summary
NetService()
           
 
Method Summary
(package private) static void ()
           
protected static NetResult composeNetResult(java.lang.String contentType, java.lang.String url, java.lang.String rawContent, java.util.Date download, java.util.Date lastModified)
          Komponiert den passenden NetResult.
static NetResult[] concurrentlyGetNetResults(java.lang.String[] urls)
          Diese Methode l?dt PARALLEL NetResults.
abstract  NetResult getNetResult(java.lang.String url)
          Diese Methode liefert den Inhalt der ?bergebenen URL.
static NetResult getNetResultWithURLConnection(java.lang.String url)
          Die statische Methode getNetResultWithURLConnection(String) versucht den Inhalt der uebergebenen URL zu laden und gibt schliesslich diesen in Form eines passenden NetResults zurueck.
static NetService getNetService(java.lang.String url)
          Die statische Methode getNetService(String) liefert zu der ?bergebenen URL eine Instanz einer abgeleiteten Klasse von NetService, die den zu der URL passenden Service realisiert.
static void setDefaultTimeout(int secs)
          Diese Methode legt den Timeout in Sekunden fest, der bei der Instanzierung einer Subklasse als Anfangswert bei dieser Instanz gelten soll.
 void setPassword(java.lang.String password)
          Setzt das Passwort fuer die Authentifikation.
 void setTimeout(int timeout)
          Setzt den Verbindungs-Timeout, falls ein solcher erwuenscht ist; default: kein timeout.
 void setUser(java.lang.String userName)
          Setzt den Nutzernamen bei Anfragen, die eine Authentifikation erfordern.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

defaultTimeout

private static int defaultTimeout

timeout

protected int timeout

user

protected java.lang.String user

password

protected java.lang.String password

typeMap

protected static java.util.TreeMap typeMap

HTMLTEXTNETRESULT

static final int HTMLTEXTNETRESULT

TEXTNETRESULT

static final int TEXTNETRESULT
Constructor Detail

NetService

public NetService()
Method Detail

setDefaultTimeout

public static void setDefaultTimeout(int secs)
Diese Methode legt den Timeout in Sekunden fest, der bei der Instanzierung einer Subklasse als Anfangswert bei dieser Instanz gelten soll. Bei jeder einzelnen NetService-Instanz kann dieser Wert dann mit setTimeout(int) individuell ?berschrieben werden.

setTimeout

public void setTimeout(int timeout)
Setzt den Verbindungs-Timeout, falls ein solcher erwuenscht ist; default: kein timeout.
Parameters:
timeout - Der gewünschte Timeout in Sekunden.

setUser

public void setUser(java.lang.String userName)
Setzt den Nutzernamen bei Anfragen, die eine Authentifikation erfordern.
Parameters:
userName - Der Benutzername.

setPassword

public void setPassword(java.lang.String password)
Setzt das Passwort fuer die Authentifikation.
Parameters:
password - Das Passwort.

getNetResult

public abstract NetResult getNetResult(java.lang.String url)
                                throws NetServiceException,
                                       java.net.MalformedURLException
Diese Methode liefert den Inhalt der ?bergebenen URL. Falls dieser nicht geladen werden kann, werden Exceptions ausgel?st.
Returns:
Eine Instanz der Klasse NetResult bzw. einer abgeleiteten Klasse dieser.
Throws:
NetServiceTimeoutException -  
NetServiceAuthFailedException -  
NetServiceFileNotFoundException -  
NetServiceHostNotFoundException -  
See Also:
NetResult

getNetService

public static NetService getNetService(java.lang.String url)
                                throws NetServiceNoSuchServiceException,
                                       java.net.MalformedURLException
Die statische Methode getNetService(String) liefert zu der ?bergebenen URL eine Instanz einer abgeleiteten Klasse von NetService, die den zu der URL passenden Service realisiert. Ist das Protokoll f?r die angefragte URL bekannt, so wird man sich gleich den passenden, speziellen NetService, wie z.B. HTTPNetService f?r das HTTP, instanziieren.

Einbindungsbeispiel:

NetService service; try { service = NetService.getNetService ("http://www.vh1.de" ); }; catch ... ;

Die Variable service ist jetzt eine Instanz von HTTPNetService.

Returns:
Eine Instanz einer von der abstrakten Klasse NetService abgeleiteten Klasse, also einen konkreten Netz-Service.
Throws:
NetServiceNoSuchServiceException -  


getNetResultWithURLConnection

public static NetResult getNetResultWithURLConnection(java.lang.String url)
                                               throws NetServiceException,
                                                      java.net.MalformedURLException
Die statische Methode getNetResultWithURLConnection(String) versucht den Inhalt der uebergebenen URL zu laden und gibt schliesslich diesen in Form eines passenden NetResults zurueck. Dies geschieht unter Zuhilfenahme der Klasse java.net.URLConnection.

concurrentlyGetNetResults

public static NetResult[] concurrentlyGetNetResults(java.lang.String[] urls)
                                             throws NetServiceTimeoutException
Diese Methode l?dt PARALLEL NetResults. Die Positionen im Ausgabearray korrespondieren mit denen der ?bergeben URLs. Sollte eine URL nicht geladen werden k?nnen, so wird im Ausgabearray NULL in korrespondierender Stelle stehen! Sollten alle Ladevorgaenge timeouten, wird eine entspr. Exception geworfen. (Wegen IO-Errors, MalformedURLExceptions u. ae. kann es (trotzdem) passieren, dass ein mit NULLs gefuelltes Array zurueckgegeben wird! Sollte ein NetService einer der URLs keine Timeouts unterst?tzen, so wird diese Methode erst dann "return?en", wenn die URL geladen wurde (was bei einer nicht nicht antwortenden Verbindung und ohne Proxy ganz sch?n lang dauern kann).

static void ()

composeNetResult

protected static NetResult composeNetResult(java.lang.String contentType,
                                            java.lang.String url,
                                            java.lang.String rawContent,
                                            java.util.Date download,
                                            java.util.Date lastModified)
                                     throws NetServiceException,
                                            java.net.MalformedURLException
Komponiert den passenden NetResult. Wir von konkreten NetServices aufgerufen. Wird ein neuer NetResult-Typ und/oder neuer Content-Typ unterst?tzt muss hier die Verknuepfung stattfinden. Bisher werden die Content-Typs text/html und text/plain verarbeitet. SOLLEN NOCH ANDERE UNTERSTUETZT WERDEN, SO MUSS IN DIESER METHODE CODE HINZUGEFUEGT (nicht geaendert) WERDEN!