¿Cómo implementar editores GWT para subclases de un tipo?
Digamos que tengo una jerarquía de objetos como esta:
Cuenta> Sitio> Suministro
Una Cuenta es una compañía real, un Sitio es un edificio que tienen, y un Suministro es unaElecSupply
oGasSupply
. La oferta nunca se instancia y podría ser una clase abstracta en teoría.
Estoy usando Objectify para la persistencia, y tengo una página que muestra la lista de Suministros para cada Sitio, independientemente de si son o noElecSupply
oGasSupply
.
Ahora estoy implementando elGWT Editor Framework y se han topado con un problema con esta entidad polimórfica. ¿Cómo implemento un Editor y un conjunto de subeditores para un objeto como este?
@Entity
public class Supply implements Serializable
{
@Id
protected Long id;
@Embedded
protected List<BillingPeriod> billingPeriods = new ArrayList<BillingPeriod>();
public Supply()
{
}
// ...
}
Las subclases: (ElecSupply tiene 5 campos únicos y GasSupply tiene solo uno)
@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()
{
}
// ...
}
¿Me gustaría saber si alguien tiene alguna experiencia con este tipo de estructura? He intentado hacer editores separados paraElecSupply
yGasSupply
, y luego mostrarlos u ocultarlos como parte de la página de edición.
La otra forma en que pensaba hacerlo sería tener un solo editor (para Suministro) y luego cargar diferentes subeditores según el tipo de objeto que estemos editando.
Cualquier luz arrojada será recibida con gratitud.