UUID.java
package com.github.can019.global.util.generator;
import com.fasterxml.uuid.Generators;
import static com.github.can019.global.util.convertor.TypeConvertor.hexStringToByte;
public class UUID {
/**
*
* thread-safe
* @return sequential uuid based on UUID v1
*/
public static java.util.UUID generateSequentialUUIDV1(){
java.util.UUID newUuid = Generators.timeBasedGenerator().generate();
String[] uuidArr = newUuid.toString().split("-");
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(uuidArr[2]).append('-').append(uuidArr[1]).append('-').append(uuidArr[0])
.append('-').append(uuidArr[3]).append('-').append(uuidArr[4]);
return java.util.UUID.fromString(stringBuffer.toString());
}
/**
*
* thread-safe
* @return sequential uuid based on UUID v1 without hyphen
*/
public static String generateSequentialUUIDV1WithoutHyphen(){
java.util.UUID newUuid = Generators.timeBasedGenerator().generate();
String[] uuidArr = newUuid.toString().split("-");
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(uuidArr[2]).append(uuidArr[1]).append(uuidArr[0]).append(uuidArr[3]).append(uuidArr[4]);
return stringBuffer.toString();
}
public static byte[] generateSequentialUUIDV1WithoutHyphenAsByte(){
String uuidWithoutHyphen = generateSequentialUUIDV1WithoutHyphen();
return hexStringToByte(uuidWithoutHyphen);
}
}