public class ExampleBinaryCodec extends BinaryFeatureCodec<Feature>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
HEADER_LINE |
Constructor and Description |
---|
ExampleBinaryCodec() |
Modifier and Type | Method and Description |
---|---|
boolean |
canDecode(java.lang.String path)
This function returns true iff the File potentialInput can be parsed by this
codec.
|
static <FEATURE_TYPE extends Feature> |
convertToBinaryTest(FeatureReader<FEATURE_TYPE> reader,
java.io.OutputStream out)
Convenience method that creates an ExampleBinaryCodec file from another feature file.
|
static <FEATURE_TYPE extends Feature> |
convertToBinaryTest(java.io.File source,
java.io.File dest,
FeatureCodec<FEATURE_TYPE,LineIterator> codec)
Convenience method that creates an ExampleBinaryCodec file from another feature file.
|
Feature |
decode(PositionalBufferedStream stream)
Decode a single
Feature from the SOURCE , reading no further in the underlying source than beyond that feature. |
Feature |
decodeLoc(PositionalBufferedStream stream)
Decode a line to obtain just its FeatureLoc for indexing -- contig, start, and stop.
|
java.lang.Class<Feature> |
getFeatureType()
This function returns the object the codec generates.
|
FeatureCodecHeader |
readHeader(PositionalBufferedStream stream)
Read and return the header, or null if there is no header.
|
close, getTabixFormat, isDone, makeIndexableSourceFromStream, makeSourceFromStream
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getPathToDataFile
public static final java.lang.String HEADER_LINE
public Feature decodeLoc(PositionalBufferedStream stream) throws java.io.IOException
FeatureCodec
stream
- the input stream from which to decode the next recordjava.io.IOException
public Feature decode(PositionalBufferedStream stream) throws java.io.IOException
FeatureCodec
Feature
from the SOURCE
, reading no further in the underlying source than beyond that feature.stream
- the input stream from which to decode the next recordjava.io.IOException
public FeatureCodecHeader readHeader(PositionalBufferedStream stream) throws java.io.IOException
FeatureCodec
SOURCE
as needed to parse the header, and no
more. Otherwise, data that might otherwise be fed into parsing a Feature
may be lost.stream
- the source from which to decode the headerjava.io.IOException
public java.lang.Class<Feature> getFeatureType()
FeatureCodec
This function returns the object the codec generates. This is allowed to be Feature in the case where conditionally different types are generated. Be as specific as you can though.
This function is used by reflections based tools, so we can know the underlying type
public boolean canDecode(java.lang.String path)
FeatureCodec
This function returns true iff the File potentialInput can be parsed by this codec. Note that checking the file's extension is a perfectly acceptable implementation of this method and file contents only rarely need to be checked.
There is an assumption that there's never a situation where two different Codecs return true for the same file. If this occurs, the recommendation would be to error out.
Note this function must never throw an error. All errors should be trapped and false returned.path
- the file to test for parsability with this codecpublic static <FEATURE_TYPE extends Feature> void convertToBinaryTest(java.io.File source, java.io.File dest, FeatureCodec<FEATURE_TYPE,LineIterator> codec) throws java.io.IOException
source
- file containing the featuresdest
- the place to write the binary featurescodec
- of the source file featuresjava.io.IOException
public static <FEATURE_TYPE extends Feature> void convertToBinaryTest(FeatureReader<FEATURE_TYPE> reader, java.io.OutputStream out) throws java.io.IOException
java.io.IOException