org.biojava.bio.program.tagvalue
Class RegexSplitter

java.lang.Object
  extended by org.biojava.bio.program.tagvalue.RegexSplitter
All Implemented Interfaces:
ChangeTable.Splitter

public class RegexSplitter
extends java.lang.Object
implements ChangeTable.Splitter

A ValueChanger.Splitter that splits a line of text using a regular expression, returning one value per match.

A list of values is generated by effectively executing:

 matcher = pattern.matcher(value.toString());

 while(matcher.find()) {
   values.add(matcher.group(matchGroup);
 }
 

Since:
1.3
Author:
Matthew Pocock

Constructor Summary
RegexSplitter(java.util.regex.Pattern pattern, int matchGroup)
          Create a new RegexSplitter with a pattern.
 
Method Summary
 java.util.List split(java.lang.Object value)
           Produce a list of values from an old value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RegexSplitter

public RegexSplitter(java.util.regex.Pattern pattern,
                     int matchGroup)
Create a new RegexSplitter with a pattern.

Parameters:
pattern - the Pattern used to split values
matchGroup - the group to pull out - use 0 to pull out the whole match
Method Detail

split

public java.util.List split(java.lang.Object value)
Description copied from interface: ChangeTable.Splitter

Produce a list of values from an old value.

It is strongly recommended that this method is re-entrant and does not modify the state of the Splitter in a way that would affect future return -values.

Specified by:
split in interface ChangeTable.Splitter
Parameters:
value - the old value Object
Returns:
a List of value Objects produced by splitting the old value Object