⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uidfactory.java

📁 简单的web应用,实现基本的购物车功能,有良好的扩展性
💻 JAVA
字号:

package util.uid;

import java.io.PrintStream;
import java.net.InetAddress;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Random;

public abstract class UIDFactory
{

    public UIDFactory()
    {
        isMd5 = false;
    }

    public static UIDFactory getDefault()
    {
        return UUID.getInstance();
    }

    public static UIDFactory getInstance(String uidfactory)
        throws UIDNotSupportException
    {
        if(uidfactory.equalsIgnoreCase("UUID"))
            return UUID.getInstance();
        else
            throw new UIDNotSupportException(uidfactory + " Not Found!");
    }

    public abstract String getNextUID();

    public abstract String getUID();

    public boolean isMD5()
    {
        return isMd5;
    }

    public void setMD5(boolean flag)
    {
        isMd5 = flag;
    }

    public abstract void setUID(String s)
        throws Exception;

    public abstract String toPrintableString();

    protected static byte[] toMD5(byte bytes[])
    {
        return md5.digest(bytes);
    }

    private static long getMachineID()
    {
        long i = 0L;
        try
        {
            InetAddress inetaddress = InetAddress.getLocalHost();
            byte abyte0[] = inetaddress.getAddress();
            i = toInt(abyte0);
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        return i;
    }

    private static int toInt(byte abyte0[])
    {
        int i = abyte0[0] << 24 & 0xff000000 | abyte0[1] << 16 & 0xff0000 | abyte0[2] << 8 & 0xff00 | abyte0[3] & 0xff;
        return i;
    }

    public static final String UID_GUID = "GUID";
    public static final String UID_UUID = "UUID";
    protected static final long EPOCH;
    protected static final long JVMHASH = (long)Math.abs((new Object()).hashCode());
    protected static final long MACHINEID = getMachineID();
    protected static final Random m_random;
    private static MessageDigest md5;
    private boolean isMd5;

    static
    {
        EPOCH = System.currentTimeMillis();
        m_random = new Random(EPOCH);
        try
        {
            md5 = MessageDigest.getInstance("MD5");
        }
        catch(NoSuchAlgorithmException ex)
        {
            System.out.println("->" + ex);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -