@NotNull @Override public ByteStringAppender append(@NotNull MutableDecimal md) { StringBuilder sb = acquireStringBuilder(); md.toString(sb); append(sb); return this; }
@NotNull @Override public String parseUtf8(@NotNull StopCharTester tester) { StringBuilder utfReader = acquireStringBuilder(); parseUtf8(utfReader, tester); return SI.intern(utfReader); }
@NotNull @Override public String parseUtf8(@NotNull StopCharTester tester) { StringBuilder utfReader = acquireStringBuilder(); parseUtf8(utfReader, tester); return SI.intern(utfReader); }
@Nullable @Override public String readUTFΔ() { StringBuilder utfReader = acquireStringBuilder(); if (readUTFΔ(utfReader)) return utfReader.length() == 0 ? "" : SI.intern(utfReader); return null; }
@Nullable @Override public String readUTFΔ() { StringBuilder utfReader = acquireStringBuilder(); if (readUTFΔ(utfReader)) return utfReader.length() == 0 ? "" : SI.intern(utfReader); return null; }
@NotNull @Override public ByteStringAppender append(@NotNull MutableDecimal md) { StringBuilder sb = acquireStringBuilder(); md.toString(sb); append(sb); return this; }
@NotNull @Override public String readUTF() { try { int len = readUnsignedShort(); StringBuilder utfReader = acquireStringBuilder(); readUTF0(utfReader, len); return utfReader.length() == 0 ? "" : SI.intern(utfReader); } catch (IOException unexpected) { throw new AssertionError(unexpected); } }
@NotNull @Override public String readUTF() { try { int len = readUnsignedShort(); StringBuilder utfReader = acquireStringBuilder(); readUTF0(utfReader, len); return utfReader.length() == 0 ? "" : SI.intern(utfReader); } catch (IOException unexpected) { throw new AssertionError(unexpected); } }
private <E extends Enum<E>> E readEnum2(Class<E> eClass) { try { StringBuilder sb = acquireStringBuilder(); if (read8bitText(sb)) return EnumInterner.intern(eClass, sb); return null; } catch (StreamCorruptedException e) { throw new IllegalStateException(e); } }
private <E extends Enum<E>> E readEnum2(Class<E> eClass) { try { StringBuilder sb = acquireStringBuilder(); if (read8bitText(sb)) return EnumInterner.intern(eClass, sb); return null; } catch (StreamCorruptedException e) { throw new IllegalStateException(e); } }
@Override public Boolean parseBoolean(@NotNull StopCharTester tester) { StringBuilder sb = acquireStringBuilder(); parseUtf8(sb, tester); if (sb.length() == 0) return null; switch (sb.charAt(0)) { case 't': case 'T': return sb.length() == 1 || equalsCaseIgnore(sb, "true") ? true : null; case 'y': case 'Y': return sb.length() == 1 || equalsCaseIgnore(sb, "yes") ? true : null; case '0': return sb.length() == 1 ? false : null; case '1': return sb.length() == 1 ? true : null; case 'f': case 'F': return sb.length() == 1 || equalsCaseIgnore(sb, "false") ? false : null; case 'n': case 'N': return sb.length() == 1 || equalsCaseIgnore(sb, "no") ? false : null; } return null; }
@Override public Boolean parseBoolean(@NotNull StopCharTester tester) { StringBuilder sb = acquireStringBuilder(); parseUtf8(sb, tester); if (sb.length() == 0) return null; switch (sb.charAt(0)) { case 't': case 'T': return sb.length() == 1 || equalsCaseIgnore(sb, "true") ? true : null; case 'y': case 'Y': return sb.length() == 1 || equalsCaseIgnore(sb, "yes") ? true : null; case '0': return sb.length() == 1 ? false : null; case '1': return sb.length() == 1 ? true : null; case 'f': case 'F': return sb.length() == 1 || equalsCaseIgnore(sb, "false") ? false : null; case 'n': case 'N': return sb.length() == 1 || equalsCaseIgnore(sb, "no") ? false : null; } return null; }
@NotNull @Override public String readLine() { StringBuilder input = acquireStringBuilder(); EOL: while (position() < capacity()) { int c = readUnsignedByteOrThrow(); switch (c) { case END_OF_BUFFER: case '\n': break EOL; case '\r': long cur = position(); if (cur < capacity() && readByte(cur) == '\n') position(cur + 1); break EOL; default: input.append((char) c); break; } } return SI.intern(input); }
@NotNull @Override public String readLine() { StringBuilder input = acquireStringBuilder(); EOL: while (position() < capacity()) { int c = readUnsignedByteOrThrow(); switch (c) { case END_OF_BUFFER: case '\n': break EOL; case '\r': long cur = position(); if (cur < capacity() && readByte(cur) == '\n') position(cur + 1); break EOL; default: input.append((char) c); break; } } return SI.intern(input); }