Package org.apache.tools.ant.filters

## Class TokenFilter

- java.lang.Object
- - java.io.Reader
  - - java.io.FilterReader
    - - org.apache.tools.ant.filters.BaseFilterReader
      - - org.apache.tools.ant.filters.TokenFilter

- All Implemented Interfaces:
    `java.io.Closeable`, `java.lang.AutoCloseable`, `java.lang.Readable`, `ChainableReader`

      public class TokenFilter
      extends BaseFilterReader
      implements ChainableReader

  This splits up input into tokens and passes the tokens to a sequence of filters.
  Since:
    Ant 1.6
  See Also:
    `BaseFilterReader`, `ChainableReader`, `DynamicConfigurator`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `TokenFilter.ChainableReaderFilter` | Abstract class that converts derived filter classes into ChainableReaderFilter's
    `static class` | `TokenFilter.ContainsRegex` | filter to filter tokens matching regular expressions.
    `static class` | `TokenFilter.ContainsString` | Simple filter to filter lines contains strings
    `static class` | `TokenFilter.DeleteCharacters` | Filter to delete characters
    `static class` | `TokenFilter.FileTokenizer` | class to read the complete input into a string
    `static interface` | `TokenFilter.Filter` | string filters implement this interface
    `static class` | `TokenFilter.IgnoreBlank` | Filter remove empty tokens
    `static class` | `TokenFilter.ReplaceRegex` | filter to replace regex.
    `static class` | `TokenFilter.ReplaceString` | Simple replace string filter.
    `static class` | `TokenFilter.StringTokenizer` | class to tokenize the input as areas separated by white space, or by a specified list of delim characters.
    `static class` | `TokenFilter.Trim` | Filter to trim white space

  - ### Field Summary

    - ### Fields inherited from class java.io.FilterReader

      `in`

    - ### Fields inherited from class java.io.Reader

      `lock`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TokenFilter()` | Constructor for "dummy" instances.
    `TokenFilter​(java.io.Reader in)` | Creates a new filtered reader.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(TokenFilter.Filter filter)` | Add an arbitrary filter
    `void` | `add​(Tokenizer tokenizer)` | add an arbitrary tokenizer
    `void` | `addContainsRegex​(TokenFilter.ContainsRegex filter)` | contains regex filter
    `void` | `addContainsString​(TokenFilter.ContainsString filter)` | contains string filter
    `void` | `addDeleteCharacters​(TokenFilter.DeleteCharacters filter)` | delete chars
    `void` | `addFileTokenizer​(TokenFilter.FileTokenizer tokenizer)` | add a file tokenizer
    `void` | `addIgnoreBlank​(TokenFilter.IgnoreBlank filter)` | ignore blank filter
    `void` | `addLineTokenizer​(LineTokenizer tokenizer)` | add a line tokenizer - this is the default.
    `void` | `addReplaceRegex​(TokenFilter.ReplaceRegex filter)` | replace regex filter
    `void` | `addReplaceString​(TokenFilter.ReplaceString filter)` | replace string filter
    `void` | `addStringTokenizer​(TokenFilter.StringTokenizer tokenizer)` | add a string tokenizer
    `void` | `addTrim​(TokenFilter.Trim filter)` | trim filter
    `java.io.Reader` | `chain​(java.io.Reader reader)` | Creates a new TokenFilter using the passed in Reader for instantiation.
    `static int` | `convertRegexOptions​(java.lang.String flags)` | convert regex option flag characters to regex options g - Regexp.REPLACE_ALL i - Regexp.MATCH_CASE_INSENSITIVE m - Regexp.MATCH_MULTILINE s - Regexp.MATCH_SINGLELINE
    `int` | `read()` | Returns the next character in the filtered stream, only including lines from the original stream which match all of the specified regular expressions.
    `static java.lang.String` | `resolveBackSlash​(java.lang.String input)` | xml does not do "c" like interpretation of strings.
    `void` | `setDelimOutput​(java.lang.String delimOutput)` | set the output delimiter.

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

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

    - ### 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

    - #### TokenFilter

          public TokenFilter()

      Constructor for "dummy" instances.
      See Also:
        `BaseFilterReader()`

    - #### TokenFilter

          public TokenFilter​(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 match all of the specified regular expressions.
      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

    - #### chain

          public final java.io.Reader chain​(java.io.Reader reader)

      Creates a new TokenFilter using the passed in Reader for instantiation.
      Specified by:
        `chain` in interface `ChainableReader`
      Parameters:
        `reader` - A Reader object providing the underlying stream.
      Returns:
        a new filter based on this configuration

    - #### setDelimOutput

          public void setDelimOutput​(java.lang.String delimOutput)

      set the output delimiter.
      Parameters:
        `delimOutput` - replaces the delim string returned by the tokenizer, if present.

    - #### addLineTokenizer

          public void addLineTokenizer​(LineTokenizer tokenizer)

      add a line tokenizer - this is the default.
      Parameters:
        `tokenizer` - the line tokenizer

    - #### addStringTokenizer

          public void addStringTokenizer​(TokenFilter.StringTokenizer tokenizer)

      add a string tokenizer
      Parameters:
        `tokenizer` - the string tokenizer

    - #### addFileTokenizer

          public void addFileTokenizer​(TokenFilter.FileTokenizer tokenizer)

      add a file tokenizer
      Parameters:
        `tokenizer` - the file tokenizer

    - #### add

          public void add​(Tokenizer tokenizer)

      add an arbitrary tokenizer
      Parameters:
        `tokenizer` - the tokenizer to all, only one allowed

    - #### addReplaceString

          public void addReplaceString​(TokenFilter.ReplaceString filter)

      replace string filter
      Parameters:
        `filter` - the replace string filter

    - #### addContainsString

          public void addContainsString​(TokenFilter.ContainsString filter)

      contains string filter
      Parameters:
        `filter` - the contains string filter

    - #### addReplaceRegex

          public void addReplaceRegex​(TokenFilter.ReplaceRegex filter)

      replace regex filter
      Parameters:
        `filter` - the replace regex filter

    - #### addContainsRegex

          public void addContainsRegex​(TokenFilter.ContainsRegex filter)

      contains regex filter
      Parameters:
        `filter` - the contains regex filter

    - #### addTrim

          public void addTrim​(TokenFilter.Trim filter)

      trim filter
      Parameters:
        `filter` - the trim filter

    - #### addIgnoreBlank

          public void addIgnoreBlank​(TokenFilter.IgnoreBlank filter)

      ignore blank filter
      Parameters:
        `filter` - the ignore blank filter

    - #### addDeleteCharacters

          public void addDeleteCharacters​(TokenFilter.DeleteCharacters filter)

      delete chars
      Parameters:
        `filter` - the delete characters filter

    - #### add

          public void add​(TokenFilter.Filter filter)

      Add an arbitrary filter
      Parameters:
        `filter` - the filter to add

    - #### resolveBackSlash

          public static java.lang.String resolveBackSlash​(java.lang.String input)

      xml does not do "c" like interpretation of strings. i.e. \n\r\t etc. this method processes \n, \r, \t, \f, \\ also subs \s with " \n\r\t\f" a trailing '\' will be ignored
      Parameters:
        `input` - raw string with possible embedded '\'s
      Returns:
        converted string

    - #### convertRegexOptions

          public static int convertRegexOptions​(java.lang.String flags)

      convert regex option flag characters to regex options
      - g - Regexp.REPLACE_ALL
      - i - Regexp.MATCH_CASE_INSENSITIVE
      - m - Regexp.MATCH_MULTILINE
      - s - Regexp.MATCH_SINGLELINE
      Parameters:
        `flags` - the string containing the flags
      Returns:
        the Regexp option bits