如果我有一個類Java註釋處理 - 如何處理已處理的代碼?
@GenerateInterface
public class _FooImpl {}
我要生成的接口
public interface Foo {}
,其基本上包含的_FooImpl
(即getter和setter)的所有方法。
另外,如果我有繼承,像
@GenerateInterface
public class _ParentImpl {}
@GenerateInterface
public class _ChildImpl extends _ParentImpl {}
這將導致接口繼承以及
public interface Parent {}
public interface Child extends Parent {}
我有一個粗略的想法如何做到這一點。但是如果_ParentImpl
是庫的一部分呢?該庫也必須包含Parent
。
在註釋處理器中,我該如何處理?我無法再生成Parent
接口,因爲那樣我就有兩次相同的接口。我能否以某種方式檢測到它已經存在,但將它與已存在但不屬於該庫的文件區分開來,因此可以重寫?
我其實只需要一個類/接口,其他任何擴展。因此,我可以從_ParentImpl
中刪除@GenerateInterface
,並硬編碼Parent
接口的繼承。這將是我最後的手段。 編輯:或者完全刪除界面,我可以設置@Retention(RetentionPolicy.SOURCE)
,對吧?
一個接口不能擴展一個類。爲了在接口之間繼承,你必須使用implements。例如:Interface_Child實現Interface_Parent –
@DheerajRoy不,這是不正確的。接口可以互相「延伸」... –
是接口可以相互擴展,但接口不能擴展類 –