public boolean isExecutable()

in src/main/java/org/apache/bsf/util/ObjInfo.java [34:61]


    public boolean isExecutable() {
        final char[] chars = objName.toCharArray();
        char openingChar = ' ';
        boolean inString = false, inEscapeSequence = false;

        for (int i = 0; i < chars.length; i++) {
            if (inEscapeSequence) {
                inEscapeSequence = false;
            } else if (QUOTE_CHARS.indexOf(chars[i]) != -1) {
                if (!inString) {
                    openingChar = chars[i];
                    inString = true;
                } else {
                    if (chars[i] == openingChar) {
                        inString = false;
                    }
                }
            } else if (EXEC_CHARS.indexOf(chars[i]) != -1) {
                if (!inString) {
                    return true;
                }
            } else if (inString && chars[i] == '\\') {
                inEscapeSequence = true;
            }
        }

        return false;
    }