public int translate()

in bval-jsr/src/main/java/org/apache/bval/util/Escapes.java [81:106]


        public int translate(final CharSequence input, final int index, final Writer out) {
            final int remaining = input.length() - index - 1;
            final StringBuilder builder = new StringBuilder();
            if (input.charAt(index) == '\\' && remaining > 0 && isOctalDigit(input.charAt(index + 1))) {
                final int next = index + 1;
                final int next2 = index + 2;
                final int next3 = index + 3;

                builder.append(input.charAt(next));

                if (remaining > 1 && isOctalDigit(input.charAt(next2))) {
                    builder.append(input.charAt(next2));
                    if (remaining > 2 && isZeroToThree(input.charAt(next)) && isOctalDigit(input.charAt(next3))) {
                        builder.append(input.charAt(next3));
                    }
                }

                try {
                    out.write(Integer.parseInt(builder.toString(), 8));
                } catch (IOException e) {
                    throw new IllegalStateException(e);
                }
                return 1 + builder.length();
            }
            return 0;
        }