dla uproszczenia:Jak edytować zestaw <? przedłuża EntityProxy> z ramką GWT Editor?
public class Person
{
String name;
Set<Address> addresses;
}
public class Address
{
String city;
String street;
}
z i dopasowanie
public interface PersonProxy extends EntityProxy
{
public String getName();
public Set<AdressProxy> getAddresses();
}
i
public interface AdressProxy extends EntityProxy
{
public String getCity();
public String getStreet();
}
mam zajęcia UiBuinder edytować AddressProxy i to dla mnie jasne, w jaki sposób korzystać z ListEditor w jeśli mam listę, ale dane są ustawione w klasie Person w jaki sposób mogę użyć Edytora Framework do ich edycji? A może w jaki sposób mogę przekonwertować zestaw do listy, gdy stanie się to PersonProxy?
zrobiłem próbę umieścić rodzaj klasy Edytor adaptera że wdrożenie
LeafValueEditor<Set<AddressProxy>>
a następnie wewnątrz LeafValueEditor.setValue() przenieść do listy i rozpocząć nowy driver.edit() na osobna hierarchia edytora, która zajmuje się edycją list, ale przy odrobinie szczęścia.
Dzięki! To jest coś, od czego zacząć. Szczerze mówiąc, leniwy miałem nadzieję na link do jakiegoś kodu :-). –
Myślę, że jakiś typ standardowego "SetEditor" (prawdopodobnie delegowania do 'ListEditor') powinien dostarczyć GWT. Miałem ten sam problem co OP i skończyło się na tym, że ujawniałem dostęp do wpisywanych na liście typów obiektów (konwertowanie prawdziwej właściwości 'Set'-typeed) w klasie domeny tylko po to, aby móc używać' ListEditor'. Ale nie zawsze jest to możliwe (czasami potrzebujemy po prostu 'Set'-mądre zachowanie po stronie klienta). –
Problem polega na tym, że a) a Ustawiony z definicji nie ma określonej kolejności, a podedytorzy dla wartości są koniecznie _list_, i b) prawdopodobnie chcesz zezwolić na powielanie wartości w trakcie edycji i sprawdzać unikalność tylko w _flush_ time, ale musisz w jakiś sposób powiedzieć użytkownikowi, kiedy tak jest ("hej, miałem 4 wartości i kiedy zapisałem to tylko zachowałem 3 z nich!"); a unikalność zależy od tego, jak zaimplementowano 'equals()' w edytowanych obiektach. Jeśli możesz wymyślić _standardowy "SetEditor", to proszę, proszę go wesprzyj! –