public static String mapToStr(Map<? extends Object,? extends Object> map){
  if (map == null)   return null;
  StringBuilder buf=new StringBuilder();
  boolean first=true;
  for (  Map.Entry<? extends Object,? extends Object> entry : map.entrySet()) {
    Object key=entry.getKey();
    Object value=entry.getValue();
    if (!(key instanceof String) || !(value instanceof String))     continue;
    String encodedName=null;
    try {
      encodedName=URLEncoder.encode((String)key,"UTF-8");
    }
 catch (    UnsupportedEncodingException e) {
      Debug.logError(e,module);
    }
    String encodedValue=null;
    try {
      encodedValue=URLEncoder.encode((String)value,"UTF-8");
    }
 catch (    UnsupportedEncodingException e) {
      Debug.logError(e,module);
    }
    if (first)     first=false;
 else     buf.append("|");
    buf.append(encodedName);
    buf.append("=");
    buf.append(encodedValue);
  }
  return buf.toString();
}

public static String mapToStr ( Map < ? extends Object , ? extends Object > map ) { if ( map == null ) return null ; StringBuilder buf = new StringBuilder ( ) ; boolean first = true ; for ( Map . Entry < ? extends Object , ? extends Object > entry : map . entrySet ( ) ) { Object key = entry . getKey ( ) ; Object value = entry . getValue ( ) ; if ( ! ( key instanceof String ) || ! ( value instanceof String ) ) continue ; String encodedName = null ; try { encodedName = URLEncoder . encode ( ( String ) key , "UTF-8" ) ; } catch ( UnsupportedEncodingException e ) { Debug . logError ( e , module ) ; } String encodedValue = null ; try { encodedValue = URLEncoder . encode ( ( String ) value , "UTF-8" ) ; } catch ( UnsupportedEncodingException e ) { Debug . logError ( e , module ) ; } if ( first ) first = false ; else buf . append ( "|" ) ; buf . append ( encodedName ) ; buf . append ( "=" ) ; buf . append ( encodedValue ) ; } return buf . toString ( ) ; }
creates an encoded string from a map of name / value pairs ( must be strings ! )
