package ru.upos;

/**
 * Идентификатор сообщения (используется в классе UposMessage)
 */
public class MessageId {

    private static final long minMsgId = 1;
    private static final long maxMsgId = 1000000;
    private long messageId;

    public MessageId(long initialId) {
        messageId = initialId % maxMsgId;
        if (messageId < minMsgId || messageId >= maxMsgId) {
            messageId = minMsgId;
        }
    }

    public long getMessageId() {
        if (messageId < minMsgId || messageId >= maxMsgId) {
            messageId = minMsgId;
        }
        return messageId;
    }

    public long getNextMesageId() {
        ++messageId;
        if (messageId < minMsgId || messageId >= maxMsgId) {
            messageId = minMsgId;
        }
        return messageId;
    }
}
