public static boolean isValidPackageName()

in src/main/java/org/apache/bsf/util/StringUtils.java [277:315]


    public static boolean isValidPackageName(final String packageName) {
        if (packageName == null) {
            return false;
        } else if (packageName.length() == 0) {
            // Empty is ok.
            return true;
        }

        final StringTokenizer strTok = new StringTokenizer(packageName, ".", true);

        // Should have an odd number of tokens (including '.' delimiters).
        if (strTok.countTokens() % 2 != 1) {
            return false;
        }

        // Must start with a valid identifier name.
        if (!isValidIdentifierName(strTok.nextToken())) {
            return false;
        }

        // ... followed by 0 or more of ".ValidIdentifier".
        while (strTok.hasMoreTokens()) {
            // Must be a '.'.
            if (!strTok.nextToken().equals(".")) {
                return false;
            }

            // Must be a valid identifier name.
            if (strTok.hasMoreTokens()) {
                if (!isValidIdentifierName(strTok.nextToken())) {
                    return false;
                }
            } else {
                return false;
            }
        }

        return true;
    }