/** * Alipay.com Inc. * Copyright (c) 2004-2012 All Rights Reserved. */ package com.alipay.zdal.client.dispatcher; import java.util.List; import java.util.Map; import com.alipay.zdal.client.controller.MatcherResult; import com.alipay.zdal.common.exception.checked.ZdalCheckedExcption; import com.alipay.zdal.common.sqljep.function.Comparative; import com.alipay.zdal.parser.sqlobjecttree.ComparativeMapChoicer; import com.alipay.zdal.rule.LogicTableRule; import com.alipay.zdal.rule.ruleengine.entities.retvalue.TargetDB; /** * ƥ������õĽ�ڣ��Ὣsql������Ľ���������Լ��������ƥ�� * */ public interface Matcher { /** * ����SqlParserResult pr + List<Object> args����Ҫ�����һ����С�Ķ���/�ӿ� * ����ҵ��ͨ��ThreadLocal��ʽ�ƹ�������ֱ��ָ�� */ MatcherResult match(ComparativeMapChoicer comparativeMapChoicer, List<Object> args, LogicTableRule rule) throws ZdalCheckedExcption; MatcherResult buildMatcherResult(Map<String, Comparative> comparativeMapDatabase, Map<String, Comparative> comparativeTable, List<TargetDB> calc); }