Vesta發(fā)號器源碼解析——IdMetaFactory
ID元數(shù)據(jù)的生產(chǎn)工廠
三個靜態(tài)變量IdMeta
//最大峰值型
private static IdMeta maxPeak = new IdMeta((byte) 10, (byte) 20, (byte) 30, (byte) 2, (byte) 1, (byte) 1);
//最小粒度型
private static IdMeta minGranularity = new IdMeta((byte) 10, (byte) 10, (byte) 40, (byte) 2, (byte) 1, (byte) 1);
//短ID型
private static IdMeta shortId=new IdMeta((byte)10,(byte) 10,(byte) 30,(byte)2,(byte) 1,(byte) 1);
工廠方法
根據(jù)類型返回對應(yīng)的IdMeta
public static IdMeta getIdMeta(IdType type) {
if (IdType.SECONDS.equals(type)) {
return maxPeak;
} else if (IdType.MILLISECONDS.equals(type)) {
return minGranularity;
} else if(IdType.SHORTID.equals(type)){
return shortId;
}
return null;
}