/**
*
*/
package org.openflexo.tm.hibernate.gui.controller;
import org.openflexo.fib.model.FIBComponent;
import org.openflexo.tm.hibernate.impl.HibernateEnum;
import org.openflexo.tm.hibernate.impl.HibernateEnumContainer;
import org.openflexo.tm.hibernate.impl.HibernateEnumValue;
import org.openflexo.view.controller.FlexoController;
/**
*
* @author Nicolas Daniels
*/
public class HibernateEnumContainerController extends HibernateFibController {
public HibernateEnumContainerController(FIBComponent component, FlexoController controller) {
super(component, controller);
}
/**
* Create a new enum for the linked view enum container.
*
* @return the newly created enum
*/
public HibernateEnum performCreateEnum() {
try {
HibernateEnum hibernateEnum = new HibernateEnum(((HibernateEnumContainer) getDataObject()).getImplementationModel());
hibernateEnum.setName("Enum" + (((HibernateEnumContainer) getDataObject()).getHibernateEnums().size() + 1));
((HibernateEnumContainer) getDataObject()).addToHibernateEnums(hibernateEnum);
return hibernateEnum;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
/**
* Create a new enum value for the specified enum.
*
* @param hibernateEnum
* @return the newly created enum value.
*/
public HibernateEnumValue performCreateEnumValue(HibernateEnum hibernateEnum) {
try {
HibernateEnumValue hibernateEnumValue = new HibernateEnumValue(hibernateEnum.getImplementationModel());
hibernateEnumValue.setName("value"
+ (hibernateEnum.getHibernateEnumValues().size() > 0 ? hibernateEnum.getHibernateEnumValues().size() : ""));
hibernateEnum.addToHibernateEnumValues(hibernateEnumValue);
return hibernateEnumValue;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}