view gnv-artifacts/src/main/java/de/intevation/gnv/utils/StringUtils.java @ 1129:ccfa07b88476

merged geo-backend
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:14:01 +0200
parents f953c9a559d8
children
line wrap: on
line source
/*
 * Copyright (c) 2010 by Intevation GmbH
 *
 * This program is free software under the LGPL (>=v2.1)
 * Read the file LGPL.txt coming with the software for details
 * or visit http://www.gnu.org/licenses/ if it does not exist.
 */

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