2014-02-12 40 views
3

我有類AB看起來像這樣:如何使用IDEA的結構搜索來查找缺少某些註釋的字段?

public class A { 
} 

import org.hibernate.annotations.Formula; 
import javax.persistence.Column; 

public class B extends A { 
    @Formula("formula") 
    private String formula; 

    @Column(name = "col1") 
    @Formula("formula") 
    private String field; 
} 

我需要找到一個沒有註釋@Column 我不能用純正則表達式領域,因爲我只需要查看具有層次結構class A的類。

我開始搜索

class $Class$ extends $superClass$ { 
    @$annotation$ 
    private String $field$; 
} 

其中$annotation$是 「列」( 「反轉條件」=真, 「全字」=真),但現場的formula註解@Formula匹配。

註釋名稱僅僅是一個例子(這種情況不是IDEA中的一些檢查可以涵蓋的常見問題)。

也許你有想法如何做到這一點?

回答

2

嬗變$annotation$變量的約束:

  • 反轉條件:假
  • 所有唯一字:假
  • 最小計數:0
  • 最大計數:0

「反轉條件」就像一個布爾值NOT。啓用後,它會匹配不同於指定模式的名稱。在你的情況下,「公式」確實不像「列」和匹配。通過將最小值和最大值計數設置爲零,您告訴結構搜索您正在搜索的字段中沒有出現名稱爲「列」的註釋,這會得到您想要的結果。

+1

非常好,我從來沒有想過0是最小和最大計數輸入字段的有效輸入,但它現在有意義。我在這個問題上找到了一些[官方文檔](https://www.jetbrains.com/idea/docs/ssr.pdf)。 –

相關問題