Java Map Replace replaceParameters(String str, Map parameters)

Here you can find the source of replaceParameters(String str, Map parameters)

Description

Returns a named string, replacing parameters with the values set.

License

Apache License

Parameter

Parameter Description
str the name of the String resource required.
parameters a map of parameters (name-value string pairs) which are replaced where found in the input strings

Return

the requested resource

Declaration

static public String replaceParameters(String str,
        Map<String, String> parameters) 

Method Source Code

//package com.java2s;
/****************************************************************
 * 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.                                           *
 ****************************************************************/

import java.util.Map;

public class Main {
    /**//from  www . j a  va2  s.c  om
     * Returns a named string, replacing parameters with the values set.
     * 
     * @param str
     *            the name of the String resource required.
     * @param parameters
     *            a map of parameters (name-value string pairs) which are
     *            replaced where found in the input strings
     * @return the requested resource
     */
    static public String replaceParameters(String str,
            Map<String, String> parameters) {
        if (str != null && parameters != null) {
            // Do parameter replacements for this string resource.
            StringBuffer replaceBuffer = new StringBuffer(64);
            for (Map.Entry<String, String> entry : parameters.entrySet()) {
                replaceBuffer.setLength(0);
                replaceBuffer.append("${").append(entry.getKey())
                        .append("}");
                str = substituteSubString(str, replaceBuffer.toString(),
                        entry.getValue());
            }
        }

        return str;
    }

    /**
     * Replace substrings of one string with another string and return altered
     * string.
     * 
     * @param input
     *            input string
     * @param find
     *            the string to replace
     * @param replace
     *            the string to replace with
     * @return the substituted string
     */
    static private String substituteSubString(String input, String find,
            String replace) {
        int find_length = find.length();
        int replace_length = replace.length();

        StringBuffer output = new StringBuffer(input);
        int index = input.indexOf(find);
        int outputOffset = 0;

        while (index > -1) {
            output.replace(index + outputOffset, index + outputOffset
                    + find_length, replace);
            outputOffset = outputOffset + (replace_length - find_length);

            index = input.indexOf(find, index + find_length);
        }

        String result = output.toString();
        return result;
    }
}

Related

  1. replaceNotContainedWithReplaced(String sentStr, Map mapNotContainedReplaced)
  2. replaceOpcodeNames(HashMap replacementValues, final String input)
  3. replaceParameters(final String value, final Map paramMap)
  4. replaceParameters(Map map, Map originals, Map defaults, Map hards)
  5. replaceParameters(String query, Map parameters)
  6. replaceParams(String str, Map map)
  7. replacePlaceholders(String script, Map configurations)
  8. replacePlaceholders(String string, Map values)
  9. replaceProperties(final CharSequence string, final Map properties)