package net.sf.minuteProject.configuration.bean; import java.util.ArrayList; import java.util.List; import net.sf.minuteProject.configuration.bean.enrichment.convention.Convention; import net.sf.minuteProject.configuration.bean.enrichment.convention.Conventions; import net.sf.minuteProject.configuration.bean.enrichment.convention.KernelConvention; import net.sf.minuteProject.configuration.bean.environment.Environment; import net.sf.minuteProject.configuration.bean.presentation.Presentation; public class Configuration extends AbstractConfigurationRoot{ private String catalogDir; private Model model; private Presentation presentation; private Conventions conventions; private List<Environment> environments; public Environment getEnvironmentByName (String environmentName) { if (environmentName==null) return null; for (Environment env : getEnvironments()) { if (env.isOfType(environmentName)) return env; } return null; } public void addEnvironment (Environment environment) { environment.setConfiguration(this); getEnvironments().add(environment); } public List<Environment> getEnvironments() { if (environments == null) initEnvironments(); return environments; } private void initEnvironments() { environments = new ArrayList<Environment>(); } public Presentation getPresentation() { return presentation; } public void setPresentation(Presentation presentation) { presentation.setConfiguration(this); this.presentation = presentation; } public Model getModel() { return model; } public void setModel(Model model) { model.setConfiguration(this); this.model = model; } public String getTechnicalPackage(Template template) { return template.getPackageRoot(); } public String getName () { if (super.getName()==null) return model.getName(); return super.getName(); } public String getGeneratedBeanName() { return getName(); } public String getCatalogDir() { return catalogDir; } public void setCatalogDir(String catalogDir) { this.catalogDir = catalogDir; } public void applyConventions() { for (KernelConvention convention : getConventions().getKernelConventions()) { convention.apply (this); } } public Conventions getConventions() { if (conventions==null) conventions = new Conventions(); return conventions; } public void setConventions(Conventions conventions) { this.conventions = conventions; } }