Como implementar editores GWT para subclasses de um tipo?
Digamos que eu tenha uma hierarquia de objetos como esta:
Conta> Site> Fornecimento
Uma conta é uma empresa real, um site é um prédio que eles têm e um suprimento é umElecSupply
ouGasSupply
. A oferta nunca é instanciada e pode ser uma aula abstrata em teoria.
Estou usando o Objectify para persistência e tenho uma página que exibe a lista de Suprimentos para cada site, independentemente de serem ou não umaElecSupply
ouGasSupply
.
Agora estou implementando oEstrutura do Editor do GWT e se depararam com um problema com essa entidade polimórfica. Como faço para implementar um editor e um conjunto de subeditores para um objeto como este?
@Entity
public class Supply implements Serializable
{
@Id
protected Long id;
@Embedded
protected List<BillingPeriod> billingPeriods = new ArrayList<BillingPeriod>();
public Supply()
{
}
// ...
}
As subclasses: (o ElecSupply possui 5 campos exclusivos e o GasSupply tem apenas um)
@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()
{
}
// ...
}
Então eu gostaria de saber se alguém tem alguma experiência com esse tipo de estrutura? Eu tentei fazer editores separados paraElecSupply
eGasSupply
e mostre ou oculte-os como parte da página de edição.
A outra maneira que eu estava pensando em fazer isso seria ter um único editor (para o Supply), e então carregar diferentes sub-editores dependendo do tipo de objeto que estamos editando.
Qualquer barracão de luz será recebido com gratidão.