【Vesta发号器源码】IdMetaFactory

2019-05-13  本文已影响0人  DeanChangDM

Vesta发号器源码解析——IdMetaFactory

ID元数据的生产工厂

三个静态变量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);


工厂方法

根据类型返回对应的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;
    }
上一篇 下一篇

猜你喜欢

热点阅读