Class LineContains

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Readable, ChainableReader, Parameterizable

    public final class LineContains
    extends BaseParamFilterReader
    implements ChainableReader
    Filter which includes only those lines that contain the user-specified strings. Example:
    <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.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  LineContains.Contains
      Holds a contains element
    • Field Summary

      • Fields inherited from class java.io.FilterReader

        in
      • Fields inherited from class java.io.Reader

        lock
    • Constructor Summary

      Constructors 
      Constructor Description
      LineContains()
      Constructor for "dummy" instances.
      LineContains​(java.io.Reader in)
      Creates a new filtered reader.
    • Constructor Detail

      • LineContains

        public LineContains()
        Constructor for "dummy" instances.
        See Also:
        BaseFilterReader()
      • LineContains

        public LineContains​(java.io.Reader in)
        Creates a new filtered reader.
        Parameters:
        in - A Reader object providing the underlying stream. Must not be null.
    • Method Detail

      • read

        public int read()
                 throws java.io.IOException
        Returns the next character in the filtered stream, only including lines from the original stream which contain all of the specified words.
        Overrides:
        read in class java.io.FilterReader
        Returns:
        the next character in the resulting stream, or -1 if the end of the resulting stream has been reached
        Throws:
        java.io.IOException - if the underlying stream throws an IOException during reading
      • addConfiguredContains

        public void addConfiguredContains​(LineContains.Contains contains)
        Adds a contains element.
        Parameters:
        contains - The contains element to add. Must not be null.
      • setNegate

        public void setNegate​(boolean b)
        Set the negation mode. Default false (no negation).
        Parameters:
        b - the boolean negation mode to set.
      • isNegated

        public boolean isNegated()
        Find out whether we have been negated.
        Returns:
        boolean negation flag.
      • setMatchAny

        public void setMatchAny​(boolean matchAny)
        Parameters:
        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 match
        Since:
        Ant 1.10.4
      • isMatchAny

        public boolean isMatchAny()
        Returns:
        Returns 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 match
        Since:
        Ant 1.10.4
      • chain

        public java.io.Reader chain​(java.io.Reader rdr)
        Creates a new LineContains 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