package dr.app.beauti.components.tipdatesampling; import dr.app.beauti.components.ComponentFactory; import dr.app.beauti.generator.ComponentGenerator; import dr.app.beauti.options.ComponentOptions; import dr.app.beauti.options.BeautiOptions; /** * @author Andrew Rambaut * @version $Id$ */ public class TipDateSamplingComponentFactory implements ComponentFactory { private TipDateSamplingComponentFactory() { // singleton pattern - private constructor } public ComponentGenerator getGenerator(final BeautiOptions beautiOptions) { if (generator == null) { generator = new TipDateSamplingComponentGenerator(beautiOptions); } return generator; } public ComponentOptions getOptions(final BeautiOptions beautiOptions) { if (options == null) { options = new TipDateSamplingComponentOptions(beautiOptions); } return options; } private TipDateSamplingComponentGenerator generator = null; private TipDateSamplingComponentOptions options = null; public static ComponentFactory INSTANCE = new TipDateSamplingComponentFactory(); }