package com.taobao.tddl.rule.model; import java.util.List; import java.util.Map; import org.apache.commons.lang.builder.ToStringBuilder; import com.taobao.tddl.common.utils.TddlToStringStyle; import com.taobao.tddl.rule.model.sqljep.Comparative; /** * 匹配结果对象 * * @author jianghang 2013-10-29 下午4:10:52 * @since 5.0.0 */ public class MatcherResult { private final List<TargetDB> calculationResult; // 匹配的db结果 private final Map<String, Comparative> databaseComparativeMap; // 计算出该结果Rule中匹配的库参数 private final Map<String, Comparative> tableComparativeMap; // 计算出该结果Rule中匹配的表参数 public MatcherResult(List<TargetDB> calculationResult, Map<String, Comparative> databaseComparativeMap, Map<String, Comparative> tableComparativeMap){ this.calculationResult = calculationResult; this.databaseComparativeMap = databaseComparativeMap; this.tableComparativeMap = tableComparativeMap; } /** * 规则计算后的结果对象 * * @return */ public List<TargetDB> getCalculationResult() { return calculationResult; } /** * 产生这个匹配结果时,对应的库参数是什么,不会出现Null值 * * @return */ public Map<String, Comparative> getDatabaseComparativeMap() { return databaseComparativeMap; } /** * 产生这个匹配结果时,对应的表参数是什么,不会出现Null值 * * @return */ public Map<String, Comparative> getTableComparativeMap() { return tableComparativeMap; } @Override public String toString() { return ToStringBuilder.reflectionToString(this, TddlToStringStyle.DEFAULT_STYLE); } }