2011-11-02 99 views
2

是否可以向GWT RequestFactory的代理類添加方法?假設我有這個:GWT RequestFactory - 將自定義方法添加到代理類?

@ProxyFor(value = MyEntity.class) 
interface MyEntityProxy extends EntityProxy { 
    String getData(); // got it on server side 
} 

GetData()在服務器端支持,沒關係。如果我想添加什麼的方法是這樣的:

@ProxyFor(value = MyEntity.class) 
interface MyEntityProxy extends EntityProxy { 
    String getData(); // got it on server side 
    String getDataAndAppendQwerty(); // want this one on client side 
} 

我想手動執行getDataAndAppendQwerty()。這是100%的客戶端代碼,問題在於我應該在哪裏實施。

回答

3

答案將是AutoBean categories,但它們是0123F在RequestFactory中浮出水面。

+0

你好,托馬斯,有關該主題的任何更新? – damluar

+0

或者我們應該等待Java 8的支持? – damluar

+0

沒有更新。我不確定「默認方法」如何與AutoBean和RequestFactory一起工作;很確定他們會吹滅;也許嘗試使用GWT 2.8.0-SNAPSHOT? (不確定它支持默認方法) –

0

我不知道一個簡單的方法。你可以使用一個包裝並委託

public class MyEntityProxyExt implements MyEntityProxy { 

    private final MyEntityProxy proxy; 

    public MyEntityProxyExt(MyEntityProxy proxy) { 
     this.proxy = proxy; 
    } 

    @Override 
    public String getData() { 

     return proxy.getData(); 
    } 

    public Object getDataAndAppendQwerty() { 

     return proxy.getData() + "qwerty"; 
    } 
} 

但你必須手動包裹在客戶端上所有的代理對象時,你讓他們從服務器返回。

相關問題