/* * (c) Rob Gordon 2005. */ package org.oddjob.designer.components; import org.oddjob.arooa.design.DesignFactory; import org.oddjob.arooa.design.DesignInstance; import org.oddjob.arooa.design.DesignProperty; import org.oddjob.arooa.design.IndexedDesignProperty; import org.oddjob.arooa.design.SimpleDesignProperty; import org.oddjob.arooa.design.SimpleTextAttribute; import org.oddjob.arooa.design.screem.BorderedGroup; import org.oddjob.arooa.design.screem.Form; import org.oddjob.arooa.design.screem.StandardForm; import org.oddjob.arooa.parsing.ArooaContext; import org.oddjob.arooa.parsing.ArooaElement; /** * */ public class ParallelDC implements DesignFactory { public DesignInstance createDesign(ArooaElement element, ArooaContext parentContext) { return new ParallelDesign(element, parentContext); } } class ParallelDesign extends BaseDC { private final SimpleTextAttribute join; private final SimpleTextAttribute stateOp; private final SimpleTextAttribute _transient; private final IndexedDesignProperty jobs; private final SimpleDesignProperty executorService; public ParallelDesign(ArooaElement element, ArooaContext parentContext) { super(element, parentContext); join = new SimpleTextAttribute("join", this); stateOp = new SimpleTextAttribute("stateOperator", this); _transient = new SimpleTextAttribute("transient", this); jobs = new IndexedDesignProperty("jobs", this); executorService = new SimpleDesignProperty("executorService", this); } public Form detail() { return new StandardForm(this) .addFormItem(basePanel()) .addFormItem(new BorderedGroup("Optional Behaviour") .add(join.view().setTitle("Join")) .add(stateOp.view().setTitle("State Operator")) .add(executorService.view().setTitle("Executor Service")) .add(_transient.view().setTitle("Transient"))) .addFormItem(new BorderedGroup("Jobs") .add(jobs.view().setTitle(""))); } @Override public DesignProperty[] children() { return new DesignProperty[] { name, join, stateOp, executorService, _transient, jobs }; } }