// ============================================================================
//
// 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.factories;
import org.talend.dataquality.domain.Domain;
import org.talend.dataquality.domain.DomainFactory;
import org.talend.dataquality.domain.pattern.Pattern;
import org.talend.dataquality.indicators.IndicatorParameters;
import org.talend.dataquality.indicators.IndicatorsFactory;
import org.talend.dataquality.indicators.RegexpMatchingIndicator;
import org.talend.dataquality.indicators.SqlPatternMatchingIndicator;
/**
* @author scorreia
*
* This factory helps to create PatternMatching indicators.
*/
public final class PatternIndicatorFactory {
private PatternIndicatorFactory() {
}
/**
* Method "createRegexpMatchingIndicator".
*
* @param pattern the pattern from which the RegexpMatchingIndicator is created
* @return the new RegexpMatchingIndicator with the same name as the pattern
*/
public static RegexpMatchingIndicator createRegexpMatchingIndicator(Pattern pattern) {
RegexpMatchingIndicator patternMatchingIndicator = IndicatorsFactory.eINSTANCE.createRegexpMatchingIndicator();
IndicatorParameters indicParams = IndicatorsFactory.eINSTANCE.createIndicatorParameters();
Domain validData = DomainFactory.eINSTANCE.createDomain();
validData.getPatterns().add(pattern);
indicParams.setDataValidDomain(validData);
patternMatchingIndicator.setParameters(indicParams);
patternMatchingIndicator.setName(pattern.getName());
return patternMatchingIndicator;
}
/**
* Method "createSqlPatternMatchingIndicator".
*
* @param pattern the pattern from which the SqlPatternMatchingIndicator is created
* @return the new SqlPatternMatchingIndicator with the same name as the pattern
*/
public static SqlPatternMatchingIndicator createSqlPatternMatchingIndicator(Pattern pattern) {
SqlPatternMatchingIndicator patternMatchingIndicator = IndicatorsFactory.eINSTANCE.createSqlPatternMatchingIndicator();
IndicatorParameters indicParams = IndicatorsFactory.eINSTANCE.createIndicatorParameters();
Domain validData = DomainFactory.eINSTANCE.createDomain();
validData.getPatterns().add(pattern);
indicParams.setDataValidDomain(validData);
patternMatchingIndicator.setParameters(indicParams);
patternMatchingIndicator.setName(pattern.getName());
return patternMatchingIndicator;
}
}