/ / Como excluir uma propriedade ao usar o RequestFactory no GWT - hibernate, gwt, requestfactory

Como excluir uma propriedade ao usar o RequestFactory no GWT - hibernate, gwt, requestfactory

Estou usando o RequestFactory para recuperar uma lista de objetos do servidor. Agora, quero excluir a propriedade "descrição" (String) do objeto que pode conter um texto longo.

Existe alguma maneira de fazer isso em RequestFactory em Runtime?

É assim que eu recupero a lista

    collectcontextProvider.get().getListObject().fire(
new Receiver<List<ObjectProxy>>() {
@Override
public void onSuccess (List<ObjectProxy> objectList) {
//display the list
}

@Override
public void onFailure(ServerFailure error) {
//Error
}
});

Eu uso o Hibernate

Respostas:

0 para resposta № 1

Supondo que você deseja o campo de descrição em outrolocais do seu aplicativo, você desejará um proxy reduzido que não exponha essa propriedade e, claro, um método de serviço que retorne uma lista de tais proxies.

@ProxyFor(value=MyObject.class, locator=MyLocator.class)
interface MyObjectLiteProxy extends EntityProxy {
// all properties but "description"
}

@ProxyFor(value=MyObject.class, locator=MyLocator.class)
interface MyObjectProxy extend MyObjectLiteProxy {
String getDescription();
}

@Service(MyService.class)
interface CollectContext extends RequestContext {
Request<List<MyObjectLiteProxy>> getListObjectLite();

Request<List<MyObjectProxy>> getListObject();
}

Na verdade, você poderia ir mais longe e usar o mesmo MyService implementação para 2 RequestContexts:

@Service(MyService.class)
interface CollectLiteContext extends RequestContext {
Request<List<MyObjectLiteProxy>> getListObject();
}

@Service(MyService.class)
interface CollectContext extends RequestContext {
Request<List<MyObjectProxy>> getListObject();
}