
com.github.javaclub.cdl.client.common.ThreadLocalDataSourceIndex Maven / Gradle / Ivy
The newest version!
package com.github.javaclub.cdl.client.common;
import com.github.javaclub.cdl.client.group.DBSelector;
import com.github.javaclub.cdl.client.util.ThreadLocalMap;
public class ThreadLocalDataSourceIndex {
public static boolean existsIndex() {
return getIndexAsObject() != null;
}
public static Integer getIndexAsObject() {
Integer indexObject = null;
try {
indexObject = (Integer) ThreadLocalMap.get(ThreadLocalString.DATASOURCE_INDEX);
if (indexObject == null)
return null;
return indexObject;
} catch (Exception e) {
throw new IllegalArgumentException(msg(indexObject));
}
}
public static int getIndex() {
Integer indexObject = null;
try {
indexObject = (Integer) ThreadLocalMap.get(ThreadLocalString.DATASOURCE_INDEX);
if (indexObject == null)
return DBSelector.NOT_EXIST_USER_SPECIFIED_INDEX;
int index = indexObject.intValue();
if (index < 0)
throw new IllegalArgumentException(msg(indexObject));
return index;
} catch (Exception e) {
throw new IllegalArgumentException(msg(indexObject));
}
}
public static void clearIndex() {
ThreadLocalMap.remove(ThreadLocalString.DATASOURCE_INDEX);
}
private static String msg(Integer indexObject) {
return indexObject + " 不是一个有效的数据源索引,索引只能是大于0的数字";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy