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.

questionAnswers(2)

yourAnswerToTheQuestion