com.vladium.emma.rt
Class ClassPathProcessorST

java.lang.Object
  extended bycom.vladium.emma.rt.ClassPathProcessorST
All Implemented Interfaces:
IAppErrorCodes, IPathEnumerator.IPathHandler

public final class ClassPathProcessorST
extends java.lang.Object
implements IPathEnumerator.IPathHandler, IAppErrorCodes

Author:
Vlad Roubtsov, (C) 2003

Field Summary
private static int BUF_SIZE
           
private  java.io.File m_archiveFile
           
private  ByteArrayOStream m_baos
           
private  java.util.Map m_cache
           
private  boolean m_canonical
           
private  int m_classCount
           
private  IInclExclFilter m_coverageFilter
           
private  InstrVisitor.InstrResult m_instrResult
           
private  Logger m_log
           
private  IMetaData m_mdata
           
private  java.io.File[] m_path
           
private  byte[] m_readbuf
           
private  int m_readpos
           
private  InstrVisitor m_visitor
           
 
Fields inherited from interface com.vladium.emma.IAppErrorCodes
ARGS_IO_FAILURE, CLASS_STAMP_MISMATCH, INSTR_IO_FAILURE, INVALID_COLUMN_NAME, INVALID_PARAMETER_VALUE, MAIN_CLASS_BAD_DELEGATION, MAIN_CLASS_LOAD_FAILURE, MAIN_CLASS_NOT_FOUND, MAIN_METHOD_FAILURE, MAIN_METHOD_NOT_FOUND, OUT_IO_FAILURE, OUT_MKDIR_FAILURE, REPORT_GEN_FAILURE, REPORT_IO_FAILURE, REQUIRED_PARAMETER_MISSING, SECURITY_RESTRICTION, UNEXPECTED_FAILURE
 
Constructor Summary
(package private) ClassPathProcessorST(java.io.File[] path, boolean canonical, IMetaData mdata, IInclExclFilter filter, java.util.Map cache)
           
 
Method Summary
private  void ensureReadCapacity(int capacity)
           
 void handleArchiveEnd(java.io.File parentDir, java.io.File archive)
          Called after the enumerator's zip input stream for this archive has been closed.
 void handleArchiveEntry(java.util.jar.JarInputStream in, java.util.zip.ZipEntry entry)
           
 void handleArchiveStart(java.io.File parentDir, java.io.File archive, java.util.jar.Manifest manifest)
          Called just after the enumerator's zip input stream for this archive is opened and the manifest entry is read.
 void handleDirEnd(java.io.File pathDir, java.io.File dir)
           
 void handleDirStart(java.io.File pathDir, java.io.File dir)
           
 void handleFile(java.io.File pathDir, java.io.File file)
           
private  void readFile(java.io.File file)
           
private  void readZipEntry(java.util.zip.ZipInputStream in, java.util.zip.ZipEntry entry)
           
 void run()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_path

private final java.io.File[] m_path

m_canonical

private final boolean m_canonical

m_mdata

private final IMetaData m_mdata

m_coverageFilter

private final IInclExclFilter m_coverageFilter

m_visitor

private final InstrVisitor m_visitor

m_instrResult

private final InstrVisitor.InstrResult m_instrResult

m_cache

private final java.util.Map m_cache

m_log

private final Logger m_log

m_classCount

private int m_classCount

m_readbuf

private byte[] m_readbuf

m_readpos

private int m_readpos

m_baos

private ByteArrayOStream m_baos

m_archiveFile

private java.io.File m_archiveFile

BUF_SIZE

private static final int BUF_SIZE
See Also:
Constant Field Values
Constructor Detail

ClassPathProcessorST

ClassPathProcessorST(java.io.File[] path,
                     boolean canonical,
                     IMetaData mdata,
                     IInclExclFilter filter,
                     java.util.Map cache)
Method Detail

run

public void run()

handleArchiveStart

public void handleArchiveStart(java.io.File parentDir,
                               java.io.File archive,
                               java.util.jar.Manifest manifest)
Description copied from interface: IPathEnumerator.IPathHandler
Called just after the enumerator's zip input stream for this archive is opened and the manifest entry is read.

Specified by:
handleArchiveStart in interface IPathEnumerator.IPathHandler

handleArchiveEntry

public void handleArchiveEntry(java.util.jar.JarInputStream in,
                               java.util.zip.ZipEntry entry)
Specified by:
handleArchiveEntry in interface IPathEnumerator.IPathHandler

handleArchiveEnd

public void handleArchiveEnd(java.io.File parentDir,
                             java.io.File archive)
Description copied from interface: IPathEnumerator.IPathHandler
Called after the enumerator's zip input stream for this archive has been closed.

Specified by:
handleArchiveEnd in interface IPathEnumerator.IPathHandler

handleDirStart

public void handleDirStart(java.io.File pathDir,
                           java.io.File dir)
Specified by:
handleDirStart in interface IPathEnumerator.IPathHandler

handleFile

public void handleFile(java.io.File pathDir,
                       java.io.File file)
Specified by:
handleFile in interface IPathEnumerator.IPathHandler

handleDirEnd

public void handleDirEnd(java.io.File pathDir,
                         java.io.File dir)
Specified by:
handleDirEnd in interface IPathEnumerator.IPathHandler

readFile

private void readFile(java.io.File file)
               throws java.io.IOException
Throws:
java.io.IOException

readZipEntry

private void readZipEntry(java.util.zip.ZipInputStream in,
                          java.util.zip.ZipEntry entry)
                   throws java.io.IOException
Throws:
java.io.IOException

ensureReadCapacity

private void ensureReadCapacity(int capacity)