// ============================================================================ // // 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.dataquality.helpers; import org.talend.cwm.relational.TdColumn; import org.talend.cwm.relational.TdExpression; import org.talend.cwm.relational.util.RelationalSwitch; import org.talend.dataquality.analysis.Analysis; import org.talend.dataquality.analysis.util.AnalysisSwitch; import org.talend.dataquality.domain.DateValue; import org.talend.dataquality.domain.Domain; import org.talend.dataquality.domain.IntegerValue; import org.talend.dataquality.domain.RealNumberValue; import org.talend.dataquality.domain.TextValue; import org.talend.dataquality.domain.pattern.Pattern; import org.talend.dataquality.domain.pattern.RegularExpression; import org.talend.dataquality.domain.pattern.util.PatternSwitch; import org.talend.dataquality.domain.util.DomainSwitch; import org.talend.dataquality.indicators.schema.CatalogIndicator; import org.talend.dataquality.indicators.schema.ConnectionIndicator; import org.talend.dataquality.indicators.schema.SchemaIndicator; import org.talend.dataquality.indicators.schema.util.SchemaSwitch; /** * @author scorreia * * */ public final class DataqualitySwitchHelper { private DataqualitySwitchHelper() { } public static final SchemaSwitch<ConnectionIndicator> CONNECTION_SWITCH = new SchemaSwitch<ConnectionIndicator>() { @Override public ConnectionIndicator caseConnectionIndicator(ConnectionIndicator object) { return object; } }; public static final SchemaSwitch<CatalogIndicator> CATALOG_SWITCH = new SchemaSwitch<CatalogIndicator>() { @Override public CatalogIndicator caseCatalogIndicator(CatalogIndicator object) { return object; } }; public static final SchemaSwitch<SchemaIndicator> SCHEMA_SWITCH = new SchemaSwitch<SchemaIndicator>() { @Override public SchemaIndicator caseSchemaIndicator(SchemaIndicator object) { return object; } }; public static final AnalysisSwitch<Analysis> ANALYSIS_SWITCH = new AnalysisSwitch<Analysis>() { @Override public Analysis caseAnalysis(Analysis object) { return object; } }; public static final DomainSwitch<RealNumberValue> REAL_NB_VALUE_SWITCH = new DomainSwitch<RealNumberValue>() { @Override public RealNumberValue caseRealNumberValue(RealNumberValue object) { return object; } }; public static final DomainSwitch<TextValue> TEXT_VALUE_SWITCH = new DomainSwitch<TextValue>() { @Override public TextValue caseTextValue(TextValue object) { return object; } }; public static final DomainSwitch<Domain> DOMAIN_SWITCH = new DomainSwitch<Domain>() { @Override public Domain caseDomain(Domain object) { return object; } }; public static final RelationalSwitch<TdExpression> TDEXPRESSION_SWITCH = new RelationalSwitch<TdExpression>() { @Override public TdExpression caseTdExpression(TdExpression object) { return object; } }; public static final RelationalSwitch<TdColumn> TDCOLUMN_SWITCH = new RelationalSwitch<TdColumn>() { @Override public TdColumn caseTdColumn(TdColumn object) { return object; } }; public static final PatternSwitch<Pattern> PATTERN_SWITCH = new PatternSwitch<Pattern>() { /* * (non-Javadoc) * * @see * org.talend.dataquality.domain.pattern.util.PatternSwitch#casePattern(org.talend.dataquality.domain.pattern * .Pattern) */ @Override public Pattern casePattern(Pattern object) { return object; } }; public static final PatternSwitch<RegularExpression> REGULAR_EXPR_SWITCH = new PatternSwitch<RegularExpression>() { /* * (non-Javadoc) * * @see * org.talend.dataquality.domain.pattern.util.PatternSwitch#caseRegularExpression(org.talend.dataquality.domain * .pattern.RegularExpression) */ @Override public RegularExpression caseRegularExpression(RegularExpression object) { return object; } }; public static final DomainSwitch<String> LITTERAL_VALUE_AS_TEXT_SWITCH = new DomainSwitch<String>() { @Override public String caseDateValue(DateValue object) { return String.valueOf(object.getValue()); } @Override public String caseIntegerValue(IntegerValue object) { return String.valueOf(object.getValue()); } @Override public String caseRealNumberValue(RealNumberValue object) { return String.valueOf(object.getValue()); } @Override public String caseTextValue(TextValue object) { return object.getValue(); } }; }