com.vladium.emma.data
Class DataFactory

java.lang.Object
  extended bycom.vladium.emma.data.DataFactory

public abstract class DataFactory
extends java.lang.Object

Author:
Vlad Roubtsov, (C) 2003

Nested Class Summary
private static class DataFactory.RandomAccessFileInputStream
           
private static class DataFactory.RandomAccessFileOutputStream
           
private static class DataFactory.UCFileInputStream
           
private static class DataFactory.UCFileOutputStream
           
 
Field Summary
private static boolean DO_FSYNC
           
private static int ENTRY_HEADER_LENGTH
           
private static int FILE_HEADER_LENGTH
           
private static int IO_BUF_SIZE
           
private static int MAGIC
           
private static int NULL_ARRAY_LENGTH
           
static byte TYPE_COVERAGEDATA
           
static byte TYPE_METADATA
           
private static long UNKNOWN
           
 
Constructor Summary
private DataFactory()
           
 
Method Summary
static IMergeable[] load(java.io.File file)
           
private static java.lang.String makeAppVersion(int major, int minor, int build)
           
private static IMergeable[] mergeload(java.io.File file)
           
static ICoverageData newCoverageData()
           
static IMetaData newMetaData(CoverageOptions options)
           
static void persist(ICoverageData data, java.io.File file, boolean merge)
           
private static void persist(IMergeable data, byte type, java.io.File file)
           
static void persist(IMetaData data, java.io.File file, boolean merge)
           
static void persist(ISessionData data, java.io.File file, boolean merge)
           
static boolean[] readBooleanArray(java.io.DataInput in)
           
static ICoverageData readCoverageData(java.net.URL url)
           
private static IMergeable readEntry(java.io.RandomAccessFile raf, byte type, long entryLength)
           
static int[] readIntArray(java.io.DataInput in)
           
static IMetaData readMetaData(java.net.URL url)
           
static void writeBooleanArray(boolean[] array, java.io.DataOutput out)
           
static void writeCoverageData(ICoverageData data, java.io.OutputStream out)
           
private static void writeEntry(Logger log, java.io.RandomAccessFile raf, long marker, IMergeable data, byte type)
           
private static void writeEntryHeader(java.io.DataOutput out, byte type)
           
private static void writeFileHeader(java.io.DataOutput out)
           
static void writeIntArray(int[] array, java.io.DataOutput out)
           
static void writeMetaData(IMetaData data, java.io.OutputStream out)
           
static void writeMetaData(IMetaData data, java.net.URL url)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE_METADATA

public static final byte TYPE_METADATA
See Also:
Constant Field Values

TYPE_COVERAGEDATA

public static final byte TYPE_COVERAGEDATA
See Also:
Constant Field Values

NULL_ARRAY_LENGTH

private static final int NULL_ARRAY_LENGTH
See Also:
Constant Field Values

MAGIC

private static final int MAGIC
See Also:
Constant Field Values

UNKNOWN

private static final long UNKNOWN
See Also:
Constant Field Values

FILE_HEADER_LENGTH

private static final int FILE_HEADER_LENGTH
See Also:
Constant Field Values

ENTRY_HEADER_LENGTH

private static final int ENTRY_HEADER_LENGTH
See Also:
Constant Field Values

DO_FSYNC

private static final boolean DO_FSYNC
See Also:
Constant Field Values

IO_BUF_SIZE

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

DataFactory

private DataFactory()
Method Detail

load

public static IMergeable[] load(java.io.File file)
                         throws java.io.IOException
Throws:
java.io.IOException

persist

public static void persist(IMetaData data,
                           java.io.File file,
                           boolean merge)
                    throws java.io.IOException
Throws:
java.io.IOException

persist

public static void persist(ICoverageData data,
                           java.io.File file,
                           boolean merge)
                    throws java.io.IOException
Throws:
java.io.IOException

persist

public static void persist(ISessionData data,
                           java.io.File file,
                           boolean merge)
                    throws java.io.IOException
Throws:
java.io.IOException

newMetaData

public static IMetaData newMetaData(CoverageOptions options)

newCoverageData

public static ICoverageData newCoverageData()

readMetaData

public static IMetaData readMetaData(java.net.URL url)
                              throws java.io.IOException,
                                     java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

writeMetaData

public static void writeMetaData(IMetaData data,
                                 java.io.OutputStream out)
                          throws java.io.IOException
Throws:
java.io.IOException

writeMetaData

public static void writeMetaData(IMetaData data,
                                 java.net.URL url)
                          throws java.io.IOException
Throws:
java.io.IOException

readCoverageData

public static ICoverageData readCoverageData(java.net.URL url)
                                      throws java.io.IOException,
                                             java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

writeCoverageData

public static void writeCoverageData(ICoverageData data,
                                     java.io.OutputStream out)
                              throws java.io.IOException
Throws:
java.io.IOException

readIntArray

public static int[] readIntArray(java.io.DataInput in)
                          throws java.io.IOException
Throws:
java.io.IOException

readBooleanArray

public static boolean[] readBooleanArray(java.io.DataInput in)
                                  throws java.io.IOException
Throws:
java.io.IOException

writeIntArray

public static void writeIntArray(int[] array,
                                 java.io.DataOutput out)
                          throws java.io.IOException
Throws:
java.io.IOException

writeBooleanArray

public static void writeBooleanArray(boolean[] array,
                                     java.io.DataOutput out)
                              throws java.io.IOException
Throws:
java.io.IOException

mergeload

private static IMergeable[] mergeload(java.io.File file)
                               throws java.io.IOException
Throws:
java.io.IOException

persist

private static void persist(IMergeable data,
                            byte type,
                            java.io.File file)
                     throws java.io.IOException
Throws:
java.io.IOException

writeFileHeader

private static void writeFileHeader(java.io.DataOutput out)
                             throws java.io.IOException
Throws:
java.io.IOException

writeEntryHeader

private static void writeEntryHeader(java.io.DataOutput out,
                                     byte type)
                              throws java.io.IOException
Throws:
java.io.IOException

writeEntry

private static void writeEntry(Logger log,
                               java.io.RandomAccessFile raf,
                               long marker,
                               IMergeable data,
                               byte type)
                        throws java.io.IOException
Throws:
java.io.IOException

readEntry

private static IMergeable readEntry(java.io.RandomAccessFile raf,
                                    byte type,
                                    long entryLength)
                             throws java.io.IOException
Throws:
java.io.IOException

makeAppVersion

private static java.lang.String makeAppVersion(int major,
                                               int minor,
                                               int build)