mapvariableinterpolator.java

来自「Wicket一个开发Java Web应用程序框架。它使得开发web应用程序变得容」· Java 代码 · 共 107 行

JAVA
107
字号
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.wicket.util.string.interpolator;import java.util.Map;import org.apache.wicket.util.string.Strings;/** * Interpolates variables into a <code>String</code> from a <code>Map</code>. *  * @author Jonathan Locke * @since 1.2.6 */public class MapVariableInterpolator extends VariableInterpolator{	/** Map of variables */	private Map variables;	/**	 * Constructor.	 * 	 * @param string	 *            a <code>String</code> to interpolate into	 * @param variables	 *            the variables to substitute	 */	public MapVariableInterpolator(final String string, final Map variables)	{		super(string);		this.variables = variables;	}	/**	 * Constructor.	 * 	 * @param string	 *            a <code>String</code> to interpolate into	 * @param variables	 *            the variables to substitute	 * @param exceptionOnNullVarValue	 *            if <code>true</code> an {@link IllegalStateException} will be thrown if	 *            {@link #getValue(String)} returns <code>null</code>, otherwise the	 *            <code>${varname}</code> string will be left in the <code>String</code> so that	 *            multiple interpolators can be chained	 */	public MapVariableInterpolator(String string, final Map variables,			boolean exceptionOnNullVarValue)	{		super(string, exceptionOnNullVarValue);		this.variables = variables;	}	/**	 * Sets the <code>Map</code> of variables.	 * 	 * @param variables	 *            the <code>Map</code> of variables	 */	public final void setVariables(final Map variables)	{		this.variables = variables;	}	/**	 * Retrieves a value for a variable name during interpolation.	 * 	 * @param variableName	 *            the variable name	 * @return the value	 */	protected final String getValue(final String variableName)	{		return Strings.toString(variables.get(variableName));	}	/**	 * Interpolates a <code>String</code> with the arguments defined in the given <code>Map</code>.	 * 	 * @param string	 *            a <code>String</code> to interpolate into	 * @param variables	 *            the variables to substitute	 * @return the interpolated <code>String</code>	 */	public static String interpolate(String string, Map variables)	{		return new MapVariableInterpolator(string, variables).toString();	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?