package com.farriver.bwf.common.utilities; import java.text.SimpleDateFormat; import java.util.Date; import java.util.UUID; public class SerialNumberGenerator { private static int serialNumber = 0; public synchronized static String generateSerialNumber() { return String.valueOf(++serialNumber); } private static final SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); public synchronized static String generateSerialNumberWithDate() { return formatter.format(new Date()) + String.format("%05d", ++serialNumber); } public static String generateSerialNumberWithUUID() { return UUID.randomUUID().toString(); } public synchronized static String generateSerialNumberWithOrg(String companyCode) { return companyCode + "-" + formatter.format(new Date()) + "-" + String.format("%05d", ++serialNumber) + "-" + UUID.randomUUID().toString(); } }