public static boolean isJavaLikeButNotGroovyLikeExtension(String fileName) { if (JAVA_LIKE_BUT_NOT_GROOVY_LIKE_EXTENSIONS == null) { initJavaLikeButNotGroovyLikeExtensions(); } int fileNameLength = fileName.length(); extensions: for (int i = 0, length = JAVA_LIKE_BUT_NOT_GROOVY_LIKE_EXTENSIONS.length; i < length; i++) { char[] extension = JAVA_LIKE_BUT_NOT_GROOVY_LIKE_EXTENSIONS[i]; int extensionLength = extension.length; int extensionStart = fileNameLength - extensionLength; int dotIndex = extensionStart - 1; if (dotIndex < 0) continue; if (fileName.charAt(dotIndex) != '.') continue; for (int j = 0; j < extensionLength; j++) { if (fileName.charAt(extensionStart + j) != extension[j]) continue extensions; } return true; } return false; }
public static char[][] getJavaButNotGroovyLikeExtensions() { if (JAVA_LIKE_BUT_NOT_GROOVY_LIKE_EXTENSIONS == null) { initJavaLikeButNotGroovyLikeExtensions(); } return JAVA_LIKE_BUT_NOT_GROOVY_LIKE_EXTENSIONS; }