seq.java

来自「中国联通短信通信协议」· Java 代码 · 共 72 行

JAVA
72
字号
package com.wireless.sms.gwif.sgip12;

/**
 * <p>Title: WVAS-PLATFORM-SMS</p>
 * <p>Description: 无线增值业务平台-----短信接口机</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: moon</p>
 * @author not attributable
 * @version 1.0
 */

//import java.util.Date;
import java.util.Calendar;
//import com.wireless.sms.gwif.smsagent.workthread.*;

public class Seq {

    public static Class seqclass = (new Seq()).getClass();
    private static long globalSeq_1;
    private static int globalSeq_2;
    private static int globalSeq_3;
    private static int Min_Seq;
    private static int Max_Seq;
    static private Seq _instance;

    public Seq(int i, int j) {
        Min_Seq = i;
        Max_Seq = j;
        globalSeq_3 = Min_Seq;
    }

    public Seq() {
        Min_Seq = 0;
        Max_Seq = 0x7fffffff;
    }

    static synchronized public Seq getInstance() {
        if (_instance == null) {
            _instance = new Seq();
        }
        return _instance;
    }


    public void setNodeId(long l) {
        globalSeq_1 = l;
    }

    public long getGlobalSeq_1() {
        return globalSeq_1;
    }

    public int getGlobalSeq_2() {
        return globalSeq_2;
    }

    public int getGlobalSeq_3() {
        return globalSeq_3;
    }

    public static synchronized void computeSequence() {
        Calendar cal = Calendar.getInstance();
        if (globalSeq_3 == Max_Seq) {
            globalSeq_3 = Min_Seq;
        } else {
            globalSeq_3++;
        }
        globalSeq_2 = (cal.get(Calendar.MONTH) + 1) * 0x5f5e100 + cal.get(Calendar.DATE) * 0xf4240 +
                      cal.get(Calendar.HOUR_OF_DAY) * 10000 + cal.get(Calendar.MINUTE) * 100 + cal.get(Calendar.SECOND);
    }
}

⌨️ 快捷键说明

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