view gnv-artifacts/src/main/java/de/intevation/gnv/utils/StringUtils.java @ 1034:50a5ce7a47b7

Implemented an odv exporter for product type 'Horizontales Schnittprofil' (issue260). gnv-artifacts/trunk@1082 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 10 May 2010 10:29:55 +0000
parents 2cea76f1112e
children f953c9a559d8
line wrap: on
line source
package de.intevation.gnv.utils;

/**
 * Helper class which supports some methods for working with strings.
 *
 * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
 */
public final class StringUtils
{
    private StringUtils() {
    }

    /**
     * Append a string to a string array.
     *
     * @param haystack String array.
     * @param straw String to append.
     * @return the new string array.
     */
    public static final String [] append(String [] haystack, String straw) {
        if (haystack == null) {
            return new String [] { straw };
        }
        String [] nhaystack = new String[haystack.length + 1];
        System.arraycopy(haystack, 0, nhaystack, 0, haystack.length);
        nhaystack[haystack.length] = straw;
        return nhaystack;
    }

    /**
     * Checks the existence of a string in a given string array.
     *
     * @param haystack String array.
     * @param needle String for being checked.
     * @return true, if the string is contained in <i>haystack</i> - else false.
     */
    public static final boolean contains(String [] haystack, String needle) {
        if (haystack == null) {
            return false;
        }

        if (needle == null) {
            for (int i = haystack.length - 1; i >= 0; --i) {
                if (haystack[i] == null) {
                    return true;
                }
            }
        }
        else {
            for (int i = haystack.length - 1; i >= 0; --i) {
                String straw = haystack[i];
                if (straw != null && straw.equals(needle)) {
                    return true;
                }
            }
        }

        return false;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org