2016-07-26 14 views
0

Ich versuche, einige Zeilen (Methodenaufrufe) aus vielen Klassen mit der Suche zu ändern und Strukturell Funktion in IntelliJ (v2016.1.2) zu ersetzen, würde das Beispiel so aussehen:Suche strukturell in IntelliJ verketteten Methoden

this.method1(param1) 
    .method2(param2, param3, param4, param5, true, "") 
    .method3(); 

Ich gebe auch an, dass die Werte von Boolean und String Vars per Parameter gesendet werden, da es Teil meines Problems ist, wenn Sie die Variablen bearbeiten und die Methode finden. Deshalb bin ich schlagen einige Wände:

  1. kann nicht method2 selbst finden, habe ich nicht den Weg finden, die boolean und String mit den Richtwerten
  2. Haben Sie nicht den Weg finden, um eine Suche zu machen mit verketteten Methoden. Jede Methode gibt eine Instanz ihrer eigenen Klasse zurück, so dass ich sie verketten kann. Diese

ist meine erste Frage in Stack-Überlauf, so irgendwelche Tipps oder gute Praktiken zu verbessern, Fragen zu stellen ist mehr als willkommen :)

Thank you so much!

+0

Können Sie mehr darüber erzählen, was genau Sie tun möchten? Welche Veränderung willst du machen? Reicht es nicht nach dem Methodennamen zu suchen? Vielleicht ein möglichst vollständiges Codebeispiel bereitstellen? –

Antwort

0

Ich habe eine Superklasse mit einer Methode für diese 3 Zeilen, also kann ich einfach diese Methode in jeder Kindklasse aufrufen, anstatt diese 3 Methoden aufrufen.

Ich möchte von gehen:

Class1Example{ 
    vars param1, param2, param3, param4, param5; 
    this.method1(param1) 
     .method2(param2, param3, param4, param5, true, "") 
     .method3(); 
} 

To (zwei Klassen):

Class1Example extends SuperClass{ this.mergingMethod(); }

SuperClass{ 
    vars param1, param2, param3, param4, param5; 

    void mergingMethod(){ 
     this.method1(param1) 
      .method2(param2, param3, param4, param5, true, "") 
      .method3(); 
    } 
} 

Die Art, wie ich dies tun möchte, ist das Suchen und Ersetzen Strukturell in IntelliJ. Auch weil der Umfang davon mehrere Pakete sein wird. Ich habe es geschafft, diesen Teil des Codes method1(param1) zu ersetzen, weil die Zeile gefunden wurde, aber wenn es um die Zeile .method2(param2, param3, param4, param5, true, "") oder die 3 Zeilen selbst geht, gibt die Suche keine Ergebnisse. Ich habe die IntelliJ-Dokumentation gelesen, aber ich konnte es nicht tun, und Google und Stackoverflow haben diesbezüglich keine Ergebnisse.

S.S .: Es tut mir leid, ich kann hier nicht spezifischen Code eingeben, ich hoffe, dass dies einen besseren Einblick in das Problem bieten kann.

Verwandte Themen