test_class.file: base/lang/src/test/java/leap/lang/util/ShortIDTest.java
test_class.identifier: ShortIDTest
test_class.superclass: extends ConcurrentTestCase
test_case.body: @Test
      public void testUnique() {
          int num = 20000;
  
          Set<String> set = new HashSet<>(num);
  
          int maxlen = 0;
          for(int i=0;i<num;i++) {
              String id = ShortID.randomID();
              maxlen = Math.max(maxlen, id.length());
              set.add(id);
          }
  
          assertTrue(maxlen < 17);
          assertEquals(num, set.size());
      }
test_case.class_method_signature: ShortIDTest.testUnique()
test_case.full_signature: @Test public void testUnique()
test_case.identifier: testUnique
test_case.invocations: randomID max length add assertTrue assertEquals size
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testUnique()
focal_class.declarator: INSTANCE = new ShortID.Builder().build()
focal_class.modifier: private static final
focal_class.original_string: private static final ShortID INSTANCE = new ShortID.Builder().build();
focal_class.type: ShortID
focal_class.var_name: INSTANCE
focal_class.declarator: DEFAULT_ALPHABET =
              "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"
focal_class.modifier: public static final
focal_class.original_string: public static final String DEFAULT_ALPHABET =
              "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
focal_class.type: String
focal_class.var_name: DEFAULT_ALPHABET
focal_class.declarator: DOLLARAT_ALPHABET =
              "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$@"
focal_class.modifier: public static final
focal_class.original_string: public static final String DOLLARAT_ALPHABET =
              "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$@";
focal_class.type: String
focal_class.var_name: DOLLARAT_ALPHABET
focal_class.declarator: DEFAULT_REDUCE_TIME = 1403265799803L
focal_class.modifier: private static final
focal_class.original_string: private static final long DEFAULT_REDUCE_TIME = 1403265799803L;
focal_class.type: long
focal_class.var_name: DEFAULT_REDUCE_TIME
focal_class.declarator: DEFAULT_VERSION = 6
focal_class.modifier: private static final
focal_class.original_string: private static final int DEFAULT_VERSION = 6;
focal_class.type: int
focal_class.var_name: DEFAULT_VERSION
focal_class.declarator: random
focal_class.modifier: private final
focal_class.original_string: private final Random random;
focal_class.type: Random
focal_class.var_name: random
focal_class.declarator: reduceTime
focal_class.modifier: private final
focal_class.original_string: private final long reduceTime;
focal_class.type: long
focal_class.var_name: reduceTime
focal_class.declarator: version
focal_class.modifier: private final
focal_class.original_string: private final int version;
focal_class.type: int
focal_class.var_name: version
focal_class.declarator: clusterWorkerId
focal_class.modifier: private final
focal_class.original_string: private final int clusterWorkerId;
focal_class.type: int
focal_class.var_name: clusterWorkerId
focal_class.declarator: counter
focal_class.modifier: private volatile
focal_class.original_string: private volatile int counter;
focal_class.type: int
focal_class.var_name: counter
focal_class.declarator: previousSeconds
focal_class.modifier: private volatile
focal_class.original_string: private volatile long previousSeconds;
focal_class.type: long
focal_class.var_name: previousSeconds
focal_class.declarator: shuffled
focal_class.modifier: private final
focal_class.original_string: private final char[] shuffled;
focal_class.type: char[]
focal_class.var_name: shuffled
focal_class.file: base/lang/src/main/java/leap/lang/util/ShortID.java
focal_class.identifier: ShortID
focal_class.class_method_signature: ShortID.randomID()
focal_class.full_signature: public static String randomID()
focal_class.identifier: randomID
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String randomID()
focal_class.class_method_signature: ShortID.ShortID(Random random, String alphabet, long reduceTime, int version, int clusterWorkerId)
focal_class.full_signature: private  ShortID(Random random, String alphabet, long reduceTime, int version, int clusterWorkerId)
focal_class.identifier: ShortID
focal_class.modifiers: private
focal_class.parameters: (Random random, String alphabet, long reduceTime, int version, int clusterWorkerId)
focal_class.signature:  ShortID(Random random, String alphabet, long reduceTime, int version, int clusterWorkerId)
focal_class.class_method_signature: ShortID.generate()
focal_class.full_signature: public String generate()
focal_class.identifier: generate
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String generate()
focal_class.class_method_signature: ShortID.encode(int number)
focal_class.full_signature: private String encode(int number)
focal_class.identifier: encode
focal_class.modifiers: private
focal_class.parameters: (int number)
focal_class.return: String
focal_class.signature: String encode(int number)
focal_class.class_method_signature: ShortID.randomByte()
focal_class.full_signature: private int randomByte()
focal_class.identifier: randomByte
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int randomByte()
focal_class.class_method_signature: ShortID.shuffle(String alphabet)
focal_class.full_signature: private char[] shuffle(String alphabet)
focal_class.identifier: shuffle
focal_class.modifiers: private
focal_class.parameters: (String alphabet)
focal_class.return: char[]
focal_class.signature: char[] shuffle(String alphabet)
focal_method.body: public static String randomID() {
          return INSTANCE.generate();
      }
focal_method.class_method_signature: ShortID.randomID()
focal_method.full_signature: public static String randomID()
focal_method.identifier: randomID
focal_method.invocations: generate
focal_method.modifiers: public static
focal_method.parameters: ()
focal_method.return: String
focal_method.signature: String randomID()