2013-08-29 13 views
0

我有一個描述某個對象的類。它包含許多參數,因此有很多getter和setter。我想知道是否有重構工具,這將允許我爲我的班級中的每個吸氣劑應用一種方法。
E.g重構爲每個getter使用方法

public String getStatus() { 
     return status; 
    } 

    public void setStatus(String status) { 
     this.status = status; 
    } 

方法

private String zerochecker(String var) { 
     String bufvar = ""; 

     if (var == null || var.trim().length() <= 0 
       || var.equalsIgnoreCase("null") 
       || var.trim().equalsIgnoreCase("null")) { 
     } else { 
      bufvar = var; 
     } 
     return bufvar; 
    } 

結果:

public String getStatus() { 
     return zerochecker(status); 
    } 
+1

題外話:你可以跳過var.equalsIgnoreCase(「null」)檢查,因爲var.trim()等等。檢查也會抓住這個案例。 –

+0

偏題:var.trim().length()<0永遠不會發生,你可以直接測試var.trim().length()== 0. –

+0

順便說一句,爲什麼不直接指定bufvar到var如果條件爲真,則設置bufvar =「」,這樣,如果條件爲真,則可以刪除其他條件而不是無所作爲。 –

回答

0

我發現可能做到的唯一方法就是改變getter的自動生成模板。解決方案是vagues,但可以使用。

1

據我所知,沒有這樣的工具。你可能需要用手去做。你可以使用AOP,但它值得嗎?

2

不,不能有這樣的重構工具,因爲這不是重構。重構(例如在Eclipse重構菜單中可用)不會改變行爲,只會改變現有代碼的結構。

0

這似乎很簡單:

  1. 讓日食產生的干將
  2. 使用搜索和使用正則表達式替換: 「(。*)回報;」通過「返回zerochecker(\ 1);」

您可能需要修復表達式的語法。