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.
    • Method Summary

      Modifier and Type Method 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.
      • Methods inherited from class java.io.FilterReader

        close, mark, markSupported, ready, reset
      • Methods inherited from class java.io.Reader

        nullReader, read, read, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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