Class ClassFormatOutput

  • All Implemented Interfaces:
    java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.lang.AutoCloseable

    public final class ClassFormatOutput
    extends java.io.DataOutputStream
    A wrapper around DataOutputStream to provide input functions in terms of the types defined on pages 83 of the Java Virtual Machine spec. For this types use these methods of DataOutputStream
    • float - writeFloat
    • long - writeLong
    • double - writeDouble
    • UTF/String - writeUTF
    • U1Array - write(byte[])
    • Field Summary

      • Fields inherited from class java.io.DataOutputStream

        written
      • Fields inherited from class java.io.FilterOutputStream

        out
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] getData()
      Get a reference to the data array the class data is being built in.
      (package private) static void limit​(java.lang.String name, int limit, int value)
      Throw an ClassFormatError if a limit of the Java class file format is reached.
      void putU1​(int i)  
      void putU2​(int i)  
      void putU2​(java.lang.String limit, int i)  
      void putU4​(int i)  
      void writeTo​(java.io.OutputStream outTo)  
      • Methods inherited from class java.io.DataOutputStream

        flush, size, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
      • Methods inherited from class java.io.FilterOutputStream

        close, write
      • Methods inherited from class java.io.OutputStream

        nullOutputStream
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.io.DataOutput

        write
    • Constructor Detail

      • ClassFormatOutput

        public ClassFormatOutput()
      • ClassFormatOutput

        public ClassFormatOutput​(int size)
      • ClassFormatOutput

        public ClassFormatOutput​(java.io.OutputStream stream)
    • Method Detail

      • putU1

        public void putU1​(int i)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • putU2

        public void putU2​(int i)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • putU2

        public void putU2​(java.lang.String limit,
                          int i)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • putU4

        public void putU4​(int i)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • writeTo

        public void writeTo​(java.io.OutputStream outTo)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • getData

        public byte[] getData()
        Get a reference to the data array the class data is being built in. No copy is made.
      • limit

        static void limit​(java.lang.String name,
                          int limit,
                          int value)
                   throws java.io.IOException
        Throw an ClassFormatError if a limit of the Java class file format is reached.
        Parameters:
        name - Terse limit description from JVM spec.
        limit - What the limit is.
        value - What the value for the current class is
        Throws:
        java.io.IOException - Thrown when limit is exceeded.