public final class LineContains extends BaseParamFilterReader implements ChainableReader
<linecontains> <contains value="foo"> <contains value="bar"> </linecontains>Or:
<filterreader classname="org.apache.tools.ant.filters.LineContains"> <param type="contains" value="foo"/> <param type="contains" value="bar"/> </filterreader>This will include only those lines that contain
foo
and
bar
.
Starting Ant 1.10.4, the matchAny
attribute can be used to control whether any one
of the user-specified strings is expected to be contained in the line or all
of them are expected to be contained.
For example:
<linecontains matchAny="true"> * <contains value="foo"> * <contains value="bar"> * </linecontains>This will include only those lines that contain either
foo
or bar
.Modifier and Type | Class and Description |
---|---|
static class |
LineContains.Contains
Holds a contains element
|
Constructor and Description |
---|
LineContains()
Constructor for "dummy" instances.
|
LineContains(java.io.Reader in)
Creates a new filtered reader.
|
Modifier and Type | Method and Description |
---|---|
void |
addConfiguredContains(LineContains.Contains contains)
Adds a
contains element. |
java.io.Reader |
chain(java.io.Reader rdr)
Creates a new LineContains using the passed in
Reader for instantiation.
|
boolean |
isMatchAny() |
boolean |
isNegated()
Find out whether we have been negated.
|
int |
read()
Returns the next character in the filtered stream, only including
lines from the original stream which contain all of the specified words.
|
void |
setMatchAny(boolean matchAny) |
void |
setNegate(boolean b)
Set the negation mode.
|
getParameters, setParameters
getInitialized, getProject, read, readFully, readLine, setInitialized, setProject, skip
public LineContains()
BaseFilterReader.BaseFilterReader()
public LineContains(java.io.Reader in)
in
- A Reader object providing the underlying stream.
Must not be null
.public int read() throws java.io.IOException
read
in class java.io.FilterReader
java.io.IOException
- if the underlying stream throws an IOException
during readingpublic void addConfiguredContains(LineContains.Contains contains)
contains
element.contains
- The contains
element to add.
Must not be null
.public void setNegate(boolean b)
b
- the boolean negation mode to set.public boolean isNegated()
public void setMatchAny(boolean matchAny)
matchAny
- True if this LineContains
is considered a match,
if any
of the contains
value match. False
if all
of the contains
value are expected
to matchpublic boolean isMatchAny()
LineContains
is considered a match,
if any
of the contains
value match. False
if all
of the contains
value are expected
to matchpublic java.io.Reader chain(java.io.Reader rdr)
chain
in interface ChainableReader
rdr
- A Reader object providing the underlying stream.
Must not be null
.