Package org.jboss.classfilewriter.util
Class ByteArrayDataOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.io.DataOutputStream
-
- org.jboss.classfilewriter.util.ByteArrayDataOutputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.DataOutput
,java.io.Flushable
,java.lang.AutoCloseable
public class ByteArrayDataOutputStream extends java.io.DataOutputStream
DataOutputStream sub class that allows for the lazy writing of length values. These length values are inserted into the bytes when then final bytes are read.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
ByteArrayDataOutputStream.LazySizeImpl
-
Field Summary
Fields Modifier and Type Field Description private java.io.ByteArrayOutputStream
bytes
private java.util.List<ByteArrayDataOutputStream.LazySizeImpl>
sizes
-
Constructor Summary
Constructors Constructor Description ByteArrayDataOutputStream()
ByteArrayDataOutputStream(java.io.ByteArrayOutputStream bytes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
getBytes()
private void
overwriteInt(byte[] bytecode, int offset, int value)
overwrites a 32 bit value in the already written bytecode dataLazySize
writeSize()
-
Methods inherited from class java.io.DataOutputStream
flush, size, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
-
-
-
-
Field Detail
-
bytes
private final java.io.ByteArrayOutputStream bytes
-
sizes
private final java.util.List<ByteArrayDataOutputStream.LazySizeImpl> sizes
-
-
Method Detail
-
writeSize
public LazySize writeSize() throws java.io.IOException
- Throws:
java.io.IOException
-
getBytes
public byte[] getBytes()
-
overwriteInt
private void overwriteInt(byte[] bytecode, int offset, int value)
overwrites a 32 bit value in the already written bytecode data
-
-