org.biojava.bio.program.tagvalue
Class LineSplitParser

java.lang.Object
  extended by org.biojava.bio.program.tagvalue.LineSplitParser
All Implemented Interfaces:
Cloneable, TagValueParser

public class LineSplitParser
extends Object
implements TagValueParser, Cloneable

A parser that splits a line into tag/value at a given column number. The GENBANK and EMBL constants are parsers pre-configured for genbank and embl style files respectively.

There are many properties of the parser that can be set to change how lines are split, and how the tag and value is produced from that split.

Since:
1.2
Author:
Matthew Pocock, Keith James (enabled empty line EOR)

Field Summary
static LineSplitParser EMBL
          A LineSplitParser pre-configured to process EMBL-style flat files.
static LineSplitParser GENBANK
          A LineSplitParser pre-configured to process GENBANK-style flat files.
 
Fields inherited from interface org.biojava.bio.program.tagvalue.TagValueParser
EMPTY_LINE_EOR
 
Constructor Summary
LineSplitParser()
           
LineSplitParser(LineSplitParser parser)
           
 
Method Summary
 Object clone()
           
 boolean getContinueOnEmptyTag()
          See if empty tags are treated as a continuation of previous tags or as a new tag with the value of the empty string.
 String getEndOfRecord()
          Get the current string indicating that a record has ended.
 boolean getMergeSameTag()
          See if tags are being merged.
 int getSplitOffset()
          Get the current offset at which lines are split.
 boolean getTrimTag()
          See if tag trimming is enabled.
 boolean getTrimValue()
          See if value trimming is enabled.
 TagValue parse(Object o)
           
 void setContinueOnEmptyTag(boolean continueOnEmptyTag)
          Choose whether to treat empty tags as a continuation of previous tags or as a new tag with the value of the empty string.
 void setEndOfRecord(String endOfRecord)
          Set the string indicating that a record has ended.
 void setMergeSameTag(boolean mergeSameTag)
          Enable or disable treating runs of identical tags as a single tag start event with multiple values or each as a separate tag start, value, and tag end.
 void setSplitOffset(int splitOffset)
          Set the offset to split lines at.
 void setTrimTag(boolean trimTag)
          Enable or disable trimming of tags.
 void setTrimValue(boolean trimValue)
          Enable or disable trimming of values.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMBL

public static final LineSplitParser EMBL
A LineSplitParser pre-configured to process EMBL-style flat files.


GENBANK

public static final LineSplitParser GENBANK
A LineSplitParser pre-configured to process GENBANK-style flat files.

Constructor Detail

LineSplitParser

public LineSplitParser()

LineSplitParser

public LineSplitParser(LineSplitParser parser)
Method Detail

setEndOfRecord

public void setEndOfRecord(String endOfRecord)
Set the string indicating that a record has ended.

Parameters:
endOfRecord - the new String delimiting records

getEndOfRecord

public String getEndOfRecord()
Get the current string indicating that a record has ended.

Returns:
the current string delimiting records.

setSplitOffset

public void setSplitOffset(int splitOffset)
Set the offset to split lines at.

Parameters:
splitOffset - the new offset to split at

getSplitOffset

public int getSplitOffset()
Get the current offset at which lines are split.

Returns:
the offset to split at

setTrimTag

public void setTrimTag(boolean trimTag)
Enable or disable trimming of tags.

Parameters:
trimTag - true if tags should be trimmed, otherwise false

getTrimTag

public boolean getTrimTag()
See if tag trimming is enabled.

Returns:
true if tags are trimmed, otherwise false

setTrimValue

public void setTrimValue(boolean trimValue)
Enable or disable trimming of values.

Parameters:
trimValue - true if values should be trimmed, otherwise false

getTrimValue

public boolean getTrimValue()
See if value trimming is enabled.

Returns:
true if values are trimmed, otherwise false

setContinueOnEmptyTag

public void setContinueOnEmptyTag(boolean continueOnEmptyTag)
Choose whether to treat empty tags as a continuation of previous tags or as a new tag with the value of the empty string.

Parameters:
continueOnEmptyTag - true to enable empty tags to be treated as a continuation of the previous tag, false otherwise

getContinueOnEmptyTag

public boolean getContinueOnEmptyTag()
See if empty tags are treated as a continuation of previous tags or as a new tag with the value of the empty string.

Returns:
true if continuation is enabled, false otherwise

setMergeSameTag

public void setMergeSameTag(boolean mergeSameTag)
Enable or disable treating runs of identical tags as a single tag start event with multiple values or each as a separate tag start, value, and tag end.

Parameters:
mergeSameTag - true if tags should be merged, false otherwise

getMergeSameTag

public boolean getMergeSameTag()
See if tags are being merged.

Returns:
true if merging is enabled, false otherwise

parse

public TagValue parse(Object o)
Specified by:
parse in interface TagValueParser

clone

public Object clone()
             throws CloneNotSupportedException
Overrides:
clone in class Object
Throws:
CloneNotSupportedException