package org.bundlemaker.core.jtype; import org.eclipse.core.runtime.Assert; public class JavaUtils { // /** // * <p> // * Returns <code>true</code>, if the package is a valid java package. // * </p> // * // * @return <code>true</code>, if the package is a valid java package. // */ // // TODO: move to Helper class // boolean isValidJavaPackage(); // // /** // * <p> // * Returns the package name, e.g. 'org.example'. // * </p> // * // * @return the package name. // */ // // TODO: move to Helper class // String getPackageName(); /** * {@inheritDoc} */ public static boolean isValidJavaPackage(String path) { Assert.isNotNull(path); // String[] elements = path.split("/"); // for (int i = 0; i < elements.length - 1; i++) { String element = elements[i]; if (!isValidJavaIdentifier(element)) { return false; } } // return true; } /** * {@inheritDoc} */ public static String getPackageNameFromDirectory(String directory) { return directory.replace('/', '.'); } /** * <p> * </p> * * @param s * @return */ public final static boolean isValidJavaIdentifier(String s) { // an empty or null string cannot be a valid identifier if (s == null || s.length() == 0) { return false; } char[] c = s.toCharArray(); if (!Character.isJavaIdentifierStart(c[0])) { return false; } for (int i = 1; i < c.length; i++) { if (!Character.isJavaIdentifierPart(c[i])) { return false; } } return true; } }