Class ReplaceTokens

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

    public final class ReplaceTokens
    extends BaseParamFilterReader
    implements ChainableReader
    Replaces tokens in the original input with user-supplied values. Example:
    <replacetokens begintoken="#" endtoken="#">
       <token key="DATE" value="${TODAY}"/>
     </replacetokens>
    Or:
    <filterreader classname="org.apache.tools.ant.filters.ReplaceTokens">
       <param type="tokenchar" name="begintoken" value="#"/>
       <param type="tokenchar" name="endtoken" value="#"/>
       <param type="token" name="DATE" value="${TODAY}"/>
     </filterreader>
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ReplaceTokens.Token
      Holds a token
    • Field Summary

      • Fields inherited from class java.io.FilterReader

        in
      • Fields inherited from class java.io.Reader

        lock
    • Constructor Summary

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

      • ReplaceTokens

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

        public ReplaceTokens​(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, replacing tokens from the original stream.
        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
      • setBeginToken

        public void setBeginToken​(java.lang.String beginToken)
        Sets the "begin token" character.
        Parameters:
        beginToken - the character used to denote the beginning of a token
      • setEndToken

        public void setEndToken​(java.lang.String endToken)
        Sets the "end token" character.
        Parameters:
        endToken - the character used to denote the end of a token
      • setPropertiesResource

        public void setPropertiesResource​(Resource r)
        A resource containing properties, each of which is interpreted as a token/value pair.
        Parameters:
        r - Resource
        Since:
        Ant 1.8.0
      • addConfiguredToken

        public void addConfiguredToken​(ReplaceTokens.Token token)
        Adds a token element to the map of tokens to replace.
        Parameters:
        token - The token to add to the map of replacements. Must not be null.
      • chain

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