org.apache.tools.ant.filters

Class StripLineComments

Implemented Interfaces:
ChainableReader, Parameterizable

public final class StripLineComments
extends BaseParamFilterReader
implements ChainableReader

This filter strips line comments. Example:
<striplinecomments>
   <comment value="#"/>
   <comment value="--"/>
   <comment value="REM "/>
   <comment value="rem "/>
   <comment value="//"/>
 </striplinecomments>
Or:
<filterreader
      classname="org.apache.tools.ant.filters.StripLineComments">
   <param type="comment" value="#"/>
   <param type="comment" value="--"/>
   <param type="comment" value="REM "/>
   <param type="comment" value="rem "/>
   <param type="comment" value="//"/>
 </filterreader>

Nested Class Summary

static class
StripLineComments.Comment
The class that holds a comment representation.

Constructor Summary

StripLineComments()
Constructor for "dummy" instances.
StripLineComments(Reader in)
Creates a new filtered reader.

Method Summary

void
addConfiguredComment(StripLineComments.Comment comment)
Adds a comment element to the list of prefixes.
Reader
chain(Reader rdr)
Creates a new StripLineComments using the passed in Reader for instantiation.
int
read()
Returns the next character in the filtered stream, only including lines from the original stream which don't start with any of the specified comment prefixes.

Methods inherited from class org.apache.tools.ant.filters.BaseParamFilterReader

getParameters, setParameters

Methods inherited from class org.apache.tools.ant.filters.BaseFilterReader

getInitialized, getProject, read, readFully, readLine, setInitialized, setProject, skip

Constructor Details

StripLineComments

public StripLineComments()
Constructor for "dummy" instances.

StripLineComments

public StripLineComments(Reader in)
Creates a new filtered reader.
Parameters:
in - A Reader object providing the underlying stream. Must not be null.

Method Details

addConfiguredComment

public void addConfiguredComment(StripLineComments.Comment comment)
Adds a comment element to the list of prefixes.
Parameters:
comment - The comment element to add to the list of comment prefixes to strip. Must not be null.

chain

public Reader chain(Reader rdr)
Creates a new StripLineComments using the passed in Reader for instantiation.
Specified by:
chain in interface ChainableReader
Parameters:
rdr - A Reader object providing the underlying stream. Must not be null.
Returns:
a new filter based on this configuration, but filtering the specified reader

read

public int read()
            throws IOException
Returns the next character in the filtered stream, only including lines from the original stream which don't start with any of the specified comment prefixes.
Returns:
the next character in the resulting stream, or -1 if the end of the resulting stream has been reached