sascha@439: package de.intevation.gnv.utils;
sascha@439: 
sascha@439: /**
sascha@439:  * @author Sascha L. Teichmann <sascha.teichmann@intevation.de>
sascha@439:  */
sascha@439: public final class StringUtils
sascha@439: {
sascha@439:     private StringUtils() {
sascha@439:     }
sascha@439: 
sascha@439:     public static final String [] append(String [] haystack, String straw) {
sascha@439:         if (haystack == null) {
sascha@439:             return new String [] { straw };
sascha@439:         }
sascha@442:         String [] nhaystack = new String[haystack.length + 1];
sascha@439:         System.arraycopy(haystack, 0, nhaystack, 0, haystack.length);
sascha@439:         nhaystack[haystack.length] = straw;
sascha@439:         return nhaystack;
sascha@439:     }
sascha@439: 
sascha@439:     public static final boolean contains(String [] haystack, String needle) {
sascha@439:         if (haystack == null) {
sascha@439:             return false;
sascha@439:         }
sascha@439: 
sascha@439:         if (needle == null) {
sascha@439:             for (int i = haystack.length - 1; i >= 0; --i) {
sascha@439:                 if (haystack[i] == null) {
sascha@439:                     return true;
sascha@439:                 }
sascha@439:             }
sascha@439:         }
sascha@439:         else {
sascha@439:             for (int i = haystack.length - 1; i >= 0; --i) {
sascha@439:                 String straw = haystack[i];
sascha@439:                 if (straw != null && straw.equals(needle)) {
sascha@439:                     return true;
sascha@439:                 }
sascha@439:             }
sascha@439:         }
sascha@439: 
sascha@439:         return false;
sascha@439:     }
sascha@439: }
sascha@439: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8: