Java AtomicInteger getNextId()

Here you can find the source of getNextId()

Description

get Next Id

License

Apache License

Declaration

private static int getNextId() 

Method Source Code

//package com.java2s;
/*/*from  w  w  w  . jav  a 2 s . co m*/
 * Copyright (c) 2016 The Jupiter Project
 *
 * Licensed under the Apache License, version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.util.concurrent.atomic.AtomicInteger;

public class Main {
    private static final int ID_BASE = 1000;
    private static final int ID_MASK = (1 << 13) - 1;
    private static final AtomicInteger id = new AtomicInteger(0);

    private static int getNextId() {
        // (1000 + 0) ~ (1000 + 8191)
        return (id.getAndIncrement() & ID_MASK) + ID_BASE;
    }
}

Related

  1. getGuid(Object clazz)
  2. getId()
  3. getInstanceCounter(String name)
  4. getLock()
  5. getNextCounter(AtomicInteger counter)
  6. getNextTempQueueName()
  7. getPortOffset()
  8. getPrefix(final String namespace, final Map namespacesPrefixesMap)
  9. getPrefixedTerm(String namespace, String localName)