org.aspectj.weaver
Class CompressingDataOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by java.io.DataOutputStream
              extended by org.aspectj.weaver.CompressingDataOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataOutput, java.io.Flushable

public class CompressingDataOutputStream
extends java.io.DataOutputStream

A variation of a DataOutputStream that is linked to a constant pool writer. The linked constant pool can be used to compress objects into to simple index references into the constant pool. The corresponding decompression is done in the VersionedDataInputStream.


Field Summary
 boolean compressionEnabled
           
 
Fields inherited from class java.io.DataOutputStream
written
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
CompressingDataOutputStream(java.io.ByteArrayOutputStream baos, ConstantPoolWriter constantPoolWriter)
           
CompressingDataOutputStream(java.io.FileOutputStream fos)
           
 
Method Summary
 boolean canCompress()
           
 int compressFilepath(java.lang.String filepath)
           
 int compressName(java.lang.String name)
           
 int compressSignature(java.lang.String signature)
           
 void writeCompressedName(java.lang.String name)
           
 void writeCompressedPath(java.lang.String path)
           
 void writeCompressedSignature(java.lang.String signature)
           
 
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.io.DataOutput
write
 

Field Detail

compressionEnabled

public boolean compressionEnabled
Constructor Detail

CompressingDataOutputStream

public CompressingDataOutputStream(java.io.ByteArrayOutputStream baos,
                                   ConstantPoolWriter constantPoolWriter)

CompressingDataOutputStream

public CompressingDataOutputStream(java.io.FileOutputStream fos)
Method Detail

canCompress

public boolean canCompress()

compressSignature

public int compressSignature(java.lang.String signature)
Parameters:
signature - of the form 'La/b/c/d;'
Returns:
the constant pool index

compressFilepath

public int compressFilepath(java.lang.String filepath)
Parameters:
filepath - a file system path 'c:\a\b\c.txt' or '/a/b/c.txt'
Returns:
the constant pool index

compressName

public int compressName(java.lang.String name)
Parameters:
name - a simple name (for example a method or field name)
Returns:
the constant pool index

writeCompressedName

public void writeCompressedName(java.lang.String name)
                         throws java.io.IOException
Parameters:
name - a simple name (for example a method or field name)
Throws:
java.io.IOException

writeCompressedSignature

public void writeCompressedSignature(java.lang.String signature)
                              throws java.io.IOException
Parameters:
signature - of the form 'La/b/c/d;'
Throws:
java.io.IOException

writeCompressedPath

public void writeCompressedPath(java.lang.String path)
                         throws java.io.IOException
Parameters:
path - a file system path 'c:\a\b\c.txt' or '/a/b/c.txt'
Throws:
java.io.IOException