для простоты:Как отредактировать набор <? расширяет EntityProxy> с помощью редактора GWT?
public class Person
{
String name;
Set<Address> addresses;
}
public class Address
{
String city;
String street;
}
с и соответствие
public interface PersonProxy extends EntityProxy
{
public String getName();
public Set<AdressProxy> getAddresses();
}
и
public interface AdressProxy extends EntityProxy
{
public String getCity();
public String getStreet();
}
я получил классы UiBuinder редактировать AddressProxy и мне ясно, как использовать ListEditor в Если я получил список, но данные заданы в классе Person , как я могу использовать редактор Framework для их редактирования? Или может быть, как мне конвертировать Set to List, когда он становится PersonProxy?
Я сделал попытку поставить своего рода адаптер класса редактора, который будет осуществлять
LeafValueEditor<Set<AddressProxy>>
, а затем внутри LeafValueEditor.setValue(), перемещаются в список и начать новую driver.edit() на отдельную иерархию Editor, которая занимается редактированием списка, но с удачей.
Спасибо! Это с чего начать. Честно говоря, ленивый я надеялся на ссылку на какой-то код :-). –
Я думаю, что некоторый тип стандартного 'SetEditor' (возможно, делегирования' ListEditor') должен быть предоставлен GWT. У меня была та же проблема, что и у OP, и в конечном итоге выставлял «List'-typed accessors (преобразование реального свойства« Set'-typed ») в класс домена, чтобы иметь возможность использовать« ListEditor ». Но это не всегда возможно (иногда нам просто нужно «установить» поведение на стороне клиента) –
Проблема в том, что a) У Set по определению нет определенного порядка, а подредакторами для значений обязательно являются _list_ и б) вы, вероятно, захотите разрешить дублирование значений во время редактирования и только проверить уникальность в _flush_ time, но вам нужно как-то сказать пользователю, когда это так («эй, у меня было 4 значения, и когда я его сохранил, осталось только 3 из них!"); и уникальность зависит от того, как вы реализовали 'equals()' в отредактированных объектах. Если вы можете придумать _standard_ 'SetEditor', то, пожалуйста, внесите свой вклад! –