import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
+import java.nio.ByteBuffer;
+import java.nio.channels.Channels;
+import java.nio.channels.ReadableByteChannel;
import java.nio.charset.StandardCharsets;
import java.util.ArrayDeque;
import java.util.ArrayList;
private boolean hasRootPostLink;
private boolean hasAddedDataStore;
private Reader reader;
+ private ReadableByteChannel channel;
public PathsStream(final EffectiveModelContext schemaContext, final OpenApiBodyWriter writer,
final String deviceName, final String urlPrefix, final boolean isForSingleModule,
@Override
public int read(final byte[] array, final int off, final int len) throws IOException {
- return super.read(array, off, len);
+ if (channel == null) {
+ channel = Channels.newChannel(new ByteArrayInputStream(writeNextEntity(new PathsEntity(toPaths()))));
+ }
+ return channel.read(ByteBuffer.wrap(array, off, len));
}
private byte[] writeNextEntity(final OpenApiEntity next) throws IOException {