public String next()

in src/main/java/org/apache/commons/beanutils2/expression/DefaultResolver.java [208:240]


    public String next(final String expression) {
        if (expression == null || expression.isEmpty()) {
            return null;
        }
        boolean indexed = false;
        boolean mapped = false;
        for (int i = 0; i < expression.length(); i++) {
            final char c = expression.charAt(i);
            if (indexed) {
                if (c == INDEXED_END) {
                    return expression.substring(0, i + 1);
                }
            } else if (mapped) {
                if (c == MAPPED_END) {
                    return expression.substring(0, i + 1);
                }
            } else {
                switch (c) {
                case NESTED:
                    return expression.substring(0, i);
                case MAPPED_START:
                    mapped = true;
                    break;
                case INDEXED_START:
                    indexed = true;
                    break;
                default:
                    break;
                }
            }
        }
        return expression;
    }