代理接口中的非setter / getter方法

时间:2012-09-12 09:20:49

标签: gwt requestfactory

有没有办法可以将非setter / getter方法放在我们定义的代理接口中?

例如......

@ProxyFor( value = requestFactory.example.gwt.server.domain.Person.class )
public interface PersonProxy extends EntityProxy
{
    String getLastName();

    String getFirstName();

    void setLastName( String nachname );

    void setFirstName( String vorname );

    public Long getId();

    public Integer getVersion();

    void setProperty(String name, Object value);

}

上例中的最后一个方法抛出异常“仅允许setter和getters”。有什么办法解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:2)

没有。代理只能有吸气剂和固定剂。

但是,您可以为RequestContext添加一个方法,以便进行相同的服务器端调用:

InstanceRequest<PersonProxy> setProperty(String name, String value);

用作:

context.setProperty("foo", "bar").using(personProxy);

请注意,您也无法使用Object(在您提出之前:不,您不能有重载,因此您必须添加setPropertyStringsetPropertyDatesetPropertyDouble等等,在服务器端使用类似命名的方法)