fr.umlv.corosol.classfile.io.impl
Class JClassFileOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by java.io.DataOutputStream
              extended by fr.umlv.corosol.classfile.io.impl.JClassFileOutputStream
All Implemented Interfaces:
JClassFileOutput, JObject, java.io.Closeable, java.io.DataOutput, java.io.Flushable

public class JClassFileOutputStream
extends java.io.DataOutputStream
implements JClassFileOutput

The default implementation of the fr.umlv.corosol.classfile.JClassFileOutput interface.

Author:
Christophe Deleray

Constructor Summary
JClassFileOutputStream(java.io.OutputStream out)
          Creates a new class file output stream.
JClassFileOutputStream(java.io.OutputStream out, JConstantPool constantPool)
          Creates a new class file output stream.
 
Method Summary
 JConstantPool getConstantPool()
          Returns the constant pool used by this classfile writer.
 void writeClassFileItem(JClassFileItem item)
          Writes the specified class file item into the classfile.
 void writeConstant(JConstant constant)
          Writes a constant pool entry in the classfile.
 void writeConstantPool(JConstantPool constantPool)
          Writes the constant pool in the classfile.
 
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.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.io.DataOutput
write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
 

Constructor Detail

JClassFileOutputStream

public JClassFileOutputStream(java.io.OutputStream out)
Creates a new class file output stream.


JClassFileOutputStream

public JClassFileOutputStream(java.io.OutputStream out,
                              JConstantPool constantPool)
Creates a new class file output stream.

Parameters:
constantPool - the constant pool
Method Detail

writeConstant

public void writeConstant(JConstant constant)
                   throws java.io.IOException
Writes a constant pool entry in the classfile.

Specified by:
writeConstant in interface JClassFileOutput
Parameters:
constant - a constant pool entry
Throws:
java.io.IOException - if an I/O error occurs when writing this constant pool entry

writeConstantPool

public void writeConstantPool(JConstantPool constantPool)
                       throws java.io.IOException
Writes the constant pool in the classfile.

Specified by:
writeConstantPool in interface JClassFileOutput
Parameters:
constantPool - the constant pool
Throws:
java.io.IOException - if an I/O error occurs when writing the constant pool

writeClassFileItem

public void writeClassFileItem(JClassFileItem item)
                        throws java.io.IOException
Writes the specified class file item into the classfile.

Specified by:
writeClassFileItem in interface JClassFileOutput
Parameters:
item - a classfile item
Throws:
java.io.IOException - if an I/O error occurs when writing

getConstantPool

public JConstantPool getConstantPool()
Returns the constant pool used by this classfile writer.

Specified by:
getConstantPool in interface JClassFileOutput
Returns:
the constant pool used by this classfile writer