package io.netty.buffer;
import com.intellij.util.io.NettyKt;
import com.intellij.util.text.CharArrayCharSequence;
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
/**
* from kotlin platform\platform-impl\src\io\netty\buffer\ByteBufUtf8Writer.kt
*/
public class ByteBufUtf8Writer extends Writer {
private ByteBuf buffer;
public ByteBufUtf8Writer(ByteBuf buffer) {
this.buffer = buffer;
}
public void write(InputStream inputStream, int length) throws IOException {
buffer.writeBytes(inputStream, length);
}
public void ensureWritable(int minWritableBytes) {
buffer.ensureWritable(minWritableBytes);
}
@Override
public void write(char[] chars, int off, int len) {
NettyKt.writeUtf8(buffer, new CharArrayCharSequence(chars, off, off + len));
}
@Override
public void write(String str) {
NettyKt.writeUtf8(buffer, str);
}
@Override
public void write(String str, int off, int len) {
ByteBufUtilEx.writeUtf8(buffer, str, off, off + len);
}
@Override
public Writer append(CharSequence csq) {
if (csq == null) {
ByteBufUtil.writeAscii(buffer, "null");
}
else {
NettyKt.writeUtf8(buffer, csq);
}
return this;
}
@Override
public Writer append(CharSequence csq, int start, int end) {
ByteBufUtilEx.writeUtf8(buffer, csq, start, end);
return this;
}
@Override
public void flush() throws IOException {
}
@Override
public void close() throws IOException {
}
}