org.biojava.bio.program.tagvalue
Class SimpleTagValueWrapper

java.lang.Object
  extended by org.biojava.bio.program.tagvalue.SimpleTagValueWrapper
All Implemented Interfaces:
TagValueListener, TagValueWrapper
Direct Known Subclasses:
Aggregator, MultiTagger, RegexFieldFinder, TagDelegator, TagDropper, TagRenamer, ValueChanger

public abstract class SimpleTagValueWrapper
extends Object
implements TagValueWrapper

Helper class to wrap one TagValueListener inside another one.

Implementations will tend to intercept the tags or values as they stream through and modify them in some manner before forwarding them to the delegate listener. Using classes derived from SimpleTagValueWrapper, it is possible to build up complex chains of handlers that process and collate information as it streams through.

Since:
1.2
Author:
Matthew Pocock, David Huen (change of TagValueWrapper to interface)

Constructor Summary
SimpleTagValueWrapper()
           
SimpleTagValueWrapper(TagValueListener delegate)
          Build a SimpleTagValueWrapper that will forward everything to a delegate.
 
Method Summary
 void endRecord()
          The current record has ended.
 void endTag()
          End the current tag.
 TagValueListener getDelegate()
          get listener to which all calls will be delegated
 void setDelegate(TagValueListener delegate)
          set listener to which all calls will be delegated
 void startRecord()
          A new record is about to start.
 void startTag(Object tag)
          Start a new tag.
 void value(TagValueContext ctxt, Object value)
          A value has been seen.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleTagValueWrapper

public SimpleTagValueWrapper(TagValueListener delegate)
Build a SimpleTagValueWrapper that will forward everything to a delegate.

Parameters:
delegate - the SimpleTagValueWrapper to forward events to

SimpleTagValueWrapper

public SimpleTagValueWrapper()
Method Detail

getDelegate

public TagValueListener getDelegate()
Description copied from interface: TagValueWrapper
get listener to which all calls will be delegated

Specified by:
getDelegate in interface TagValueWrapper

setDelegate

public void setDelegate(TagValueListener delegate)
Description copied from interface: TagValueWrapper
set listener to which all calls will be delegated

Specified by:
setDelegate in interface TagValueWrapper

startRecord

public void startRecord()
                 throws ParserException
Description copied from interface: TagValueListener
A new record is about to start.

Specified by:
startRecord in interface TagValueListener
Throws:
ParserException - if the record can not be started

endRecord

public void endRecord()
               throws ParserException
Description copied from interface: TagValueListener
The current record has ended.

Specified by:
endRecord in interface TagValueListener
Throws:
ParserException - if the record can not be ended

startTag

public void startTag(Object tag)
              throws ParserException
Description copied from interface: TagValueListener
Start a new tag.

Specified by:
startTag in interface TagValueListener
Parameters:
tag - the Object representing the new tag
Throws:
ParserException - if the tag could not be started

endTag

public void endTag()
            throws ParserException
Description copied from interface: TagValueListener
End the current tag.

Specified by:
endTag in interface TagValueListener
Throws:
ParserException - if the tag could not be ended

value

public void value(TagValueContext ctxt,
                  Object value)
           throws ParserException
Description copied from interface: TagValueListener
A value has been seen.

Specified by:
value in interface TagValueListener
Parameters:
ctxt - a TagValueContext that could be used to push a sub-document
value - the value Object observed
Throws:
ParserException - if the value could not be processed