1
0
mirror of synced 2025-12-27 23:47:57 +08:00

auto commit

This commit is contained in:
yitter
2021-03-30 01:29:03 +08:00
parent 27b527993e
commit 55a5722d95
23 changed files with 241 additions and 152 deletions

View File

@@ -2,7 +2,7 @@
* 版权属于yitter(yitter@126.com)
* 开源地址https://gitee.com/yitter/idgenerator
*/
package com.yitter.contract;
package com.github.yitter.contract;
public interface IIdGenerator {
long newLong() throws IdGeneratorException;

View File

@@ -2,7 +2,7 @@
* 版权属于yitter(yitter@126.com)
* 开源地址https://gitee.com/yitter/idgenerator
*/
package com.yitter.contract;
package com.github.yitter.contract;
public interface ISnowWorker {
long nextId() throws IdGeneratorException;

View File

@@ -2,7 +2,7 @@
* 版权属于yitter(yitter@126.com)
* 开源地址https://gitee.com/yitter/idgenerator
*/
package com.yitter.contract;
package com.github.yitter.contract;
public class IdGeneratorException extends RuntimeException {

View File

@@ -2,7 +2,7 @@
* 版权属于yitter(yitter@126.com)
* 开源地址https://gitee.com/yitter/idgenerator
*/
package com.yitter.contract;
package com.github.yitter.contract;
/**
* 雪花算法使用的参数

View File

@@ -2,7 +2,7 @@
* 版权属于yitter(yitter@126.com)
* 开源地址https://gitee.com/yitter/idgenerator
*/
package com.yitter.contract;
package com.github.yitter.contract;
/**
* Id生成时回调参数

View File

@@ -2,12 +2,12 @@
* 版权属于yitter(yitter@126.com)
* 开源地址https://gitee.com/yitter/idgenerator
*/
package com.yitter.core;
package com.github.yitter.core;
import com.yitter.contract.ISnowWorker;
import com.yitter.contract.IdGeneratorException;
import com.yitter.contract.IdGeneratorOptions;
import com.yitter.contract.OverCostActionArg;
import com.github.yitter.contract.ISnowWorker;
import com.github.yitter.contract.IdGeneratorOptions;
import com.github.yitter.contract.OverCostActionArg;
import com.github.yitter.contract.IdGeneratorException;
public class SnowWorkerM1 implements ISnowWorker {

View File

@@ -2,10 +2,10 @@
* 版权属于yitter(yitter@126.com)
* 开源地址https://gitee.com/yitter/idgenerator
*/
package com.yitter.core;
package com.github.yitter.core;
import com.yitter.contract.IdGeneratorException;
import com.yitter.contract.IdGeneratorOptions;
import com.github.yitter.contract.IdGeneratorOptions;
import com.github.yitter.contract.IdGeneratorException;
public class SnowWorkerM2 extends SnowWorkerM1 {

View File

@@ -2,14 +2,14 @@
* 版权属于yitter(yitter@126.com)
* 开源地址https://gitee.com/yitter/idgenerator
*/
package com.yitter.idgen;
package com.github.yitter.idgen;
import com.yitter.contract.ISnowWorker;
import com.yitter.contract.IdGeneratorException;
import com.yitter.contract.IdGeneratorOptions;
import com.yitter.contract.IIdGenerator;
import com.yitter.core.SnowWorkerM1;
import com.yitter.core.SnowWorkerM2;
import com.github.yitter.contract.IIdGenerator;
import com.github.yitter.contract.ISnowWorker;
import com.github.yitter.contract.IdGeneratorException;
import com.github.yitter.contract.IdGeneratorOptions;
import com.github.yitter.core.SnowWorkerM1;
import com.github.yitter.core.SnowWorkerM2;
public class DefaultIdGenerator implements IIdGenerator {

View File

@@ -1,45 +1,43 @@
/*
* 版权属于yitter(yitter@126.com)
* 开源地址https://gitee.com/yitter/idgenerator
*/
package com.yitter.idgen;
import com.yitter.contract.IdGeneratorException;
import com.yitter.contract.IdGeneratorOptions;
import com.yitter.contract.IIdGenerator;
/**
* 这是一个调用的例子默认情况下单机集成者可以直接使用 nextId()
*/
public class YitIdHelper {
private static IIdGenerator idGenInstance = null;
public static IIdGenerator getIdGenInstance() {
return idGenInstance;
}
/**
* 设置参数建议程序初始化时执行一次
*
* @param options
*/
public static void setIdGenerator(IdGeneratorOptions options) throws IdGeneratorException {
idGenInstance = new DefaultIdGenerator(options);
}
/**
* 生成新的Id
* 调用本方法前请确保调用了 SetIdGenerator 方法做初始化
*
* @return
*/
public static long nextId() throws IdGeneratorException {
if (idGenInstance == null) {
idGenInstance = new DefaultIdGenerator(new IdGeneratorOptions((short) 1));
}
return idGenInstance.newLong();
}
}
/*
* 版权属于yitter(yitter@126.com)
* 开源地址https://gitee.com/yitter/idgenerator
*/
package com.github.yitter.idgen;
import com.github.yitter.contract.IIdGenerator;
import com.github.yitter.contract.IdGeneratorException;
import com.github.yitter.contract.IdGeneratorOptions;
/**
* 这是一个调用的例子默认情况下单机集成者可以直接使用 nextId()
*/
public class YitIdHelper {
private static IIdGenerator idGenInstance = null;
public static IIdGenerator getIdGenInstance() {
return idGenInstance;
}
/**
* 设置参数建议程序初始化时执行一次
*/
public static void setIdGenerator(IdGeneratorOptions options) throws IdGeneratorException {
idGenInstance = new DefaultIdGenerator(options);
}
/**
* 生成新的Id
* 调用本方法前请确保调用了 SetIdGenerator 方法做初始化
*
* @return
*/
public static long nextId() throws IdGeneratorException {
if (idGenInstance == null) {
idGenInstance = new DefaultIdGenerator(new IdGeneratorOptions((short) 1));
}
return idGenInstance.newLong();
}
}

View File

@@ -1,6 +1,6 @@
package com.yitter.test;
package com.github.yitter.test;
import com.yitter.contract.IIdGenerator;
import com.github.yitter.contract.IIdGenerator;
import java.util.HashSet;
import java.util.Set;

View File

@@ -1,9 +1,9 @@
package com.yitter.test;
package com.github.yitter.test;
import com.yitter.contract.IdGeneratorOptions;
import com.yitter.contract.IIdGenerator;
import com.yitter.idgen.DefaultIdGenerator;
import com.yitter.idgen.YitIdHelper;
import com.github.yitter.contract.IIdGenerator;
import com.github.yitter.contract.IdGeneratorOptions;
import com.github.yitter.idgen.DefaultIdGenerator;
import com.github.yitter.idgen.YitIdHelper;
public class StartUp {