View Javadoc

1   /*
2    * This file is part of AceLogger.
3    * 
4    * AceLogger is free software: you can redistribute it and/or modify it under the terms of the GNU
5    * Lesser General Public License as published by the Free Software Foundation, either version 3 of
6    * the License, or (at your option) any later version.
7    * 
8    * AceLogger is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
9    * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10   * Lesser General Public License for more details.
11   * 
12   * You should have received a copy of the GNU Lesser General Public License along with AceLogger.
13   * If not, see <http://www.gnu.org/licenses/lgpl-3.0.html>.
14   */
15  package net.sourceforge.acelogger.interpolator;
16  
17  /**
18   * Abstracts interpolation of parameters in a message.
19   * 
20   * @author Zardi (https://sourceforge.net/users/daniel_zardi)
21   * @version 1.0.0
22   * @since 1.0.0
23   */
24  public interface TextInterpolator {
25  
26  	/**
27  	 * Interpolates parameters within a string, this should include formatting, padding and some
28  	 * basic conditionals. The provided features depend directly of the underlying interpolator
29  	 * used.
30  	 * 
31  	 * @param pattern
32  	 *            The string which should be interpolated.
33  	 * @param params
34  	 *            The parameters used to interpolate the message.
35  	 * @return A string containing the pattern interpolated with the supplied parameters.
36  	 * @since 1.0.0
37  	 */
38  	public String interpolate(String pattern, Object... params);
39  
40  }