per semplicità:Come modificare un Set <? estende EntityProxy> con il framework GWT Editor?
public class Person
{
String name;
Set<Address> addresses;
}
public class Address
{
String city;
String street;
}
con e la congruenza
public interface PersonProxy extends EntityProxy
{
public String getName();
public Set<AdressProxy> getAddresses();
}
e
public interface AdressProxy extends EntityProxy
{
public String getCity();
public String getStreet();
}
ho avuto classi UiBuinder modificare AddressProxy ed è chiaro per me come utilizzare ListEditor in caso se ho ottenuto Elenco ma i dati sono impostati nella classe Persona come utilizzare Editor Framework per modificarli? Oppure come posso convertire Set in List quando diventa PersonProxy?
ho fatto un tentativo di mettere una sorta di adattatore di classe Editor che implementare
LeafValueEditor<Set<AddressProxy>>
e poi all'interno del movimento LeafValueEditor.setValue() per una lista e iniziare una nuova driver.edit() su una gerarchia di Editor separata che si occupa dell'editing delle liste ma con fortuna.
Grazie! Questo è qualcosa per iniziare. Francamente pigro mi speravo in un link ad un codice :-). –
Penso che alcuni tipi di standard 'SetEditor' (probabilmente delegando a' ListEditor') dovrebbero essere forniti da GWT. Ho avuto lo stesso problema dell'OP e ho finito per esporre gli accessors 'List'-typed (convertendo la proprietà reale' Set'-typed) sulla classe domain solo per poter usare 'ListEditor'. Ma non è sempre possibile farlo (a volte abbiamo solo bisogno del comportamento 'Set'-saggio sul lato client) –
Il problema è che a) un Set per definizione non ha un ordine specifico e i sub-editor per i valori sono necessariamente un _list_, e b) probabilmente vuoi consentire valori duplicati nel corso del montaggio e controlla solo l'unicità al momento _flush_, ma devi in qualche modo dire all'utente quando questo è il caso ("hey, avevo 4 valori e quando l'ho salvato solo mantenuto 3 di loro!"); e l'unicità dipende da come hai implementato 'equals()' negli oggetti modificati. Se riesci a trovare uno _standard_ 'SetEditor', tuttavia, per favore contribuisci! –