/** * Alipay.com Inc. * Copyright (c) 2004-2012 All Rights Reserved. */ package com.alipay.zdal.client.util.condition; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; /** * * @author ���� * @version $Id: DBSelectorIDRouteCondition.java, v 0.1 2014-1-6 ����05:16:07 Exp $ */ public class DBSelectorIDRouteCondition implements DBSelectorRouteCondition { final String dbSelectorID; final List<String> tableList = new ArrayList<String>(); final String logicTableName; volatile boolean used; /** * �߼�������Ŀ�������ȫһ�µļ򻯷��� * * @param logicTableName * @param dbSelectorID */ public DBSelectorIDRouteCondition(String logicTableName, String dbSelectorID) { this(logicTableName, dbSelectorID, logicTableName); } /** * ����һ��ֱ��ͨ���߼����������ݿ�ִ��id��ʵ�ʱ�����ִ��SQL��RouteCondition * * @param logicTableName * @param dbSelectorID * @param tables */ public DBSelectorIDRouteCondition(String logicTableName, String dbSelectorID, String... tables) { this.dbSelectorID = dbSelectorID; this.logicTableName = logicTableName; List<String> list = Arrays.asList(tables); tableList.addAll(list); } public String getDBSelectorID() { //ò��û�еط�set used = true; if (!used) { return dbSelectorID; } else { throw new IllegalArgumentException("һ��route����ֻ�ܱ�ʹ��һ�Σ������½���" + "route����"); } } public void addTable(String table) { tableList.add(table); } public void addAllTable(Collection<String> tables) { tableList.addAll(tables); } public void addAllTable(String[] tables) { tableList.addAll(Arrays.asList(tables)); } public List<String> getTableList() { return tableList; } public String getVirtualTableName() { return logicTableName; } }