Jak zaimplementować edytory GWT dla podklas typu?
Powiedzmy, że mam taką hierarchię obiektów:
Konto> Witryna> Dostawa
Konto to rzeczywista firma, witryna to budynek, który mają, a dostawa to alboElecSupply
lubGasSupply
. Podaż nigdy nie jest instancją i może być abstrakcyjną klasą w teorii.
Używam Objectify do trwałości i mam stronę, która wyświetla listę materiałów eksploatacyjnych dla każdej witryny, niezależnie od tego, czy są oneElecSupply
lubGasSupply
.
Teraz wdrażamGWT Editor Framework i wystąpił problem z tą polimorficzną jednostką. Jak zaimplementować edytor i zestaw edytorów podrzędnych dla obiektu takiego jak ten?
@Entity
public class Supply implements Serializable
{
@Id
protected Long id;
@Embedded
protected List<BillingPeriod> billingPeriods = new ArrayList<BillingPeriod>();
public Supply()
{
}
// ...
}
Podklasy: (ElecSupply ma 5 unikalnych pól, a GasSupply ma tylko jedno)
@Subclass
public class ElecSupply extends Supply implements Serializable
{
private String profile;
private String mtc;
private String llf;
private String area;
private String core;
public ElecSupply()
{
}
}
@Subclass
public class GasSupply extends Supply implements Serializable
{
private String mpr;
public GasSupply()
{
}
// ...
}
Chciałbym więc wiedzieć, czy ktoś ma jakieś doświadczenie z tego rodzaju strukturą? Próbowałem utworzyć osobnych edytorówElecSupply
iGasSupply
, a następnie pokaż lub ukryj je jako część strony edycji.
Innym sposobem, w jaki myślałem o zrobieniu tego, jest posiadanie jednego edytora (dla Supply), a następnie ładowanie różnych sub-edytorów w zależności od typu edytowanego obiektu.
Każda szopa światła zostanie z wdzięcznością przyjęta.