Class TokenFilter

All Implemented Interfaces:
Closeable, AutoCloseable, 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:
  • Constructor Details

    • TokenFilter

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

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

    • read

      public int read() throws 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 FilterReader
      Returns:
      the next character in the resulting stream, or -1 if the end of the resulting stream has been reached
      Throws:
      IOException - if the underlying stream throws an IOException during reading
    • chain

      public final Reader chain(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(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 String resolveBackSlash(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(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