2016-02-08 16 views
0

我有一個超過100個java類的項目。我的情況是: - 我有Button.java,DropDown.java,Checkbox.Java,ListBox.java .... - 還有一些業務類代表我的web應用程序的頁面,並帶有自定義函數和Button的映射。 Java和DropDown.java - 我想現在能夠從按鈕僅使用功能和下拉如何在intellij中限制java函數的使用?

一個例子:

public class FieldsProperties extends RHRegion{ 
    public static void setProperties(String strMap){ 
     HashMap<String, String> mapProperties = getMapProperties(); 
     if(strMap.equals("Properties")){ 
     mapProperties = UISummary.getProperties("UISummary"); 
     } 
     setMapProperties(mapProperties); 
     RHRegion.setProperties(strMap); 
    } 
} 

所以在我的情況,我想被允許從UISummary.java唯一功能或者只是在被其他類別使用時才被通知

+5

你是什麼意思?你希望你的應用程序的用戶只能使用它? – Stultuske

+0

@ 22cos您應該編輯您的問題,並將示例添加到問題中,而不是作爲註釋 –

+1

請格式化這個無法理解的混亂。 – EJP

回答

0

您可以使用IllegalType規則checkStyle

檢查特定類從未用作變量聲明,返回值或參數中的類型。

理由:有助於減少混凝土類的耦合。

只需將類添加到列表illegalClassNames。您可以將checkStyle配置爲將規則違規處理爲警告或錯誤。

請注意,這並不妨礙從實例化 - 例如,分配給父類型仍然是可能的。更好的(或額外的)規則可能是IllegalInstantiation

檢查工廠方法優先的非法實例化。

假設你沒有爲你的限制類工廠方法,這將違反在classes屬性定義的類所有實例。該規則的 還有一個IntelliJ plugin for checkstyle可用。

+0

那麼,這將是一個很長的列表非法類別名稱:從我的(繼承)項目的所有其他99個類。更容易的是擁有像legalClassName這樣的東西 - 只能在我的課程中列出我真正需要的東西。也許將來只需添加/刪除類。 – 22cos

+0

你可以繼承允許的類並將子類放入單獨的包中嗎?無論如何這將是有用的,這樣你就可以擁有一個包含你允許使用的API的包。然後,您可以使用checkstyle中的'IllegalImport'規則來確保您不會意外導入原始包。 –

0

沒有更深入的應用程序知識,但重新考慮packge/application/class結構以防止使用不需要的功能會不會更好?

相關問題