[Schmitzm-commits] r1607 - trunk/schmitzm-core/src/main/java/de/schmitzm/lang

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Tue Jun 14 10:21:07 CEST 2011


Author: mojays
Date: 2011-06-14 10:21:05 +0200 (Tue, 14 Jun 2011)
New Revision: 1607

Modified:
   trunk/schmitzm-core/src/main/java/de/schmitzm/lang/LangUtil.java
Log:


Modified: trunk/schmitzm-core/src/main/java/de/schmitzm/lang/LangUtil.java
===================================================================
--- trunk/schmitzm-core/src/main/java/de/schmitzm/lang/LangUtil.java	2011-06-09 18:46:43 UTC (rev 1606)
+++ trunk/schmitzm-core/src/main/java/de/schmitzm/lang/LangUtil.java	2011-06-14 08:21:05 UTC (rev 1607)
@@ -413,7 +413,21 @@
 		return stringConcatWithSep(sep, null, str);
 	}
 
-	/**
+    /**
+     * Haengt eine beliebige Anzahl von Strings hintereinander und fuegt zwischen den Strings einen Trenner ein.
+     * 
+     * @param sep
+     *            Trenner
+     * @param ignoreNulls
+     *            wenn {@code true} werden NULL-Werte ignoriert
+     * @param str
+     *            aneinanderzuhaengende Stings
+     */
+    public static String stringConcatWithSep(String sep, boolean ignoreNulls, Object... str) {
+        return stringConcatWithSep(sep, null, ignoreNulls, str);
+    }
+
+    /**
 	 * Haengt eine beliebige Anzahl von Strings hintereinander und fuegt zwischen den Strings einen Trenner ein.
 	 * Optional werden die einzelnen Strings mit einem speziellen Zeichen (z.B. Apostroph oder Anfuehrungszeichen)
 	 * maskiert.
@@ -427,19 +441,51 @@
 	 *            aneinanderzuhaengende Stings
 	 */
 	public static String stringConcatWithSep(String sep, String maskChar, Object... str) {
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0; str != null && i < str.length; i++) {
-			if (i > 0)
-				sb.append(sep);
-			if (maskChar != null)
-				sb.append(maskChar).append(str[i]).append(maskChar);
-			else
-				sb.append(str[i]);
-		}
-		return sb.toString();
+//		StringBuffer sb = new StringBuffer();
+//		for (int i = 0; str != null && i < str.length; i++) {
+//			if (i > 0)
+//				sb.append(sep);
+//			if (maskChar != null)
+//				sb.append(maskChar).append(str[i]).append(maskChar);
+//			else
+//				sb.append(str[i]);
+//		}
+//		return sb.toString();
+	  return stringConcatWithSep(sep, maskChar, false, str);
 	}
 
-	/**
+    /**
+     * Haengt eine beliebige Anzahl von Strings hintereinander und fuegt zwischen den Strings einen Trenner ein.
+     * Optional werden die einzelnen Strings mit einem speziellen Zeichen (z.B. Apostroph oder Anfuehrungszeichen)
+     * maskiert.
+     * 
+     * @param sep
+     *            Trenner
+     * @param maskChar
+     *            Zeichen, mit dem die aneinandergehaengten Strings gekapselt werden (z.B. Apostroph oder
+     *            Anfuehrungszeichen). Wenn {@code null} oder leer, werden die Strings nicht gekapselt.
+     * @param ignoreNulls
+     *            wenn {@code true} werden NULL-Werte ignoriert
+     * @param str
+     *            aneinanderzuhaengende Stings
+     */
+    public static String stringConcatWithSep(String sep, String maskChar, boolean ignoreNulls, Object... str) {
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; str != null && i < str.length; i++) {
+            if ( str[i] == null || str[i].toString().trim().equals("") )
+              continue;
+//            if (i > 0)
+            if (sb.length() > 0)
+                sb.append(sep);
+            if (maskChar != null)
+                sb.append(maskChar).append(str[i]).append(maskChar);
+            else
+                sb.append(str[i]);
+        }
+        return sb.toString();
+    }
+
+    /**
 	 * Fügt einer beliebigen Anzahl vo String ein Prefix hinzu
 	 */
 	public static String[] stringAddPrefix(String prefix, String... str) {



More information about the Schmitzm-commits mailing list