test_class.file: volleyer/src/test/java/com/navercorp/volleyextensions/volleyer/util/StringUtilsTest.java
test_class.identifier: StringUtilsTest
test_case.body: @Test
  	public void utilShouldReturnStringWhenLengthIsValid() {
  		// Given
  		int length = 30;
  		// When
  		String str = StringUtils.generateRandom(length);
  		// Then
  		assertNotNull(str);
  	}
test_case.class_method_signature: StringUtilsTest.utilShouldReturnStringWhenLengthIsValid()
test_case.full_signature: @Test public void utilShouldReturnStringWhenLengthIsValid()
test_case.identifier: utilShouldReturnStringWhenLengthIsValid
test_case.invocations: generateRandom assertNotNull
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void utilShouldReturnStringWhenLengthIsValid()
focal_class.declarator: chars
focal_class.modifier: private static
focal_class.original_string: private static char[] chars;
focal_class.type: char[]
focal_class.var_name: chars
focal_class.file: volleyer/src/main/java/com/navercorp/volleyextensions/volleyer/util/StringUtils.java
focal_class.identifier: StringUtils
focal_class.class_method_signature: StringUtils.initDefaultChars()
focal_class.full_signature: private static void initDefaultChars()
focal_class.identifier: initDefaultChars
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void initDefaultChars()
focal_class.class_method_signature: StringUtils.generateRandom(int length)
focal_class.full_signature: public static String generateRandom(int length)
focal_class.identifier: generateRandom
focal_class.modifiers: public static
focal_class.parameters: (int length)
focal_class.return: String
focal_class.signature: String generateRandom(int length)
focal_class.class_method_signature: StringUtils.isEmpty(String str)
focal_class.full_signature: public static boolean isEmpty(String str)
focal_class.identifier: isEmpty
focal_class.modifiers: public static
focal_class.parameters: (String str)
focal_class.return: boolean
focal_class.signature: boolean isEmpty(String str)
focal_method.body: public static String generateRandom(int length) {
  		String generatedStr = null;
  		// Return null if length is invalid
  		if (length < 0) {
  			return generatedStr;
  		}
  
  		// Return empty string if length is zero
  		if (length == 0) {
  			return "";
  		}
  
  		char[] generatedChar = new char[length];
  		int charsLength = chars.length;
  
  		Random random = new SecureRandom();
  		for(int i = 0; i < length; ++i) {
  			int index = random.nextInt(charsLength);
  			generatedChar[i] = (char) chars[index];
  		}
  
  		generatedStr = String.valueOf(generatedChar);
  		return generatedStr;
  	}
focal_method.class_method_signature: StringUtils.generateRandom(int length)
focal_method.full_signature: public static String generateRandom(int length)
focal_method.identifier: generateRandom
focal_method.invocations: nextInt valueOf
focal_method.modifiers: public static
focal_method.parameters: (int length)
focal_method.return: String
focal_method.signature: String generateRandom(int length)