Hallo,
wie kann man am besten instanceof Operatoren vermeiden? Ich rufe Methoden auf, wobei man innerhalb der Methode prüfen muss um welches Objekt es sich handelt um nur richtig zu casten und halt zu schauen welches Objekt null ist.
Also innerhalb der Methode:
Wobei ich mir da gar nicht so wirklich sicher bin, ob es überhaupt Sinn macht das in eine Methode auszulagern oder eher gleich in jeden Case-Block zu schreiben.
Viele Grüsse,
Johannes
wie kann man am besten instanceof Operatoren vermeiden? Ich rufe Methoden auf, wobei man innerhalb der Methode prüfen muss um welches Objekt es sich handelt um nur richtig zu casten und halt zu schauen welches Objekt null ist.
Also innerhalb der Methode:
Code:
/**
* Get the status-line and the Headers.
*
* @param to_client
* Output text stream.
* @param method
* The method used.
*/
private void getResponseHeader(PrintWriter to_client, Object method)
{
Header[] headers = null;
if(method instanceof GetMethod)
{
to_client.print(((GetMethod) method).getStatusLine().toString()+"\r\n");
to_client.flush();
headers = ((GetMethod) method).getResponseHeaders();
}
else if(method instanceof HeadMethod)
{
to_client.print(((HeadMethod) method).getStatusLine().toString()+"\r\n");
to_client.flush();
headers = ((HeadMethod) method).getResponseHeaders();
}
else if(method instanceof PostMethod)
{
to_client.print(((PostMethod) method).getStatusLine().toString()+"\r\n");
to_client.flush();
headers = ((PostMethod) method).getResponseHeaders();
}
for(Header header : headers)
{
logger.debug("Header: "+header.toString());
to_client.print(header.toString());
to_client.flush();
}
to_client.print("\r\n");
to_client.flush();
}
Wobei ich mir da gar nicht so wirklich sicher bin, ob es überhaupt Sinn macht das in eine Methode auszulagern oder eher gleich in jeden Case-Block zu schreiben.
Viele Grüsse,
Johannes