StringUtil.java :  » Scripting » caas » org » kisst » cordys » caas » util » Java Open Source

Java Open Source » Scripting » caas 
caas » org » kisst » cordys » caas » util » StringUtil.java
package org.kisst.cordys.caas.util;

import java.util.Map;

public class StringUtil {

  public static String quotedName(String name) {
    if (name.indexOf(' ')>=0 || name.indexOf('.')>=0)
      return '"'+name+'"';
    else
      return name;
  }

  public static String substitute(String str, Map<String, String> vars) {
    StringBuilder result = new StringBuilder();
    int prevpos=0;
    int pos=str.indexOf("${");
    while (pos>=0) {
      int pos2=str.indexOf("}", pos);
      if (pos<0)
        throw new RuntimeException("Unbounded ${");
      String key=str.substring(pos+2,pos2);
      result.append(str.substring(prevpos,pos));
      String value=vars.get(key);
      if (value==null && key.equals("dollar"))
        value="$";
      if (value==null)
        throw new RuntimeException("Unknown variable ${"+key+"}");
      result.append(value);
      prevpos=pos2+1;
      pos=str.indexOf("${",prevpos);
    }
    result.append(str.substring(prevpos));
    return result.toString();
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.