2011-11-06 47 views
1

我想開發一個系統,用戶應該能夠在實際的java文件中進行修改[添加/刪除屬性和方法]。雖然API提供了創建新方法/字段的方法,但我們如何刪除/銷燬那些不需要的方法。如何添加/刪除屬性和方法?

我想打一個方法

updatefile(file, newMethods, newAttributes) 
  • file是要進行修改,其方法和屬性需要被移除Java文件。

  • newMethods現在是文件的方法

  • newAttributes將文件的屬性

它也有可能是newMethods的某些條目==原始方法的一些條目,我將需要支票;對於newAttributes也是如此。

這怎麼辦?

+2

將方法和屬性添加到Java類稱爲編程。爲他們提供Eclipse,NetBeans或IntelliJ:它們都是很好的IDE,並且會比應用程序更好地向Java源文件添加屬性和方法。 –

回答

1

您需要一個字節碼操作庫。檢查以下內容:bcel,cglib,asm,javassist。

雖然我同意JBNizet的要求看起來有點奇怪。已經有強大的IDE可以做到這一點,最終用戶通常不應該對類結構進行調整。

+0

thanx ... will c n then then –

+0

其實我試圖開發一個工具來自動化開發。有一些可用的標準類集合,每個將引入到系統中的新類別將對該標準類別進行某種修改。因此,我想提供一個接口來從標準中選擇newMethods和newAttributes。當然,如果我必須添加一些甚至在標準中不存在的方法/屬性,我將不得不手動編寫它。 –

+3

然後你只需要提供一個好的,可重用的,有詳細記錄的類和方法的OO庫。面向對象的設計,繼承,組合和設計模式是你最好的朋友。這仍然是編程,而IDE仍然是這項工作的最佳工具。 –

0

你的想法看起來很像JBoss forge項目。

我認爲刪除方法的可能性必須基於Java規範中聲明的Java方法簽名和方法返回類型。

例如:methodRemove(File file,String returnType,String methodName,String [] methodParametersTypes)將引用適當的方法在文件中只有一個類時刪除文件。

+0

和methodAttributes包含屬性類型。 –

+0

thanx,這是有幫助的 –

+0

你的thanx可以更有幫助使用向上箭頭在我的回答:) –