test_class.declarator: logger = LoggerFactory.getLogger(FileUtilTest.class)
test_class.modifier: private static final
test_class.original_string: private static final Logger logger = LoggerFactory.getLogger(FileUtilTest.class);
test_class.type: Logger
test_class.var_name: logger
test_class.declarator: TEST_FILE = "CHANGELOG.md"
test_class.modifier: private static final
test_class.original_string: private static final String TEST_FILE = "CHANGELOG.md";
test_class.type: String
test_class.var_name: TEST_FILE
test_class.file: ch-commons-util/src/test/java/com/cloudhopper/commons/util/FileUtilTest.java
test_class.identifier: FileUtilTest
test_case.body: @Test
      public void isValidFileExtension() throws Exception {
          Assert.assertEquals(true, FileUtil.isValidFileExtension("log"));
          Assert.assertEquals(true, FileUtil.isValidFileExtension("log2"));
          Assert.assertEquals(true, FileUtil.isValidFileExtension("log_bak"));
          Assert.assertEquals(false, FileUtil.isValidFileExtension(".log"));
          Assert.assertEquals(false, FileUtil.isValidFileExtension("$log"));
          Assert.assertEquals(false, FileUtil.isValidFileExtension(" log"));
      }
test_case.class_method_signature: FileUtilTest.isValidFileExtension()
test_case.full_signature: @Test public void isValidFileExtension()
test_case.identifier: isValidFileExtension
test_case.invocations: assertEquals isValidFileExtension assertEquals isValidFileExtension assertEquals isValidFileExtension assertEquals isValidFileExtension assertEquals isValidFileExtension assertEquals isValidFileExtension
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void isValidFileExtension()
focal_class.file: ch-commons-util/src/main/java/com/cloudhopper/commons/util/FileUtil.java
focal_class.identifier: FileUtil
focal_class.class_method_signature: FileUtil.FileUtil()
focal_class.full_signature: private  FileUtil()
focal_class.identifier: FileUtil
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  FileUtil()
focal_class.class_method_signature: FileUtil.equals(InputStream is1, InputStream is2)
focal_class.full_signature: private static boolean equals(InputStream is1, InputStream is2)
focal_class.identifier: equals
focal_class.modifiers: private static
focal_class.parameters: (InputStream is1, InputStream is2)
focal_class.return: boolean
focal_class.signature: boolean equals(InputStream is1, InputStream is2)
focal_class.class_method_signature: FileUtil.equals(File file1, File file2)
focal_class.full_signature: public static boolean equals(File file1, File file2)
focal_class.identifier: equals
focal_class.modifiers: public static
focal_class.parameters: (File file1, File file2)
focal_class.return: boolean
focal_class.signature: boolean equals(File file1, File file2)
focal_class.class_method_signature: FileUtil.isValidFileExtension(String extension)
focal_class.full_signature: public static boolean isValidFileExtension(String extension)
focal_class.identifier: isValidFileExtension
focal_class.modifiers: public static
focal_class.parameters: (String extension)
focal_class.return: boolean
focal_class.signature: boolean isValidFileExtension(String extension)
focal_class.class_method_signature: FileUtil.parseFileExtension(String filename)
focal_class.full_signature: public static String parseFileExtension(String filename)
focal_class.identifier: parseFileExtension
focal_class.modifiers: public static
focal_class.parameters: (String filename)
focal_class.return: String
focal_class.signature: String parseFileExtension(String filename)
focal_class.class_method_signature: FileUtil.findFiles(File dir, FileFilter filter)
focal_class.full_signature: public static File[] findFiles(File dir, FileFilter filter)
focal_class.identifier: findFiles
focal_class.modifiers: public static
focal_class.parameters: (File dir, FileFilter filter)
focal_class.return: File[]
focal_class.signature: File[] findFiles(File dir, FileFilter filter)
focal_class.class_method_signature: FileUtil.copy(File sourceFile, File targetFile)
focal_class.full_signature: public static void copy(File sourceFile, File targetFile)
focal_class.identifier: copy
focal_class.modifiers: public static
focal_class.parameters: (File sourceFile, File targetFile)
focal_class.return: void
focal_class.signature: void copy(File sourceFile, File targetFile)
focal_class.class_method_signature: FileUtil.copy(File sourceFile, File targetFile, boolean overwrite)
focal_class.full_signature: public static boolean copy(File sourceFile, File targetFile, boolean overwrite)
focal_class.identifier: copy
focal_class.modifiers: public static
focal_class.parameters: (File sourceFile, File targetFile, boolean overwrite)
focal_class.return: boolean
focal_class.signature: boolean copy(File sourceFile, File targetFile, boolean overwrite)
focal_method.body: public static boolean isValidFileExtension(String extension) {
          for (int i = 0; i < extension.length(); i++) {
              char c = extension.charAt(i);
              if (!(Character.isDigit(c) || Character.isLetter(c) || c == '_')) {
                  return false;
              }
          }
          return true;
      }
focal_method.class_method_signature: FileUtil.isValidFileExtension(String extension)
focal_method.full_signature: public static boolean isValidFileExtension(String extension)
focal_method.identifier: isValidFileExtension
focal_method.invocations: length charAt isDigit isLetter
focal_method.modifiers: public static
focal_method.parameters: (String extension)
focal_method.return: boolean
focal_method.signature: boolean isValidFileExtension(String extension)