package net.sf.minuteProject.utils; import net.sf.minuteProject.configuration.bean.Template; import net.sf.minuteProject.configuration.bean.model.data.Column; import net.sf.minuteProject.configuration.bean.system.Property; public class EnumUtils { public static final String TEMPLATE_ENUMERATION_REFERENCE_DATA = "EnumerationReferenceData"; public static boolean isEnumType (Template template, Column column) { return (getEnumType(template, column)!=null)?true:false; } public static String getEnumType(Template template, Column column) { if (ColumnUtils.hasCheckConstraint(column) && ColumnUtils.isEnumColumn(column)) { return getEnumTemplateType(template, column); } return null; } public static String getEnumImport(Template template, Column column) { if (ColumnUtils.hasCheckConstraint(column) && ColumnUtils.isEnumColumn(column)) { return getEnumTemplateImport(template, column); } return null; } private static String getEnumTemplateType(Template template, Column column) { Template t = getEnumTemplateDependencyAvailable(template); if (t != null) return CommonUtils.getClassName(column, t); return null; } private static String getEnumTemplateImport(Template template, Column column) { Template t = getEnumTemplateDependencyAvailable(template); if (t != null) return CommonUtils.getEntityLevelTemplateFullPath(column, t, t.getName()); return null; } private static Template getEnumTemplateDependencyAvailable(Template template) { String property = template.getPropertyValue(TEMPLATE_ENUMERATION_REFERENCE_DATA); if (property != null) { return CommonUtils.getTemplate(template.getTemplateTarget().getTarget(), property); } return null; } }