// ============================================================================
//
// Copyright (C) 2006-2016 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.dataprofiler.core.ui.wizard.indicator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.AbstractIndicatorForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.FormEnum;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.BinsDesignerForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.DataThresholdsForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.ExpectedValueForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.IndicatorThresholdsForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.JavaOptionsForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.JavaUDIParametersForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.NumbericNominalForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.PhoneNumberForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.TextLengthForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.TextParametersForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.TextParametersWithoutOptionsForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.TimeSlicesForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.freq.FreqBinsDesignerForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.freq.FreqTextLengthForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.freq.FreqTextParametersForm;
import org.talend.dataprofiler.core.ui.wizard.indicator.forms.impl.freq.FreqTimeSliceForm;
import org.talend.dataquality.indicators.IndicatorParameters;
/**
* DOC Zqin class global comment. Detailled comment
*/
public final class IndicatorFormFactory {
private IndicatorFormFactory() {
}
public static AbstractIndicatorForm createForm(Composite parent, FormEnum formEnum, IndicatorParameters parameters) {
AbstractIndicatorForm form = null;
switch (formEnum) {
case BinsDesignerForm:
form = new BinsDesignerForm(parent, SWT.NONE, parameters);
break;
case TextLengthForm:
form = new TextLengthForm(parent, SWT.NONE, parameters);
break;
case FreqTextLengthForm:
form = new FreqTextLengthForm(parent, SWT.NONE, parameters);
break;
case TextParametersForm:
form = new TextParametersForm(parent, SWT.NONE, parameters);
break;
case TextParametersWithoutOptionsForm:
form = new TextParametersWithoutOptionsForm(parent, SWT.NONE, parameters);
break;
case DataThresholdsForm:
form = new DataThresholdsForm(parent, SWT.NONE, parameters);
break;
case TimeSlicesForm:
form = new TimeSlicesForm(parent, SWT.NONE, parameters);
break;
case FreqBinsDesignerForm:
form = new FreqBinsDesignerForm(parent, SWT.NONE, parameters);
break;
case FreqTextParametersForm:
form = new FreqTextParametersForm(parent, SWT.NONE, parameters);
break;
case FreqTimeSliceForm:
form = new FreqTimeSliceForm(parent, SWT.NONE, parameters);
break;
case IndicatorThresholdsForm:
form = new IndicatorThresholdsForm(parent, SWT.NONE, parameters);
break;
case NumbericNominalForm:
form = new NumbericNominalForm(parent, SWT.NONE, parameters);
break;
case ExpectedValueForm:
form = new ExpectedValueForm(parent, SWT.NONE, parameters);
break;
case JavaOptionsForm:
form = new JavaOptionsForm(parent, SWT.NONE, parameters);
break;
case JavaUDIParametersForm:
form = new JavaUDIParametersForm(parent, SWT.NONE, parameters);
break;
case PhoneNumberForm:
form = new PhoneNumberForm(parent, SWT.NONE, parameters);
break;
default:
}
return form;
}
}