private void doUnixPerms()

in src/main/java/org/apache/commons/net/ftp/parser/MLSxEntryParser.java [144:183]


    private void doUnixPerms(final FTPFile file, final String valueLowerCase) {
        for (final char c : valueLowerCase.toCharArray()) {
            // TODO these are mostly just guesses at present
            switch (c) {
            case 'a': // (file) may APPEnd
                file.setPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION, true);
                break;
            case 'c': // (dir) files may be created in the dir
                file.setPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION, true);
                break;
            case 'd': // deletable
                file.setPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION, true);
                break;
            case 'e': // (dir) can change to this dir
                file.setPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION, true);
                break;
            case 'f': // (file) renamable
                // ?? file.setPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION, true);
                break;
            case 'l': // (dir) can be listed
                file.setPermission(FTPFile.USER_ACCESS, FTPFile.EXECUTE_PERMISSION, true);
                break;
            case 'm': // (dir) can create directory here
                file.setPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION, true);
                break;
            case 'p': // (dir) entries may be deleted
                file.setPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION, true);
                break;
            case 'r': // (files) file may be RETRieved
                file.setPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION, true);
                break;
            case 'w': // (files) file may be STORed
                file.setPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION, true);
                break;
            default:
                break;
            // ignore unexpected flag for now.
            } // switch
        } // each char
    }