[英]modifying parameter prior to method invocation
我在幾種方法中都有一個稱為“服務器”的參數:
public synchronized Client getClientByStreamId(String streamId, Server server) {
//some logic
}
public Client getClientByPublicSID(String publicSID, boolean isAVClient, Server server) {
//some logic
}
我想要的是,每次調用這些方法時,都會有一個檢查,該檢查在調用該方法之前對參數服務器執行:
if (server == null) {
server = someServer; //someServer is a variable I get somewhere else
}
據我所知,Java6中一定有一些帶有注釋的技巧,以便您可以執行類似(偽代碼)的操作:
@ManipulateArgs(MyMethod);
public synchronized Client getClientByStreamId(String streamId, Server server) {
//some logic
}
@ManipulateArgs(MyMethod);
public Client getClientByPublicSID(String publicSID, boolean isAVClient, Server server) {
//some logic
}
private MyMethod(Server server) {
if (server == null) {
server = someServer; //someServer is a variable I get somewhere else
}
}
在使用參數調用實際方法之前調用的某種“預處理程序”。 我只是不記得這個預處理的名稱是什么。 或者,如果它是基於注釋的話。 但是我認為這是一個注釋。
謝謝
塞巴斯蒂安
您所尋找的一般術語是方法攔截器 。 有多種實現方式。 面向方面的編程是一種方法。 請參閱教程http://www.javaworld.com/javaworld/jw-01-2002/jw-0118-aspect.html 。 如果您使用的是Spring或JBoss之類的框架,則內置了攔截器注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.