2017-02-10 64 views
2

我們有一個工具類內部使用:JsonRequestBuilderCheckstyle的檢查某一類只有在一定的包裝或分裝

我只希望這個類裏面使用「數據管理器」包(或子包),而不是裏面的UI代碼等。

所以JsonRequestBuilder可以在包一樣使用

be.knarf.datamanager 
be.knarf.datamanager.special it is also ok 

但不包像

be.knarf.screens 

任何人知道如何做到這一點?這可以通過正則表達式檢查來完成嗎?

回答

1

使用Checkstyle,通常使用ImportControl檢查來實現。它基本上允許您指定哪些包允許哪些導入,並在您的代碼庫中進行檢查。

需要注意的是,它不會在代碼中找到對類的完全限定引用,它只會檢查導入。但這仍然很有幫助。

1

對不起,沒有應答checkstyle,但不能將JsonRequestBuilder放在be.knarf.datamanager包中,並從類中刪除public修飾符,這樣它應該是包私有的。

+0

包樹可能太複雜,不允許它 –

+0

這是行不通的,私有包意味着它在子包中也不可見。 –

+0

JsonRequestBuilder實際上是一個自編寫的類,由我們的多個項目使用。在所有這些項目中都有一個datamanager包。而JsonRequestBuilder應該只用在那些包(或者那些包的子包)中,就像瘋狂物理學家說的那樣,包樹太複雜了。 – Knarf