Java String Quote quoteIfNeeded(String input)

Here you can find the source of quoteIfNeeded(String input)

Description

quote If Needed

License

Apache License

Declaration

public static String quoteIfNeeded(String input) 

Method Source Code

//package com.java2s;
/*/*from  www  .j  a v a2 s . c om*/
 * StringUtil.java
 *
 * This file is part of SQL Workbench/J, http://www.sql-workbench.net
 *
 * Copyright 2002-2017, Thomas Kellerer
 *
 * Licensed under a modified Apache License, Version 2.0
 * that restricts the use for certain governments.
 * You may not use this file except in compliance with the License.
 * You may obtain a copy of the License at.
 *
 *     http://sql-workbench.net/manual/license.html
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * To contact the author please send an email to: support@sql-workbench.net
 *
 */

public class Main {
    public static String quoteIfNeeded(String input) {
        if (isBlank(input))
            return input;
        String quote = "\'";
        boolean needQuote = false;
        if (input.indexOf('\'') > -1) {
            quote = "\"";
            needQuote = true;
        }
        if (input.indexOf(' ') > -1) {
            needQuote = true;
        }
        if (needQuote) {
            return quote + input + quote;
        }
        return input;
    }

    /**
     * Checks if the given parameter is "empty",
     * i.e: either null, length == 0 or contains only whitespace
     */
    public static boolean isBlank(CharSequence value) {
        if (isEmptyString(value))
            return true;
        return isWhitespace(value);
    }

    public static int indexOf(CharSequence value, char c) {
        return indexOf(value, c, 1);
    }

    public static int indexOf(CharSequence value, char c, int occurance) {
        if (value == null)
            return -1;
        if (occurance <= 0)
            occurance = 1;
        int numFound = 0;

        for (int i = 0; i < value.length(); i++) {
            if (value.charAt(i) == c) {
                numFound++;
                if (numFound == occurance)
                    return i;
            }
        }
        return -1;
    }

    /**
     * Checks if the given String is null or has a zero length.
     * A String containing only whitespaces is not considered empty.
     *
     * @param value the String to test
     * @return true if the String is empty (or null)
     */
    public static boolean isEmptyString(CharSequence value) {
        if (value == null)
            return true;
        if (value.length() == 0)
            return true;
        return false;
    }

    public static boolean isWhitespace(CharSequence s) {
        if (s == null)
            return false;
        int len = s.length();
        if (len == 0)
            return false;
        int pos = 0;
        while (pos < len) {
            char c = s.charAt(pos);
            if (!Character.isWhitespace(c))
                return false;
            pos++;
        }
        return true;
    }
}

Related

  1. quoteIdentifier(String identifier, String quoteChar)
  2. quoteIdentifier(String s)
  3. quoteIdentifier(String s)
  4. quoteIfCeylonKeyword(String name)
  5. quoteIfNeeded(String id)
  6. quoteIfNeeded(String source)
  7. quoteIfNeeded(String value)
  8. quoteIfNeeded(StringBuilder buf, String str, String delim)
  9. quoteIfNotNull(String str)