class Filter {

  Variablen var;
  ServerConnection serv;
  Gui gui;

  public Filter(Variablen v, ServerConnection s, Gui g) {
    var = v;
    serv = s;
    gui = g;
  }

  public void parse(String data) {
    System.out.println("Filt gets :"+data);

    String nummer = "";
    String nachricht = "";
    String nick = "";
    String nummernachricht = "";
    String servername ="";
    int pos = 0;
    int nummerint = 0;

//ersten ":" abschneiden 
    data = data.substring(1);

// Servername     
    pos = data.indexOf(" ");
    servername = data.substring(0,pos);
    data = data.substring(pos+1);

//erstes Leerzeichen suchen und Substring bilden, der die Zahlen zurückgibt
    pos = data.indexOf(" ");
    nummer = data.substring(0,pos);
    data = data.substring(pos+1);

// Nickname suchen
    pos = data.indexOf(" ");
    nick = data.substring(0,pos);
    data = data.substring(pos+1);

// Nachricht ausfiltern
    nachricht = data;

    if (data.startsWith("PING") ) serv.send("PONG :"+servername);
    else {
//nummer in ein integer umwandeln
      nummerint = Integer.parseInt(nummer);


//Nachricht die zur Nummer gehört mitsenden
      switch (nummerint) {
        case 402 : gui.popupFenster(nachricht); break; //server nicht da
        case 403 : gui.popupFenster(nachricht); break; //channel nicht da
        case 421 : gui.popupFenster(nachricht); break; //befehl unbekannt
        case 433 : gui.popupFenster(nachricht); break; //nickname vergeben
        case 441 : gui.popupFenster(nachricht); break; //chatpartner nicht da
        case 443 : gui.popupFenster(nachricht); break; //chatpartner bereits da
        case 464 : gui.popupFenster(nachricht); break; //passwort falsch
        default : var.setTextFeld(nachricht+"\n");
      }
    }    
  }
}

