有没有办法可以将非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”。有什么办法解决这个问题?提前谢谢。
答案 0 :(得分:2)
没有。代理只能有吸气剂和固定剂。
但是,您可以为RequestContext
添加一个方法,以便进行相同的服务器端调用:
InstanceRequest<PersonProxy> setProperty(String name, String value);
用作:
context.setProperty("foo", "bar").using(personProxy);
请注意,您也无法使用Object
(在您提出之前:不,您不能有重载,因此您必须添加setPropertyString
,setPropertyDate
,setPropertyDouble
等等,在服务器端使用类似命名的方法)