## org.biojava.bio.chromatogram
Class ChromatogramFactory

    java.lang.Object
      org.biojava.bio.chromatogram.ChromatogramFactory

    public class ChromatogramFactory

extends Object

A factory that creates `Chromatogram` objects from files or streams. In either case, the type of object to create is determined from the first four bytes of the stream (the magic number).

Since:
  1.3
Author:
  Rhett Sutphin (UI CBCB), Matthew Pocock

Field Summary
`static int` `ABI_MAGIC` The magic number for ABIF files.
`static int` `SCF_MAGIC` The magic number for SCF files.

Constructor Summary
`ChromatogramFactory()`

Method Summary
`static Chromatogram` `create(File f)` Creates a new `Chromatogram` object from the named file.
`static Chromatogram` `create(InputStream in)` Creates a new `Chromatogram` object from the supplied stream.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### SCF_MAGIC

    public static final int SCF_MAGIC

  The magic number for SCF files.

  See Also:
    Constant Field Values

### ABI_MAGIC

    public static final int ABI_MAGIC

  The magic number for ABIF files.

  See Also:
    Constant Field Values

Constructor Detail

### ChromatogramFactory

    public ChromatogramFactory()

Method Detail

### create

    public static Chromatogram create(File f)
                               throws IOException,
                                      UnsupportedChromatogramFormatException

  Creates a new `Chromatogram` object from the named file.

  Parameters:
    `f` - the file to read
  Returns:
    a new Chromatogram
  Throws:
    `IOException` - when the file can't be read or some other I/O error occurs
    `UnsupportedChromatogramFormatException` - when the file doesn't contain a chromatogram in a supported format

### create

    public static Chromatogram create(InputStream in)
                               throws IOException,
                                      UnsupportedChromatogramFormatException

  Creates a new `Chromatogram` object from the supplied stream. Note that for some chromatogram formats, this can be much more memory-intensive than reading from a file.

  Note also that if the provided stream is a `CachingInputStream`, it will be seeked back to 0 before being passed to the parser. This is because the parsers that use `CachingInputStream` assume that the "file" starts at 0.

  Parameters:
    `in` - the stream from which to read the chromatogram.
  Returns:
    a new Chromatogram
  Throws:
    `IOException` - when there's a problem with the stream
    `UnsupportedChromatogramFormatException` - when the file doesn't contain a chromatogram in a supported format